Sign inSign up

kyobad/github-developer-exporter

By kyobad

•Updated almost 7 years ago

https://github.com/ko-da-k/github-developer-exporter

Image
0

110

kyobad/github-developer-exporter repository overview

⁠Documentation

github-developer-exporter is a prometheus exporter which talks to GitHub or GitHub Enterprise API to get information about Organization, Repository, Issue and Pull Request connected to Assignee, Requested Reviewers, State etc.

⁠Why do we create it ?

One of the problem in developer teams is that someone has a lot of tasks comparing with other members. Unbalanced assign of issues and of reviews makes them less productive. And we have no solution or tool to track time-series task assignee or requested reviewers. So we create it to check developer team conditions through time-series analysis via prometheus.

⁠What I can do

We can visualize time-series Organization, Repository, Issue or Pull Request with labels as a Prometheus Exporter.

Prometheus⁠ is a open source systems monitoring with time series data. Grafana⁠ is a open source analytics and monitoring solution for every database.

⁠Installation

This exporter is written in Go⁠, making it easy to build and deploy as a static binary. You can clone this repository and build yourself or pull image from DockerHub⁠.

⁠Environment Variable

NameDescription
PORTserver port. default: 8888
MAX_WORKERbackground worker num. default: 2
MAX_QUEUEbackground queue size. default: 5
GITHUB_TOKENtoken for GitHub API.
GITHUB_ORGSorganization name. if you want to check multiple organizations, you can set them with comma. e.g. "hoge,fuga"
GITHUB_URLIf GH:E, you should set your gh:e endpoint. default: https://api.github.com/⁠
GITHUB_INTERVALyou should set it becaulse of API rate limit. default: 30 (minute)

⁠Metrics

Metric nameMetric typeLabels/tagsStatus
org_infogaugelogin=<\login-field>
name=<\organization-name>
url=<url>
email=<\organization-email>
blog=<\blog-url>
created_at=<\created timestamp>
updated_at=<\last update timestamp>
STABLE
org_total_repos_countgaugelogin=<\login-field>
name=<\organization-name>
url=<\url>
email=<\organization-email>
blog=<\blog-url>
created_at=<\created timestamp>
updated_at=<\last update timestamp>
STABLE
org_public_repos_countgaugelogin=<\login-field>
name=<\organization-name>
url=<\url>
email=<\organization-email>
blog=<\blog-url>
created_at=<\created timestamp>
updated_at=<\last update timestamp>
STABLE
org_private_repos_countgaugelogin=<\login-field>
name=<\organization-name>
url=<\url>
email=<\organization-email>
blog=<\blog-url>
created_at=<\created timestamp>
updated_at=<\last update timestamp>
STABLE
repo_infogaugeorg_name=<\organization-name>
name=<\repository-name>
full_name=<\fullname>
owner=<\organization-owner>
url=<\repository-url>
default_branch=<\default-branch>
archived=<\true or false>
laungage=<\mainly used laungage>
created_at=<\created timestamp>
updated_at=<\last updated timestamp>
pushed_at=<\last pushed timestamp>
STABLE
repo_open_issue_countgaugeorg_name=<\organization-name>
name=<\repository-name>
full_name=<\fullname>
owner=<\organization-owner>
url=<\repository-url>
default_branch=<\default-branch>
archived=<\true or false>
laungage=<\mainly used laungage>
created_at=<\created timestamp>
updated_at=<\last updated timestamp>
pushed_at=<\last pushed timestamp>
STABLE
issue_infogaugeorg_name=<\organization-name>
repo_name=<\repository-name>
state=<\open or close>
title=<\issue-title>
created_at=<\creation timestamp>
updated_at=<\last updated timestamp>
closed_at=<\If not closed, it returns "">
assignee=<\if not assigned, it returns "">
label=<\labels joined with comma. e.g. "good first issue,help wanted">
STABLE
pull_request_infogaugeorg_name=<\organization-name>
repo_name=<\repository-name>
state=<\open or close\>
title=<\issue-title>
created_at=<\creation timestamp>
updated_at=<\last updated timestamp>
closed_at=<\If not closed, it returns "".>
assignee=<\If not assigned, it returns "".>
reviewer=<\If someone finished review, it does not return them.>
label=<labels joined with comma. e.g. "good first issue,help wanted">
STABLE

Tag summary

Content type

Image

Digest

Size

17.1 MB

Last updated

almost 7 years ago

docker pull kyobad/github-developer-exporter:v0.1.0