AnnotatingTracingFilter[Req, Rep] extends SimpleFilter[Req, Rep]
A generic filter that can be used for annotating the Server and Client side of a trace.
Annotation extends AnyRef
An ADT describing a tracing annotation.
BufferingTracer extends Tracer with Iterable[Record]
A tracer that buffers each record in memory.
ClientRequestTracingFilter[Req, Res] extends SimpleFilter[Req, Res]
Adds the basic tracing information to a request.
Flags(flags: Long) extends Product with Serializable
Represents flags that can be passed along in request headers.
Initial flag state. May be 0.
NullTracer extends Tracer
A no-op Tracer.
supplying this tracer to a finagle client or server will not prevent trace information from being propagated to the next peer, but it will ensure that the client or server does not log any trace information about this host. If traces are being aggregated across your fleet, it will orphan subsequent spans.
Record(traceId: TraceId, timestamp: Time, annotation: Annotation, duration: Option[Duration]) extends Product with Serializable
Records information of interest to the tracing system.
Which trace is this record a part of?
When did the event happen?
What kind of information should we record?
Did this event have a duration? For example: how long did a certain code block take to run
SpanId extends Proxy
Defines trace identifiers.
TraceId(_traceId: Option[SpanId], _parentId: Option[SpanId], spanId: SpanId, _sampled: Option[Boolean], flags: Flags, traceIdHigh: Option[SpanId] = None, terminal: Boolean = false) extends Product with Serializable
A trace id represents one particular trace for one request.
The low 64bits of the id for this request.
The id for the request one step up the service stack.
The id for this particular request
Should we sample this request or not? True means sample, false means don't, none means we defer decision to someone further down in the stack.
Flags relevant to this request. Could be things like debug mode on/off. The sampled flag could eventually be moved in here.
The high 64bits of the id for this request, when the id is 128bits.
Whether this trace id is terminal. Any attemtps to override a terminal trace id will be ignored.
- case class TraceId128(low: Option[SpanId], high: Option[SpanId]) extends Product with Serializable
TraceInitializerFilter[Req, Rep] extends SimpleFilter[Req, Rep]
The TraceInitializerFilter takes care of span lifecycle events.
This should be replaced by per-codec trace initializers that is capable of parsing trace information out of the codec.
TracelessFilter extends TypeAgnostic
A filter to clear tracing information
Tracer extends AnyRef
Tracers record trace events.
Tracing extends AnyRef
This is a tracing system similar to Dapper:
TracingLogHandler extends Handler
A logging Handler that sends log information via tracing
- object AnnotatingTracingFilter
- object Annotation
- object BroadcastTracer
Annotate the request with Client specific records (ClientSend, ClientRecv)
- object ConsoleTracer extends Tracer
- object DefaultTracer extends Tracer with Proxy
- object Flags extends Serializable
Allow us to inject annotations into children trace contexts.
NullTracer extends NullTracer
A singleton instance of a no-op NullTracer.
- object Record extends Serializable
Annotate the request with Server specific records (ServerRecv, ServerSend)
- object SpanId
Trace extends Tracing
A singleton instance of Tracing (a facade-style API) that performs a number of Contexts lookups on each operation.
- See also
- object TraceId extends Serializable
- object TraceId128 extends Serializable
- object TraceInitializerFilter
Exposes an API for setting the global service name for this finagle process which is used to identify traces that belong to the respective process.
- object Tracer
- object Tracing
Annotate the request events directly before/after sending data on the wire (WireSend, WireRecv)
- object enabled extends GlobalFlag[Boolean]
- object traceId128Bit extends GlobalFlag[Boolean]