content/en/docs/tasks/observability/distributed-tracing/jaeger/index.md
After completing this task, you understand how to have your application participate in tracing with Jaeger, regardless of the language, framework, or platform you use to build your application.
This task uses the Bookinfo sample as the example application.
To learn how Istio handles tracing, visit this task's overview.
Follow the Jaeger installation documentation to deploy Jaeger into your cluster.
Deploy the Bookinfo sample application.
Install Istio with an extension provider referring to the Jaeger collector service:
{{< text bash >}} $ cat <<EOF > ./tracing.yaml apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true defaultConfig: tracing: {} # disable legacy MeshConfig tracing options extensionProviders: - name: jaeger opentelemetry: port: 4317 service: jaeger-collector.istio-system.svc.cluster.local EOF $ istioctl install -f ./tracing.yaml --skip-confirmation {{< /text >}}
Enable tracing by applying the following configuration:
{{< text bash >}} $ kubectl apply -f - <<EOF apiVersion: telemetry.istio.io/v1 kind: Telemetry metadata: name: mesh-default namespace: istio-system spec: tracing:
The Remotely Accessing Telemetry Addons task details how to configure access to the Istio addons through a gateway.
For testing (and temporary access), you may also use port-forwarding. Use the following, assuming you've deployed Jaeger to the istio-system namespace:
{{< text bash >}} $ istioctl dashboard jaeger {{< /text >}}
When the Bookinfo application is up and running, access http://$GATEWAY_URL/productpage one or more times
to generate trace information.
{{< boilerplate trace-generation >}}
From the left-hand pane of the dashboard, select productpage.default from the Service drop-down list and click
Find Traces:
{{< image link="./istio-tracing-list.png" caption="Tracing Dashboard" >}}
Click on the most recent trace at the top to see the details corresponding to the
latest request to the /productpage:
{{< image link="./istio-tracing-details.png" caption="Detailed Trace View" >}}
The trace is comprised of a set of spans,
where each span corresponds to a Bookinfo service, invoked during the execution of a /productpage request, or
internal Istio component, for example: istio-ingressgateway.
Remove any istioctl processes that may still be running using control-C or:
{{< text bash >}} $ killall istioctl {{< /text >}}
If you are not planning to explore any follow-on tasks, refer to the Bookinfo cleanup instructions to shutdown the application.