分布式追踪

  • 引入于极狐GitLab 16.2,使用名为 observability_tracing 的功能标志。默认禁用。此功能处于 beta 阶段。
  • 功能标志在极狐GitLab 17.3 中改名为 observability_features功能标志,默认禁用。先前的功能标志 observability_tracing 已被删除。
  • 在极狐GitLab 17.3 中为私有化部署可用。
此功能的可用性受控于功能标志。更多详情,可以查看历史。此功能仅未测试所用,并未生产就绪。

有了分布式追踪,您可以通过检查请求如何通过不同的服务和系统移动、每个操作的计时以及它们发生时的任何错误或日志来排查应用程序性能问题。在微服务应用程序的上下文中,跟踪特别有用,微服务应用程序将多个独立的服务组合在一起,以满足用户请求。

追踪摄取限制

追踪摄取限制为每分钟 102,400 字节。当超过此限制时,将返回 429 Too Many Requests 响应。

数据保留

极狐GitLab 会保留所有追踪 30 天。

为项目配置分布式追踪

为项目启用并配置分布式追踪。

先决条件:

  • 您必须至少具有项目的维护者角色。
  1. 创建访问令牌:
    1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
    2. 选择 设置 > 访问令牌
    3. 创建一个具有 api 范围和 开发者 角色或更高权限的访问令牌。保存访问令牌值以备后用。
  2. 配置您的应用程序以发送极狐GitLab 追踪,设置以下环境变量:

    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>"
    

    使用如下值:

    • gitlab.example.com - 您私有化不是实例的宿主机名。
    • gitlab-project-id - 您的项目 ID。
    • gitlab-access-token - 您创建的访问令牌。

当您的应用配置时,运行它,OpenTelemetry 导出器尝试将跟踪发送到极狐GitLab。

查看您的追踪

如果您的追踪导出成功,您可以在项目中看到它们。

要查看追踪列表:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 监控 > 追踪
  3. 可选。要查看跟踪的详细信息,请从列表中选择它。

    list of traces

    会展示追踪详情页面和一个跨度列表。

    tracing details

  4. 可选。要查看单个跨度的属性,请从列表中选择它。

    tracing drawer

为追踪创建议题

您可以创建议题来跟踪解决或调查追踪的任何操作。要为追踪

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 监控 > 追踪
  3. 从追踪列表中,选择一个追踪。
  4. 选择 创建议题

在所选项目中创建议题,并使用追踪中的信息预填充。您可以编辑议题主题和描述。

查看与追踪相关的议题

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 监控 > 追踪
  3. 从追踪列表中,选择一个追踪。
  4. 滚动到 相关议题
  5. 可选。要查看议题详情,请选择一个议题。