summaryrefslogtreecommitdiff
path: root/doc/user/project/operations/tracing.md
blob: a74233bbd02ee456b62bce38856b78c6892f68e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Tracing **(ULTIMATE)**

> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/7903) in GitLab Ultimate 11.5.

Tracing provides insight into the performance and health of a deployed application,
tracking each function or microservice which handles a given request.

This makes it easy to
understand the end-to-end flow of a request, regardless of whether you are using a monolithic or distributed system.

## Jaeger tracing

[Jaeger](https://www.jaegertracing.io/) is an open source, end-to-end distributed
tracing system used for monitoring and troubleshooting microservices-based distributed
systems.

### Deploying Jaeger

To learn more about deploying Jaeger, read the official
[Getting Started documentation](https://www.jaegertracing.io/docs/latest/getting-started/).
There is an easy to use [all-in-one Docker image](https://www.jaegertracing.io/docs/latest/getting-started/#AllinoneDockerimage),
as well as deployment options for [Kubernetes](https://github.com/jaegertracing/jaeger-kubernetes)
and [OpenShift](https://github.com/jaegertracing/jaeger-openshift).

### Enabling Jaeger

GitLab provides an easy way to open the Jaeger UI from within your project:

1. [Set up Jaeger](#deploying-jaeger) and configure your application using one of the
   [client libraries](https://www.jaegertracing.io/docs/latest/client-libraries/).
1. Navigate to your project's **Settings > Operations** and provide the Jaeger URL.
1. Click **Save changes** for the changes to take effect.
1. You can now visit **Operations > Tracing** in your project's sidebar and
   GitLab will redirect you to the configured Jaeger URL.