github-pr-exporter

A prometheus exporter for monitoring pull requests for specified users in the last X number of days.

MIT License

Stars
3
Committers
2

github-pr-exporter

A prometheus exporter for monitoring pull requests for specified users in the last X number of days. Useful for tracking things like hacktoberfest within your org.

Usage

Once started, application will be accessible at http://localhost:8080/metrics

CLI

# Install with Go
go install github.com/circa10a/github-pr-exporter@latest

# Execute
❯ github-pr-exporter -h
Usage of ./github-pr-exporter:
      --config string       Path to config file (default "./config.yaml")
      --days-ago int        How many days back to search for pull requests (default 90)
      --ignore-user-repos   Ignore the user's own repos
      --interval int        How many seconds to wait before refreshing pull request data. Defaults to 6 hours (default 21600)
      --port int            What port to listen on (default 8080)
pflag: help requested

Configuration file

The CLI expects a YAML config file like so:

---
config:
  users:
    - circa10a
    - sindresorhus

You can also look in the examples directory

Docker

docker run -p 8080:8080 -v $PWD/config.yaml:/config.yaml circa10a/github-pr-exporter

docker-compose

First, update examples/config.yaml

Then, to start a preconfigured prometheus + grafana + exporter stack:

docker compose up

Then you can browse the preconfigured dashboard at http://localhost:3000/d/h_PRluMnk/pull-requests?orgId=1

Metrics

Name Type Cardinality Help
pull_request gauge 4 A pull request from a user in config. Contains labels user, created_at, link, and status
pull_request_total gauge 0 Total number of pull requests created by all users in the configured time window (previous 90 days)