Configuring Zipkin Tracing using GlobalConfig

EnRoute Technical Reference

EnRoute can be configured to generate Traces in Zipkin and OpenTelemetry format. Tracing can be configured using GlobalConfig

GlobalConfig for Zipkin Tracing

Sending traces to zipkin collector is fairly straightforward. We specify the tracer_type as zipkin and provide the service name as <namespace.name>

Additional custom tags can also be sent to zipkin traces

Note that the example below assumes a zipkin collector is running in namespace istio-system with service name zipkin that accepts traces on port 9411

The GlobalConfig that enables tracing is defined of type globalconfig_tracing

    apiVersion: enroute.saaras.io/v1
    kind: GlobalConfig
    metadata:
      name: enroute-globalconfig-tracing
    spec:
      config: |
        {
        "tracing" : {
            "tracer_type" : "zipkin",
            "zipkin_config" : {
              "service_name" : "istio-system.zipkin:9411",
              "overall_sampling" : 100,
              "max_path_length" : 256,
              "protocol" : "h2c",
              "custom_tags" : [ { "tag_name" : "authority_header", "request_header_name" : ":authority" } , { "tag_name" : "path_header", "request_header_name" : ":path" } ]
            }
        }
        }
      name: enroute-globalconfig-tracing
      type: globalconfig_tracing