Distributed tracing
- Tier: Ultimate
- Offering: GitLab.com, GitLab Self-Managed
- Status: Beta
This feature is not under active development.
The availability of this feature is controlled by a feature flag. For more information, see the history. This feature is available for testing, but not ready for production use.
With distributed tracing, you can troubleshoot application performance issues by inspecting how a request moves through different services and systems, the timing of each operation, and any errors or logs as they occur. Tracing is particularly useful in the context of microservice applications, which group multiple independent services collaborating to fulfill user requests.
This feature is in beta. For more information, see the group direction page. To leave feedback about tracing bugs or functionality, comment in the feedback issue or open a new issue.
Tracing ingestion limits
Tracing ingests a maximum of 102,400 bytes per minute.
When the limit is exceeded, a 429 Too Many Requests
response is returned.
To request a limit increase to 1,048,576 bytes per minute, contact GitLab support.
Data retention
GitLab retains all traces for 30 days.
Configure distributed tracing for a project
Configure distributed tracing to enable it for a project.
Prerequisites:
- You must have at least the Maintainer role for the project.
Create an access token:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > Access tokens.
- Create an access token with the
api
scope and Developer role or greater. Save the access token value for later.
To configure your application to send GitLab traces, set the following environment variables:
OTEL_EXPORTER = "otlphttp" OTEL_EXPORTER_OTLP_ENDPOINT = "https://gitlab.example.com/api/v4/projects/<gitlab-project-id>/observability/" OTEL_EXPORTER_OTLP_HEADERS = "PRIVATE-TOKEN=<gitlab-access-token>"
Use the following values:
gitlab.example.com
- The hostname for your GitLab Self-Managed instance, orgitlab.com
gitlab-project-id
- The project ID.gitlab-access-token
- The access token you created
When your application is configured, run it, and the OpenTelemetry exporter attempts to send traces to GitLab.
View your traces
If your traces are exported successfully, you can see them in the project.
To view the list of traces:
On the left sidebar, select Search or go to and find your project.
Select Monitor > Traces.
Optional. To view the details of a trace, select it from the list.
The trace details page and a list of spans are displayed.
Optional. To view the attributes for a single span, select it from the list.
Create an issue for a trace
You can create an issue to track any action taken to resolve or investigate a trace. To create an issue for a trace:
- On the left sidebar, select Search or go to and find your project.
- Select Monitor > Traces.
- From the list of traces, select a trace.
- Select Create issue.
The issue is created in the selected project and pre-filled with information from the trace. You can edit the issue title and description.
View issues related to a trace
- On the left sidebar, select Search or go to and find your project.
- Select Monitor > Traces.
- From the list of traces, select a trace.
- Scroll to Related issues.
- Optional. To view the issue details, select an issue.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support