Function to determine if the request should be "sampled", e.g.
Function to determine if the request should be "sampled", e.g. sent to the dark service.
the com.twitter.inject.Injector for use in determining if a given request should be forwarded or not.
Override to supply a custom ClientId, e.g., override protected def clientId(injector: Injector): ClientId = ClientId("myclient") }}}
Override to supply a custom ClientId, e.g., override protected def clientId(injector: Injector): ClientId = ClientId("myclient") }}}
The default requires a ClientId be bound to the injector, for example via a ThriftClientIdModule.
Name of the flag which captures the value for the Thrift ClientId to pass to the dark service
Name of the flag which captures the value for the Thrift ClientId to pass to the dark service
This method allows for further configuration of the ThriftMux client for parameters not exposed by this module or for overriding defaults provided herein, e.g.,
This method allows for further configuration of the ThriftMux client for parameters not exposed by this module or for overriding defaults provided herein, e.g.,
override def configureThriftMuxClient(client: ThriftMux.Client): ThriftMux.Client = { client .withProtocolFactory(myCustomProtocolFactory)) .withStatsReceiver(someOtherScopedStatsReceiver) .withMonitor(myAwesomeMonitor) .withTracer(notTheDefaultTracer) .withResponseClassifier(ThriftResponseClassifier.ThriftExceptionsAsFailures) }
the com.twitter.inject.Injector which can be used to help configure the given com.twitter.finagle.ThriftMux.Client.
the com.twitter.finagle.ThriftMux.Client to configure.
a configured ThriftMux.Client.
Name of the flag which captures the destination to which to send dark traffic.
Name of the flag which captures the destination to which to send dark traffic.
Forward the dark request after the service has processed the request instead of concurrently.
Forward the dark request after the service has processed the request instead of concurrently.
Name of dark service client for use in metrics.
Name of dark service client for use in metrics.
A TwitterModule which configures and binds a DarkTrafficFilter to the object graph, for use with Controllers constructed using the legacy method.
(Since version 12-03-2019) Use ReqRepDarkTrafficFilterModule
This is only applicable in Scala as it uses generated Scala classes and expects to configure the DarkTrafficFilter over a com.twitter.finagle.Service that is generated from Finagle via generated Scala code. Users of generated Java code should use the JavaDarkTrafficFilterModule.
,This DarkTrafficFilter module is to be used with Controllers which are constructed using the deprecated method of extending the
BaseServiceIface
of the generated Thrift service. For services that construct their Controllers by extendingController(GeneratedThriftService)
, use the ReqRepDarkTrafficFilter instead