MATIH Platform is in active MVP development. Documentation reflects current implementation status.
19. Observability & Operations
Jaeger Integration

Jaeger Integration

While Tempo is the primary trace storage backend, MATIH also supports Jaeger as an alternative trace visualization tool. Jaeger provides a powerful UI for trace search, comparison, and dependency analysis that complements Grafana's trace exploration capabilities.


When to Use Jaeger vs. Grafana

FeatureJaegerGrafana + Tempo
Trace searchAdvanced query UIBasic trace ID lookup
Trace comparisonSide-by-side diffNot built-in
Dependency graphService dependency DAGAvailable via plugin
Log correlationLimitedNative with Loki
Metric correlationLimitedNative with Prometheus

Deployment

Jaeger can be deployed alongside Tempo as an optional component:

helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
helm install jaeger jaegertracing/jaeger \
  --namespace matih-monitoring \
  --set collector.enabled=false \
  --set query.enabled=true \
  --set storage.type=grpc-plugin \
  --set storage.grpc-plugin.endpoint=tempo:9095

This configuration uses Tempo as the storage backend while providing the Jaeger query UI.


Accessing Jaeger

# Port forward Jaeger UI
kubectl port-forward svc/jaeger-query 16686:16686 -n matih-monitoring

Then access http://localhost:16686 for the Jaeger UI.


Trace Search

The Jaeger UI supports searching traces by:

FilterDescription
ServiceFilter by service name
OperationFilter by span operation name
TagsFilter by span attributes (e.g., tenant_id=acme)
DurationFilter by minimum/maximum duration
LookbackTime range for the search
LimitMaximum number of results

Trace Comparison

Jaeger's trace comparison feature allows side-by-side comparison of two traces:

  1. Select two traces from search results
  2. Click "Compare Traces"
  3. View structural differences, timing differences, and missing spans

This is useful for debugging performance regressions or understanding why one request was slower than another.


Service Dependency Graph

Jaeger automatically builds a service dependency graph from trace data, showing:

  • Service-to-service call patterns
  • Call frequency and error rates
  • Average latency per edge

This provides a live topology map of the MATIH platform.