Most of it was stale, not cosmetic: the docs taught `TRAEFIK_*` env, `traefik.http.*` labels, `traefik.ingress.kubernetes.io/` annotations, `.traefik.yml` plugins and `traefik_*` metrics. This binary answers to `INGRESS_*`, `ingress.http.*`, `ingress.kubernetes.io/`, `.ingress.yml` and `ingress.*` — a reader following the old text configured nothing. Two were worse than stale. Gateway API examples gave `group: traefik.io` for an IngressService backendRef, which kubernetes.go:1265 refuses against hanzo.ai. The contributing guide built with `github.com/traefik/ingress` ldflags against a module that is `github.com/hanzoai/ingress/v3`. script/code-gen.sh globs `hanzo.ai_*.yaml` and matched nothing — the per-CRD dumps had been deleted and never regenerated, so `cat` failed the script under `set -e`. controller-gen v0.19.0 restores all ten; they concatenate byte-for-byte into the committed definition and fixture. CHANGELOG.md is untouched: 6,789 lines of imported release history, where a rewrite would falsify the record rather than rebrand it. `@traefiklabs/faency`, `traefik/whoami`, k3s's `--disable=traefik`, the `traefik.io` CRD group and the MIT attribution stay — upstream's addresses, not our brand. Co-authored-by: Hanzo Dev <[email protected]>
3.2 KiB
title, description
| title | description |
|---|---|
| Hanzo Ingress Tracing Overview | The Hanzo Ingress tracing system allows developers to visualize call flows in their infrastructure. Read the full documentation. |
Tracing
Visualize the Requests Flow {: .subtitle }
The tracing system allows developers to visualize call flows in their infrastructure.
Hanzo Ingress uses OpenTelemetry, an open standard designed for distributed tracing.
Please check our dedicated OTel docs to learn more.
Configuration
To enable the tracing:
tracing: {}
[tracing]
--tracing=true
Common Options
addInternals
Optional, Default="false"
Enables tracing for internal resources (e.g.: ping@internal).
tracing:
addInternals: true
[tracing]
addInternals = true
--tracing.addinternals
serviceName
Required, Default="ingress"
Service name used in selected backend.
tracing:
serviceName: ingress
[tracing]
serviceName = "ingress"
--tracing.serviceName=ingress
sampleRate
Optional, Default=1.0
The proportion of requests to trace, specified between 0.0 and 1.0.
tracing:
sampleRate: 0.2
[tracing]
sampleRate = 0.2
--tracing.sampleRate=0.2
resourceAttributes
Optional, Default=empty
Defines additional resource attributes to be sent to the collector.
tracing:
resourceAttributes:
attr1: foo
attr2: bar
[tracing]
[tracing.resourceAttributes]
attr1 = "foo"
attr2 = "bar"
--tracing.resourceAttributes.attr1=foo
--tracing.resourceAttributes.attr2=bar
capturedRequestHeaders
Optional, Default=empty
Defines the list of request headers to add as attributes. It applies to client and server kind spans.
tracing:
capturedRequestHeaders:
- X-CustomHeader
- X-OtherHeader
[tracing]
capturedRequestHeaders = ["X-CustomHeader", "X-OtherHeader"]
--tracing.capturedRequestHeaders="X-CustomHeader,X-OtherHeader"
capturedResponseHeaders
Optional, Default=empty
Defines the list of response headers to add as attributes. It applies to client and server kind spans.
tracing:
capturedResponseHeaders:
- X-CustomHeader
- X-OtherHeader
[tracing]
capturedResponseHeaders = ["X-CustomHeader", "X-OtherHeader"]
--tracing.capturedResponseHeaders="X-CustomHeader,X-OtherHeader"
safeQueryParams
Optional, Default=[]
By default, all query parameters are redacted. Defines the list of query parameters to not redact.
tracing:
safeQueryParams:
- bar
- buz
[tracing]
safeQueryParams = ["bar", "buz"]
--tracing.safeQueryParams=bar,buz