11package com .twitter .home_mixer .functional_component .feature_hydrator
22
3- import com .twitter .config .yaml .YamlMap
43import com .twitter .finagle .tracing .Annotation .BinaryAnnotation
54import com .twitter .finagle .tracing .ForwardAnnotation
65import com .twitter .home_mixer .model .HomeFeatures ._
76import com .twitter .home_mixer .model .request .DeviceContext .RequestContext
87import com .twitter .home_mixer .model .request .HasDeviceContext
9- import com .twitter .home_mixer .param .HomeMixerInjectionNames .DDGStatsAuthors
108import com .twitter .joinkey .context .RequestJoinKeyContext
119import com .twitter .product_mixer .component_library .model .cursor .UrtOrderedCursor
1210import com .twitter .product_mixer .core .feature .Feature
@@ -24,22 +22,16 @@ import com.twitter.snowflake.id.SnowflakeId
2422import com .twitter .stitch .Stitch
2523import java .util .UUID
2624import javax .inject .Inject
27- import javax .inject .Named
2825import javax .inject .Singleton
2926
3027@ Singleton
3128class RequestQueryFeatureHydrator [
3229 Query <: PipelineQuery with HasPipelineCursor [UrtOrderedCursor ] with HasDeviceContext ] @ Inject () (
33- @ Named (DDGStatsAuthors ) ddgStatsAuthors : YamlMap )
34- extends QueryFeatureHydrator [Query ] {
30+ ) extends QueryFeatureHydrator [Query ] {
3531
3632 override val features : Set [Feature [_, _]] = Set (
3733 AccountAgeFeature ,
3834 ClientIdFeature ,
39- DDGStatsDemocratsFeature ,
40- DDGStatsRepublicansFeature ,
41- DDGStatsElonFeature ,
42- DDGStatsVitsFeature ,
4335 DeviceLanguageFeature ,
4436 GetInitialFeature ,
4537 GetMiddleFeature ,
@@ -59,10 +51,6 @@ class RequestQueryFeatureHydrator[
5951 override val identifier : FeatureHydratorIdentifier = FeatureHydratorIdentifier (" Request" )
6052
6153 private val DarkRequestAnnotation = " clnt/has_dark_request"
62- private val Democrats = " democrats"
63- private val Republicans = " republicans"
64- private val Elon = " elon"
65- private val Vits = " vits"
6654
6755 // Convert Language code to ISO 639-3 format
6856 private def getLanguageISOFormatByCode (languageCode : String ): String =
@@ -83,16 +71,6 @@ class RequestQueryFeatureHydrator[
8371 val featureMap = FeatureMapBuilder ()
8472 .add(AccountAgeFeature , query.getOptionalUserId.flatMap(SnowflakeId .timeFromIdOpt))
8573 .add(ClientIdFeature , query.clientContext.appId)
86- /**
87- * These author ID lists are used purely for metrics collection. We track how often we are
88- * serving Tweets from these authors and how often their tweets are being impressed by users.
89- * This helps us validate in our A/B experimentation platform that we do not ship changes
90- * that negatively impacts one group over others.
91- */
92- .add(DDGStatsDemocratsFeature , ddgStatsAuthors.longSeq(Democrats ).toSet)
93- .add(DDGStatsRepublicansFeature , ddgStatsAuthors.longSeq(Republicans ).toSet)
94- .add(DDGStatsVitsFeature , ddgStatsAuthors.longSeq(Vits ).toSet)
95- .add(DDGStatsElonFeature , ddgStatsAuthors.longValue(Elon ))
9674 .add(DeviceLanguageFeature , query.getLanguageCode.map(getLanguageISOFormatByCode))
9775 .add(
9876 GetInitialFeature ,
0 commit comments