Skip to content

Add bounded release-admission observability metrics #627

Description

@coderabbitai

Summary

Add bounded observability metrics for the release-admission gate.

The gate performs GitHub API requests and Git fetch operations. The release workflow blocks publication when this gate fails. Operators need bounded metrics to identify gate failures and operation latency without recording high-cardinality or sensitive values.

Required changes

  • Emit a metric for the overall release-admission gate.
  • Emit a metric for each fixed release-admission operation.
  • Use only bounded labels: canary, operation, outcome, and error_category.
  • Record operation duration without labels for revisions, run IDs, paths, URLs, workflow content, or other unbounded identifiers.
  • Define a fixed error-category vocabulary.
  • Document the metric names, label values, emission points, and retention or export path.
  • Add validation that verifies metric emission, fixed label values, error categorization, and the absence of prohibited high-cardinality labels.

Affected areas

  • .github/scripts/require-release-admission-canaries.sh
  • .github/workflows/release.yml
  • Release-admission tests and operational documentation

Acceptance criteria

  • The overall gate and every fixed operation produce bounded metrics.
  • Metrics use only canary, operation, outcome, and error_category as labels.
  • Duration metrics do not include revision, run ID, path, URL, or other unbounded values as labels.
  • Failed operations produce a documented fixed error category.
  • Tests cover successful and failed gate paths.
  • Documentation defines the metric contract and operator use.

Backlinks

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or requesttestingTest coverage, test infrastructure, and verification tooling work.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions