Name the Zoekt task histogram with the codebase's duration suffix

🤖 AI-authored change.

What

Amends specs/zoekt-task-sli/SPEC.md to name the task histogram gitlab_search_zoekt_task_duration_seconds instead of gitlab_search_zoekt_task_latency_seconds, and cites the naming convention it now follows.

Why

A reviewer on the implementation merge request (gitlab-org/gitlab!255166 (merged)) pointed out that _latency_seconds is not the suffix this codebase uses. That is correct: at master there are 56 distinct _duration_seconds metric names under app/, lib/ and ee/, and zero _latency_seconds names, so the spec as merged would have the implementation land the sole outlier.

The measured quantity is unchanged — queue wait plus execution, measured from perform_at. Only the suffix and its justification change. The spec's "Open questions" entry that declared the naming settled is updated to match, so it no longer states the retired name.

Spec status

  • Feature: specs/zoekt-task-sli/SPEC.md
  • Status in frontmatter: approved (unchanged); last_reviewed moves to 2026-09-14
  • Implementation MR: gitlab-org/gitlab!255166 (merged) — it waits on this amendment before the rename lands in code

Verification

  • Metric-name counts taken from origin/master in a gitlab-org/gitlab checkout, with git grep -hoE ':[a-z0-9_]+<suffix>' origin/master -- app lib ee | sort -u: _duration_seconds 56 names, _latency_seconds 0, _time_seconds 9, _wait_seconds 2, _elapsed_seconds 0, _age_seconds 0. The spec states the _duration_seconds suffix as dominant rather than sole, because _time_seconds and _wait_seconds do exist.
  • The three exemplars cited in the spec were each read at master: :http_request_duration_seconds (lib/gitlab/metrics/requests_rack_middleware.rb:42), :sidekiq_jobs_queue_duration_seconds (lib/gitlab/sidekiq_middleware/server_metrics.rb:41), :gitlab_audit_event_streaming_nats_publish_duration_seconds (ee/lib/gitlab/metrics/audit_event_streaming_slis.rb:54).
  • All six occurrences of the old name in the spec are replaced; a grep for the old string returns zero. Frontmatter still parses as YAML and the ## headings still match specs/TEMPLATE.md exactly.

🤖 Automated change. Mention @johnmason for feedback, or reply #human to escalate to John.

Edited by John Mason

Merge request reports

Loading
Loading