Class

com.twitter.finatra.thrift.filters

StatsFilter

Related Doc: package filters

Permalink

class StatsFilter extends TypeAgnostic with Logging

Tracks "per method" statistics scoped under per_method_stats/<method> including:

Example stats for a successful request to a method named foo:

per_method_stats/foo/failures 0
per_method_stats/foo/ignored 0
per_method_stats/foo/requests 1
per_method_stats/foo/success 1
per_method_stats/foo/latency_ms 43.000000 [43.0]

Example stats, for a failed request to a method named foo:

exceptions 1
exceptions/java.lang.Exception 1
per_method_stats/foo/failures 1
per_method_stats/foo/failures/java.lang.Exception 1
per_method_stats/foo/ignored 0
per_method_stats/foo/requests 1
per_method_stats/foo/success 0
per_method_stats/foo/latency_ms 43.000000 [43.0]

Example stats, for a failed request to a method named foo with a ResponseClassifier which classifies java.lang.Exception as Ignorable:

exceptions 1
exceptions/java.lang.Exception 1
per_method_stats/foo/failures 0
per_method_stats/foo/ignored 1
per_method_stats/foo/ignored/java.lang.Exception 1
per_method_stats/foo/requests 1
per_method_stats/foo/success 0
per_method_stats/foo/latency_ms 43.000000 [43.0]

requests == success + failures + ignored The logical success rate for a method can be calculated as success / (success + failures)

Annotations
@Singleton()
Note

It is expected that this Filter is inserted ABOVE the ExceptionMappingFilter in a given filter chain, e.g., StatsFilter.andThen(ExceptionMappingFilter). For the response flow, StatsFilter would happen AFTER ExceptionMappingFilter and calculate mapped result.

Linear Supertypes
Logging, Logging, TypeAgnostic, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StatsFilter
  2. Logging
  3. Logging
  4. TypeAgnostic
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StatsFilter(statsReceiver: StatsReceiver)

    Permalink

    Secondary constructor which accepts a StatsReceiver.

    Secondary constructor which accepts a StatsReceiver. The ThriftResponseClassifier is defaulted to ThriftResponseClassifier.ThriftExceptionsAsFailures.

    statsReceiver

    the com.twitter.finagle.stats.StatsReceiver to which to record stats.

  2. new StatsFilter(statsReceiver: StatsReceiver, responseClassifier: ThriftResponseClassifier)

    Permalink

    statsReceiver

    the com.twitter.finagle.stats.StatsReceiver to which to record stats.

    responseClassifier

    a ThriftResponseClassifier used to determine when a response is successful or not.

    Annotations
    @Inject()

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[Req, Rep](factory: ServiceFactory[Req, Rep]): ServiceFactory[Req, Rep]

    Permalink
    Definition Classes
    TypeAgnostic
  5. def andThen[Req, Rep](svc: Service[Req, Rep]): Service[Req, Rep]

    Permalink
    Definition Classes
    TypeAgnostic
  6. def andThen[ReqIn, RepOut, ReqOut, RepIn](next: Filter[ReqIn, RepOut, ReqOut, RepIn]): Filter[ReqIn, RepOut, ReqOut, RepIn]

    Permalink
    Definition Classes
    TypeAgnostic
  7. def andThen(next: TypeAgnostic): TypeAgnostic

    Permalink
    Definition Classes
    TypeAgnostic
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def debug(marker: Marker, message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  11. def debug(message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  12. def debug(marker: Marker, message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  13. def debug(message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  14. def debugFutureResult[T](msg: String)(func: ⇒ Future[T]): Future[T]

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  15. def debugResult[T](message: ⇒ String)(fn: ⇒ T): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def error(marker: Marker, message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  19. def error(message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  20. def error(marker: Marker, message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  21. def error(message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  22. def errorResult[T](message: ⇒ String)(fn: ⇒ T): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  23. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  25. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  26. def info(marker: Marker, message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  27. def info(message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  28. def info(marker: Marker, message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  29. def info(message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  30. def infoResult[T](message: ⇒ String)(fn: ⇒ T): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  31. def isDebugEnabled(marker: Marker): Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  32. def isDebugEnabled: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  33. def isErrorEnabled(marker: Marker): Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  34. def isErrorEnabled: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  35. def isInfoEnabled(marker: Marker): Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  36. def isInfoEnabled: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  37. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  38. def isTraceEnabled(marker: Marker): Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  39. def isTraceEnabled: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  40. def isWarnEnabled(marker: Marker): Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  41. def isWarnEnabled: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  42. final def logger: Logger

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  43. final def loggerName: String

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  44. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  45. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  46. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  48. def time[T](formatStr: String)(func: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  49. def toFilter[T, U]: Filter[T, U, T, U]

    Permalink
    Definition Classes
    StatsFilter → TypeAgnostic
  50. def toString(): String

    Permalink
    Definition Classes
    TypeAgnostic → AnyRef → Any
  51. def trace(marker: Marker, message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  52. def trace(message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  53. def trace(marker: Marker, message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  54. def trace(message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  55. def traceResult[T](message: ⇒ String)(fn: ⇒ T): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  56. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. def warn(marker: Marker, message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  60. def warn(message: ⇒ Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  61. def warn(marker: Marker, message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  62. def warn(message: ⇒ Any): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging
  63. def warnResult[T](message: ⇒ String)(fn: ⇒ T): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Logging

Inherited from Logging

Inherited from Logging

Inherited from TypeAgnostic

Inherited from AnyRef

Inherited from Any

Ungrouped