instruction: Implement distributed tracing with Getting Started | Jaeger Docs Introduction &cir; Features Getting Started Architecture &cir; APIs &c...
output: Getting Started | Jaeger Docs Introduction &cir; Features Getting Started Architecture &cir; APIs &cir; Sampling Deployment &cir; OpenTelemetry &cir; Kubernetes &cir; Frontend/UI &cir; CLI Flags &cir; Security &cir; On Windows Client Libraries &cir; Client Features Monitoring Jaeger Performance Tuning Guide Troubleshooting Frequently Asked Questions Tools Versions 2.9&nbsp;&nbsp;( latest ) 2.8 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.72&nbsp;&nbsp;( latest ) 1.71 1.70 1.69 1.68 1.67 1.66 1.65 1.64 1.63 1.62 1.61 1.60 1.59 1.58 1.57 Demo Download Blog Project Get involved Get in touch Mentorships Mentorships - For Mentees Mentorships - For Mentors News Roadmap Branding Report security issue Main GitHub repo Docs GitHub repo We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit this page . Introduction &cir; Features Getting Started Architecture &cir; APIs &cir; Sampling Deployment &cir; OpenTelemetry &cir; Kubernetes &cir; Frontend/UI &cir; CLI Flags &cir; Security &cir; On Windows Client Libraries &cir; Client Features Monitoring Performance Tuning Guide Troubleshooting FAQs Tools Getting Started Get up and running with Jaeger in your local environment Version&nbsp;&nbsp; 1.21 Go to the latest 1.x version Go to the latest 2.x version If you are new to distributed tracing, please check the Introduction page. Instrumentation Your applications must be instrumented before they can send tracing data to Jaeger backend. Check the Client Libraries section for information about how to use the OpenTracing API and how to initialize and configure Jaeger tracers. All in One All-in-one is an executable designed for quick local testing, launches the Jaeger UI, collector, query, and agent, with an in memory storage component. The simplest way to start the all-in-one is to use the pre-built image published to DockerHub (a single command line). $ docker run -d --name jaeger \ -e COLLECTOR_ZIPKIN_HTTP_PORT = 9411 \ -p 5775:5775/udp \ -p 6831:6831/udp \ -p 6832:6832/udp \ -p 5778:5778 \ -p 16686:16686 \ -p 14268:14268 \ -p 14250:14250 \ -p 9411:9411 \ jaegertracing/all-in-one:1.21.0 Or run the jaeger-all-in-one(.exe) executable from the binary distribution archives : $ jaeger-all-in-one --collector.zipkin.http-port = 9411 You can then navigate to http://localhost:16686 to access the Jaeger UI. The container exposes the following ports: Port Protocol Component Function 5775 UDP agent accept zipkin.thrift over compact thrift protocol (deprecated, used by legacy clients only) 6831 UDP agent accept jaeger.thrift over compact thrift protocol 6832 UDP agent accept jaeger.thrift over binary thrift protocol 5778 HTTP agent serve configs 16686 HTTP query serve frontend 14268 HTTP collector accept jaeger.thrift directly from clients 14250 HTTP collector accept model.proto 9411 HTTP collector Zipkin compatible endpoint (optional) Kubernetes and OpenShift Kubernetes templates: https://github.com/jaegertracing/jaeger-kubernetes &#8201; external link Kubernetes Operator: https://github.com/jaegertracing/jaeger-operator &#8201; external link OpenShift templates: https://github.com/jaegertracing/jaeger-openshift &#8201; external link Sample App: HotROD HotROD (Rides on Demand) is a demo application that consists of several microservices and illustrates the use of the OpenTracing API &#8201; external link . A tutorial / walkthrough is available in the blog post: Take OpenTracing for a HotROD ride &#8201; external link . It can be run standalone, but requires Jaeger backend to view the traces. Features Discover architecture of the whole system via data-driven dependency diagram. View request timeline and errors; understand how the app works. Find sources of latency and lack of concurrency. Highly contextualized logging. Use baggage propagation to: Diagnose inter-request contention (queueing). Attribute time spent in a service. Use open source libraries with OpenTracing integration to get vendor-neutral instrumentation for free. Prerequisites You need Go 1.11 or higher installed on your machine to run from source. Requires a running Jaeger backend to view the traces. Running From Source mkdir -p $GOPATH /src/github.com/jaegertracing cd $GOPATH /src/github.com/jaegertracing git clone git@github.com:jaegertracing/jaeger.git jaeger cd jaeger make install go run ./examples/hotrod/main.go all From docker $ docker run --rm -it \ --link jaeger \ -p8080-8083:8080-8083 \ -e JAEGER_AGENT_HOST = &#34;jaeger&#34; \ jaegertracing/example-hotrod:1.21.0 \ all From binary distribution Run example-hotrod(.exe) executable from the binary distribution archives : $ example-hotrod all Then navigate to http://localhost:8080 . Migrating from Zipkin Collector service exposes Zipkin compatible REST API /api/v1/spans which accepts both Thrift and JSON. Also there is /api/v2/spans for JSON and Proto. By default it&rsquo;s disabled. It can be enabled with --collector.zipkin.http-port=9411 . Zipkin Thrift &#8201; external link IDL and Zipkin Proto &#8201; external link IDL files can be found in jaegertracing/jaeger-idl &#8201; external link repository. They&rsquo;re compatible with openzipkin/zipkin-api &#8201; external link Thrift &#8201; external link and Proto &#8201; external link . Community Getting in touch Via chat Project video meetings Report issues on GitHub Report a security issue &copy; 2025 The Jaeger Authors. Documentation distributed under CC-BY-4.0 . &copy; 2025 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.