Create "Job Inputs" Dashboard for Interpolation Metrics

Overview

This issue proposes creating a dedicated dashboard to visualize the Job Inputs interpolation metrics that were recently instrumented in gitlab-runner. The metrics track interpolation usage, failures, and error types across runner instances.

Metrics Being Visualized

The dashboard will visualize these Prometheus metrics introduced in !6047 (merged):

  • gitlab_runner_job_inputs_interpolations_total: Total interpolations where expressions were actually used
  • gitlab_runner_job_inputs_interpolation_failures_total: Failed interpolations, labeled by error type (parse error, evaluation error, unsupported sensitive values)

Proposed Solutions

Option 1 (Recommended): Create a new dedicated dashboard

  • Location: job-inputs.dashboard.jsonnet (https://gitlab.com/gitlab-com/runbooks/-/blob/master/dashboards/ci-runners/job-inputs.dashboard.jsonnet)
  • Provides focused visibility into Job Inputs feature adoption and health
  • Allows for future expansion as the feature matures

Option 2: Add to existing dashboard

  • Could integrate into business-stats.dashboard.jsonnet (https://gitlab.com/gitlab-com/runbooks/-/blob/master/dashboards/ci-runners/business-stats.dashboard.jsonnet) or main.dashboard.jsonnet (https://gitlab.com/gitlab-com/runbooks/-/blob/master/dashboards/ci-runners/main.dashboard.jsonnet)
  • Pros: Consolidates related metrics
  • Cons: May dilute focus on this specific feature

Proposed Charts for New Dashboard

  1. Interpolation Success Rate Over Time (Line chart)

    • Shows the ratio of successful interpolations vs. total attempts
    • Helps identify if error rates are increasing/decreasing
    • Breakdown by error type (parse, evaluation, sensitive value)
  2. Interpolation Failure Rate Breakdown (Pie/Donut chart)

    • Shows distribution of failure types: parse errors, evaluation errors, unsupported sensitive values
    • Helps identify which error category needs attention
    • Can inform future improvements to error handling

Next Steps

  • @timofurrer and @tmaczukin will meet next week to refine this
  • Decide between Option 1 (new dashboard) vs Option 2 (add to existing)
  • Refine chart selections based on observability needs
  • Create the dashboard file in runbooks repository
  • Add dashboard link to relevant documentation
Edited Jan 19, 2026 by Timo Furrer
Assignee Loading
Time tracking Loading