Skip to content

Instantly share code, notes, and snippets.

@colelawrence
Created August 1, 2025 00:28
Show Gist options
  • Save colelawrence/892998161913cf060b8d5a4c96365161 to your computer and use it in GitHub Desktop.
Save colelawrence/892998161913cf060b8d5a4c96365161 to your computer and use it in GitHub Desktop.
Jaeger v2 OTEL Collector in mise.toml
[tools."http:jaeger"]
# single authoritative version for every OS/arch
version = "2.8.0"
[tools."http:jaeger".platforms]
macos-x64 = { url = "https://download.jaegertracing.io/v1.71.0/jaeger-2.8.0-darwin-amd64.tar.gz" }
macos-arm64 = { url = "https://download.jaegertracing.io/v1.71.0/jaeger-2.8.0-darwin-arm64.tar.gz" }
linux-x64 = { url = "https://download.jaegertracing.io/v1.71.0/jaeger-2.8.0-linux-amd64.tar.gz" }
[tasks.start-jaeger]
description = "Start Jaeger v2 for OTEL tracing. Exposes UI (16686) and OTLP HTTP (4318)"
# Download link: https://www.jaegertracing.io/download/
# Jaeger v2.8 setup with UI config:
# - 16686: Jaeger UI (query service) with custom config
# - 4318: OTLP HTTP receiver on all interfaces (0.0.0.0)
# Compatible with existing OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4318/v1/traces
#
# Config reference:
# - Jaeger Query UI Config: https://github.com/jaegertracing/jaeger-ui/blob/704a552/packages/jaeger-ui/src/types/config.tsx#L19
# - Loading in jaeger-server: https://github.com/jaegertracing/jaeger/blob/caed0c1/cmd/query/app/flags.go#L70-L103
# - Loading UI Config .js / .json file: https://github.com/jaegertracing/jaeger/blob/caed0c1/cmd/query/app/static_handler.go#L160-L198
# - Jaeger Default Config https://github.com/jaegertracing/jaeger/blob/caed0c1/cmd/jaeger/internal/all-in-one.yaml
# Mainly, we're customizing the config to reduce the number of services and extensions to only what's necessary
run = '''
# Starting Jaeger v2.8 minimal setup...
echo "Access the UI at\033[36m http://localhost:16686/ \033[0m, OTLP HTTP receiver at\033[36m http://localhost:4318/ \033[0m\n"
jaeger \
--set service.extensions=[jaeger_storage,jaeger_query] \
--set service.telemetry.logs.level=warn \
--set service.pipelines.traces.receivers=[otlp] \
--set extensions.jaeger_query.ui.config_file="{{config_root}}/tools/jaeger-config.json" \
--set receivers.otlp.protocols.http.endpoint=0.0.0.0:4318 || echo "Failed to start Jaeger v2.8 minimal setup"
'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment