Keyboard shortcuts

/ or ⌘/Ctrl K
Find a note
j / k
Next / previous section or linked note
h / l
Collapse or go to parent / expand or enter
e or Alt-click
Read a linked note here
o
Open focused note on its own
g g / G
First / last section or linked note
g h / g a
Home / all notes
g b / g t
Backlinks / table of contents
t
Cycle System, Light, Dark
? / Esc
Show / close this reference

Search: ↑/↓ or Ctrl N/P, Enter to open. Shortcuts pause while typing.

jaeger deep dive [b5aa9179]

Tags: kubernetes (k8s)

1. Sampling

  • sampling is to reduce costs of sampling
  • trace data is usually very repetitive
  • sampling -> consistent (all or nothing), no missing parts of the trace
  • head based sampling

    • easy to implement
    • spread out configuration since there may be multiple
  • remote sampling

    • reads configuration from central tier in the backend
  • tail based sampling

    • can be much more advanced
    • can catch anomalies
    • requires temp storage of all tarces
    • applications constantly incur performance

2. opentracing

  • opentelemetry implementation of the opentracing api
  • allows you to change tracing systems
  • jaeger components in opentelemetry

    • opentelemetry sdk's have jaeger grpc exporter and jaeger propagation
    • this means anything exporting with open telemetry can use jaeger
  • opentracing shim

    • all existing opentracing libs with opentelemtry sdk
  • jaeger client libs support w3c trace context
  • deploying jaeger onto kubernetes (k8s)

    • helm charts
    • jaeger operator -> most advanced, allInOne and production deployment

      • auto provision with Kafka
    • plain kube manifest