-
Notifications
You must be signed in to change notification settings - Fork 90
Expose outbox and access-decision metrics via a /metrics Prometheus endpoint #265
Copy link
Copy link
Closed
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsdevopsInfrastructure, CI/CD pipelines, deployment automation, and toolingInfrastructure, CI/CD pipelines, deployment automation, and toolingintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsdevopsInfrastructure, CI/CD pipelines, deployment automation, and toolingInfrastructure, CI/CD pipelines, deployment automation, and toolingintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Difficulty: Intermediate
Type: DevOps
Background
The README documents specific Observability metrics (
outbox_events_created_total,outbox_events_delivered_total,outbox_events_failed_total) but doesn't indicate they're exposed via a scrapeable endpoint.Problem
Without a
/metricsendpoint, these counters aren't consumable by standard monitoring stacks (Prometheus/Grafana), limiting operational visibility into outbox health and access-decision volume.Expected outcome
A
GET /metricsendpoint on the access-api exposes the existing outbox counters plus new counters for access decisions (access_decisions_total{decision="allowed"|"denied"}) in Prometheus text format.Suggested implementation
prom-clienttoapps/access-api./metricsroute (excluded from rate limiting and versioned auth, if applicable).README.md.Acceptance criteria
/metricsreturns valid Prometheus-format outputLikely affected files/directories
apps/access-api/src/workers/outboxWorker.tsapps/access-api/src/(new metrics route)README.md