{{< details >}}

  • Tier: 基础版,专业版,旗舰版
  • Offering: 私有化部署

{{< /details >}}

性能栏在您的浏览器中直接显示实时指标,让您无需查阅日志或运行单独的性能分析工具即可获取洞察。

对于开发团队,性能栏通过准确显示他们应该专注的地方来简化调试。

Performance bar

可用信息

{{< history >}}

  • 在极狐GitLab 16.6 中移除了 Rugged 调用。

{{< /history >}}

从左到右,性能栏显示:

  • 当前主机:服务于页面的当前主机。
  • 数据库查询:数据库查询所需时间(以毫秒为单位)和总数,格式为 00ms / 00 (00 cached) pg。选择以显示更多详细信息的对话框。您可以使用此功能查看每个查询的以下详细信息:
    • 在事务中:如果在事务上下文中执行查询,则显示在查询下方。
    • 角色:当启用 数据库负载均衡时显示。它显示查询使用的服务器角色。”Primary” 表示查询发送到读/写主服务器。”Replica” 表示发送到只读副本。
    • 配置名称:用于区分为不同极狐GitLab 功能配置的不同数据库。显示的名称与在极狐GitLab 中配置数据库连接使用的名称相同。
  • Gitaly 调用:所需时间(以毫秒为单位)和总数。选择以显示更多详细信息的模态窗口。
  • Redis 调用:所需时间(以毫秒为单位)和总数。选择以显示更多详细信息的模态窗口。
  • Elasticsearch 调用:所需时间(以毫秒为单位)和总数。选择以显示更多详细信息的模态窗口。
  • 外部 HTTP 调用:所需时间(以毫秒为单位)和外部系统调用的总数。选择以显示更多详细信息的模态窗口。
  • 页面加载时间:如果您的浏览器支持加载时间,则显示几个以毫秒为单位的值,以斜杠分隔。选择以显示更多详细信息的模态窗口。值从左到右:
    • 后台:加载基础页面所需的时间。
    • 首次内容绘制:直到用户可见的时间。如果您的浏览器不支持此功能,则显示 NaN
    • DomContentLoaded 事件。
    • 页面加载的请求总数
  • 内存:所消耗的内存量和所分配的对象数量。选择以显示更多详细信息的窗口。
  • Trace:如果 Jaeger 集成,Trace 链接到包含当前请求的 correlation_id 的 Jaeger 跟踪页面。
  • +:一个链接,用于将请求详细信息添加到性能栏。请求可以通过其完整的 URL(作为当前用户认证),或者通过其 X-Request-Id 头的值添加。
  • 下载:一个链接,用于下载用于生成性能栏报告的原始 JSON。
  • 内存报告:一个链接,用于生成当前 URL 的 内存分析 报告。
  • Flamegraph 模式:一个链接,用于生成当前 URL 的 火焰图,使用所选的 Stackprof 模式:
    • 墙模式interval 的时间在墙上的时钟上采样。间隔设为 10100 微秒。
    • CPU 模式interval 的 CPU 活动采样。间隔设为 10100 微秒。
    • 对象模式interval 采样。间隔设为 100 分配。
  • 请求选择器:在性能栏右侧显示的选择框,使您能够查看当前页面打开时发出的任何请求的这些指标。每个唯一 URL 的前两个请求会被捕获。
  • 统计(可选):如果设置了 GITLAB_PERFORMANCE_BAR_STATS_URL 环境变量,此 URL 会显示在栏中。仅用于 JihuLab.com。

{{< alert type=”note” >}}

并非所有指示器在所有环境中都可用。例如,内存视图需要运行 Ruby 并应用 特定补丁。当使用 GDK 本地运行极狐GitLab 时,通常不是这种情况,因此内存视图无法使用。

{{< /alert >}}

键盘快捷键

p + b 键盘快捷键 显示性能栏,再次按下以隐藏。

对于非管理员显示性能栏,它必须为他们 启用

请求警告

超过预定义限制的请求会在指标旁显示警告 {{< icon name=”warning” >}} 图标和说明。在此示例中,Gitaly 调用持续时间超过阈值。

Gitaly 调用持续时间超过阈值

为非管理员启用性能栏

性能栏默认对非管理员禁用。要为特定群组启用它:

  1. 以具有管理员访问权限的用户身份登录。
  2. 在左侧边栏底部,选择 管理员
  3. 选择 设置 > 指标和分析
  4. 展开 分析 - 性能栏
  5. 选择 允许非管理员访问性能栏
  6. 允许以下群组成员访问 字段中,提供被允许访问性能的群组的完整路径。
  7. 选择 保存更改