Login 24/7 Support Community tyk.io

Jaeger

How to send Tyk Gateway traces to Jaeger

Tyk uses OpenTracing with the Jaeger client libraries to send Tyk Gateway traces to Jaeger.

Note

The CNCF (Cloud Native Foundation) has archived the OpenTracing project and Jaeger has deprecated their client libraries. This means that no new pull requests or feature requests are accepted into OpenTracing or Jaeger repositories.

While support for OpenTelemetry is on our near-term roadmap, you can continue to leverage OpenTracing to get timing and data from Tyk in your traces. More information can be found in our community forum.

Configuring Jaeger

In tyk.conf on tracing setting

{
  "tracing": {
    "enabled": true,
    "name": "jaeger",
    "options": {}
  }
}

options are settings that are used to initialize the Jaeger client. For more details about the options see client libraries

Sample configuration

{
  "tracing": {
    "enabled": true,
    "name": "jaeger",
    "options": {
      "baggage_restrictions": null,
      "disabled": false,
      "headers": null,
      "reporter": {
        "BufferFlushInterval": "0s",
        "collectorEndpoint": "",
        "localAgentHostPort": "jaeger:6831",
        "logSpans": true,
        "password": "",
        "queueSize": 0,
        "user": ""
      },
      "rpc_metrics": false,
      "sampler": {
        "maxOperations": 0,
        "param": 1,
        "samplingRefreshInterval": "0s",
        "samplingServerURL": "",
        "type": "const"
      },
      "serviceName": "tyk-gateway",
      "tags": null,
      "throttler": null
    }
  }
}