Tracing

Janus uses OpenCensus as the standard way to trace requests. It can be used for monitoring microservices-based distributed systems:

  • Distributed context propagation

  • Distributed transaction monitoring

  • Root cause analysis

  • Service dependency analysis

  • Performance / latency optimization

OpenCensus supports several tracing backend systems (i.e. exporters) which are:

  • Azure Monitor

  • Honeycomb.io

  • AWS X-Ray

  • Datadog

  • Jaeger

  • Stackdriver

  • Zipkin

Currently, only Jaeger exporter is available in Janus.

# Tracing Configuration

[tracing]
  # Backend system to export traces to
  #
  # Default: None
  #
  Exporter = "jaeger"

  # Service name used in the backend
  #
  # Default: "janus"
  #
  ServiceName = "janus"

  # If set to false, trace metadata set in incoming requests will be
  # added as the parent span of the trace.
  #
  # See the following link for more details:
  # https://godoc.org/go.opencensus.io/plugin/ochttp#Handler 
  #
  # Default: true
  #
  IsPublicEndpoint = true

  # SamplingStrategy specifies the sampling strategy
  #
  # Valid Values: "probabilistic", "always", "never"
  #
  # Default: "probabilistic"
  #
  SamplingStrategy = "probabilistic"

  # SamplingParam is an additional value passed to the sampler.
  #
  # Valid Values:
  #   - for "always" and "never" sampler, this value is unused
  #   - for "probabilistic" sampler, a probability between 0 and 1
  #
  # Default: "0.15"
  #
  SamplingParam = "0.15"

  [tracing.jaeger]
    # SamplingServerURL is the address to the sampling server
    #
    # Default: None
    #
    SamplingServerURL: "localhost:6832"

Last updated