Add tier label to pal-e-dora-exporter #1

Closed
opened 2026-05-29 12:05:25 +00:00 by ldraney · 1 comment
Owner

Type

Feature

Lineage

Standalone — discovered during DORA project setup (2026-05-29).

Repo

ldraney/pal-e-dora-exporter

User Story

As a platform operator
I want playground repos excluded from DORA composite scores
So that metrics reflect real production health

Context

The DORA exporter currently scrapes every Forgejo repo equally. A PR merged to svelte-playground carries the same weight as pal-e-platform. This dilutes composite scores with noise. Adding a tier label at the exporter level is the foundation — Grafana filtering, per-app drill-downs, and composite scoring all depend on it.

File Targets

Files the agent should modify or create:

  • src/config.py — add tier config loading (YAML or env-based repo → tier mapping)
  • src/collectors/forgejo.py — add tier label to PR metrics
  • src/collectors/woodpecker.py — add tier label to deployment metrics

Files the agent should NOT touch:

  • Dockerfile — no changes needed
  • .woodpecker.yaml — no CI changes needed

Acceptance Criteria

  • Exporter emits tier="1", tier="2", or tier="3" label on all 4 metric families
  • Config is a YAML/env-based repo → tier mapping
  • Tier list matches docs/tiering.md in the DORA repo
  • Unlabeled repos default to tier 3

Test Expectations

  • Unit test: config loader parses tier mapping correctly
  • Unit test: collectors attach correct tier label per repo

Constraints

  • Keep the config format simple — YAML preferred over env vars for readability
  • No breaking changes to existing metric names or labels

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • dora-metrics — project this affects
  • docs/tiering.md — tier definitions
### Type Feature ### Lineage Standalone — discovered during DORA project setup (2026-05-29). ### Repo `ldraney/pal-e-dora-exporter` ### User Story As a platform operator I want playground repos excluded from DORA composite scores So that metrics reflect real production health ### Context The DORA exporter currently scrapes every Forgejo repo equally. A PR merged to `svelte-playground` carries the same weight as `pal-e-platform`. This dilutes composite scores with noise. Adding a `tier` label at the exporter level is the foundation — Grafana filtering, per-app drill-downs, and composite scoring all depend on it. ### File Targets Files the agent should modify or create: - `src/config.py` — add tier config loading (YAML or env-based repo → tier mapping) - `src/collectors/forgejo.py` — add `tier` label to PR metrics - `src/collectors/woodpecker.py` — add `tier` label to deployment metrics Files the agent should NOT touch: - `Dockerfile` — no changes needed - `.woodpecker.yaml` — no CI changes needed ### Acceptance Criteria - [ ] Exporter emits `tier="1"`, `tier="2"`, or `tier="3"` label on all 4 metric families - [ ] Config is a YAML/env-based repo → tier mapping - [ ] Tier list matches `docs/tiering.md` in the DORA repo - [ ] Unlabeled repos default to tier 3 ### Test Expectations - [ ] Unit test: config loader parses tier mapping correctly - [ ] Unit test: collectors attach correct tier label per repo ### Constraints - Keep the config format simple — YAML preferred over env vars for readability - No breaking changes to existing metric names or labels ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `dora-metrics` — project this affects - `docs/tiering.md` — tier definitions
Author
Owner
Migrated to ldraney/pal-e-dora-exporter#5
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/DORA#1
No description provided.