Distributed Tracing

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

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"