Help us learn about your current experience with the documentation. Take the survey.

性能条

  • 版本:Free, Premium, Ultimate
  • 产品:GitLab Self-Managed, GitLab Dedicated

性能条会直接在您的浏览器中显示实时指标,为您提供洞察,而无需您查看日志或运行单独的性能分析工具。

对于开发团队而言,性能条通过精确地展示他们应该集中精力的地方,从而简化了调试过程。

性能条

可用信息

从左到右,性能条显示:

  • 当前主机 (Current Host):为当前页面提供服务的主机。
  • 数据库查询 (Database queries):所花费的时间(以毫秒为单位)和数据库查询的总数,以 00ms / 00 (00 cached) pg 的格式显示。选择它可显示一个包含更多详细信息的对话框。您可以使用它来查看每个查询的以下详细信息:
    • 在事务中 (In a transaction):如果查询在事务上下文中执行,则会显示在查询下方。
    • 角色 (Role):在启用数据库负载均衡时显示。它显示查询使用了哪个服务器角色。“Primary” 表示查询被发送到读/写主服务器。“Replica” 表示它被发送到只读副本。
    • 配置名称 (Configuration name):这用于区分为不同 GitLab 功能配置的不同数据库。显示的名称与在 GitLab 中配置数据库连接时使用的名称相同。
  • Gitaly 调用 (Gitaly calls):所花费的时间(以毫秒为单位)和 Gitaly 调用的总数。选择它可显示一个包含更多详细信息的模态窗口。
  • Redis 调用 (Redis calls):所花费的时间(以毫秒为单位)和 Redis 调用的总数。选择它可显示一个包含更多详细信息的模态窗口。
  • Elasticsearch 调用 (Elasticsearch calls):所花费的时间(以毫秒为单位)和 Elasticsearch 调用的总数。选择它可显示一个包含更多详细信息的模态窗口。
  • 外部 HTTP 调用 (External HTTP calls):所花费的时间(以毫秒为单位)和对外部系统的调用总数。选择它可显示一个包含更多详细信息的模态窗口。
  • 页面加载时间 (Load timings):如果您的浏览器支持加载时间,则会显示几个以毫秒为单位的值,并用斜杠分隔。选择它可显示一个包含更多详细信息的模态窗口。这些值从左到右分别是:
  • 内存 (Memory):在选定请求期间消耗的内存量和分配的对象数。选择它可显示一个包含更多详细信息的窗口。
  • 跟踪 (Trace):如果集成了 Jaeger,跟踪 会链接到一个包含当前请求 correlation_id 的 Jaeger 跟踪页面。
  • +:用于将请求的详细信息添加到性能条的链接。可以通过其完整 URL(以当前用户身份进行身份验证)或其 X-Request-Id 标头的值来添加请求。
  • 下载 (Download):用于下载生成性能条报告所用的原始 JSON 的链接。
  • 内存报告 (Memory Report):用于生成当前 URL 的内存分析报告的链接。
  • 火焰图 (Flamegraph) 及模式:用于使用选定的 Stackprof 模式生成当前 URL 的火焰图的链接:
    • Wall(挂钟) 模式会按挂钟时间的每个间隔进行采样。间隔设置为 10100 微秒。
    • CPU 模式会按 CPU 活动的每个间隔进行采样。间隔设置为 10100 微秒。
    • Object(对象) 模式会按每个间隔进行采样。间隔设置为 100 次分配。
  • 请求选择器 (Request Selector):显示在性能条右侧的选择框,使您能够查看在当前页面打开期间发出的任何请求的这些指标。每个唯一 URL 仅捕获前两个请求。
  • 统计信息 (Stats)(可选):如果设置了 GITLAB_PERFORMANCE_BAR_STATS_URL 环境变量,则此 URL 会显示在性能条中。仅在 GitLab.com 上使用。

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

键盘快捷键

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

对于非管理员用户,要显示性能条,必须为他们启用

请求警告

超出预定义限制的请求会在指标旁边显示一个警告 warning 图标和说明。在此示例中,Gitaly 调用持续时间超过了阈值。

Gitaly 调用持续时间超过阈值

为非管理员启用性能条

默认情况下,非管理员用户无法使用性能条。要为特定群组启用它:

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