Skip to content

Add Prometheus metrics endpoint and Grafana dashboard - #17

Closed
rorpage with Copilot wants to merge 2 commits into
mainfrom
copilot/add-prometheus-metrics-dashboard
Closed

Add Prometheus metrics endpoint and Grafana dashboard#17
rorpage with Copilot wants to merge 2 commits into
mainfrom
copilot/add-prometheus-metrics-dashboard

Conversation

Copilot AI commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Adds observability to Gee Bee via a Prometheus metrics endpoint and a pre-built, auto-provisioned Grafana dashboard.

Metrics (internal/metrics/metrics.go)

Four counters registered via promauto and served at http://0.0.0.0:<port>/metrics:

Metric Labels Description
geebee_aircraft_spotted_total tail_number Aircraft spotted per registration
geebee_api_calls_total Upstream ADS-B API calls
geebee_api_errors_total Upstream ADS-B API errors
geebee_notifications_sent_total channel Notifications sent (discord, slack, custom_url, terminal)

Port defaults to 9090, configurable via METRICS_PORT env var or metricsPort in config.

Grafana Dashboard (grafana/provisioning/dashboards/gee-bee.json)

7-panel dashboard covering rate timeseries for aircraft spotted and notifications by channel, plus stat panels for all four counters. Datasource is templated so it works across Grafana instances.

Docker Compose

docker compose up brings up all three services — gee-bee (:9090), Prometheus (:9091), and Grafana (:3000) — with the dashboard and datasource auto-provisioned.

prometheus:
  image: prom/prometheus:latest
  volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro

grafana:
  image: grafana/grafana:latest
  volumes:
    - ./grafana/provisioning:/etc/grafana/provisioning:ro

Copilot AI linked an issue Apr 14, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add Prometheus metrics and Grafana dashboard Add Prometheus metrics endpoint and Grafana dashboard Apr 14, 2026
Copilot AI requested a review from rorpage April 14, 2026 14:12

rorpage commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Closing as no longer compatible with the project direction. The July 3 refactor ("Convert gee-bee to a one-shot binary scheduled by cron/systemd") moved gee-bee to a one-shot binary with no internal loop, and explicitly dropped Docker ("No Docker... Docker adds path, permission, and user complexity that the Go binary approach eliminates entirely" — see AGENTS.md). This PR adds a long-running :9090 metrics HTTP server and a Docker Compose stack (Prometheus + Grafana), both of which conflict with that architecture, and it now has git conflicts against main in Dockerfile (deleted upstream), README.md, and cmd/geebee/main.go. If metrics are wanted later, they'd need to fit the one-shot/no-Docker model (e.g. a Pushgateway or per-run stdout metric rather than a persistent scrape endpoint).


Generated by Claude Code

@rorpage rorpage closed this Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Prometheus metrics and Grafana dashboard

2 participants