Releases: promhippie/github_exporter
v2.2.0
Changelog for 2.2.0
The following sections list the changes for 2.2.0.
Summary
- Fix #190: Prevent concurrent scrapes
- Enh #193: Integrate option pprof profiling
- Enh #200: New metrics and configs for workflow collector
Details
-
Bugfix #190: Prevent concurrent scrapes
If the exporter got some kind of duplicated repository names configured it lead to errors
because the label combination had been scraped already. We have added some simple checks to
prevent duplicated exports an all currently available collectors. -
Enhancement #193: Integrate option pprof profiling
We have added an option to enable a pprof endpoint for proper profiling support with the help of
tools like Parca. The endpoint/debug/pprof
can now optionally be enabled to get the
profiling details for catching potential memory leaks. -
Enhancement #200: New metrics and configs for workflow collector
We have added a new metric for the duration of the time since the workflow run was created,
defined in minutes. Beside that we have added two additional configurations to query the
workflows for a specific status and you are able to define a different timeframe than 12 hours
now. Finally we have also added the run ID to the labels.
v2.1.0
Changelog for 2.1.0
The following sections list the changes for 2.1.0.
Summary
- Enh #187: Integrate a flage to define pagination size
Details
v2.0.1
Changelog for 2.0.1
The following sections list the changes for 2.0.1.
Summary
- Fix #185: Improve parsing of private key for GitHub app
Details
-
Bugfix #185: Improve parsing of private key for GitHub app
Previously we always checked if a file with the value exists if a private key for GitHub app
authentication have been provided, now I have switched it to try to base64 decode the string
first, and try to load the file afterwards which works more reliable and avoids leaking the
private key into the log output.
v2.0.0
Changelog for 2.0.0
The following sections list the changes for 2.0.0.
Summary
- Fix #184: Set right name/owner labels for runner metrics
- Enh #123: Add metrics for GitHub runners
- Enh #123: Add metrics for GitHub workflows
- Enh #174: Merge all billing related metrics
- Enh #174: Update all releated dependencies
- Enh #183: Integrate admin stats for GitHub enterprise
- Enh #184: Use getter functions to get values
Details
-
Bugfix #184: Set right name/owner labels for runner metrics
We introduced metrics for GitHub self-hosted runners but we missed some important labels as
remaining todos. With this change this gets corrected to properly show the
repo/org/enterprise where the runner have been attached to. -
Enhancement #123: Add metrics for GitHub runners
We've added new metrics for selfhosted runners used per repo, org or enterprise to give the
ability to check if the runners are online and busy. -
Enhancement #123: Add metrics for GitHub workflows
We've added new metrics for the observability of GitHub workflows/actions, they are disabled
by default because it could result in a high cardinality of the labels. -
Enhancement #174: Merge all billing related metrics
We've merged the three available collectors only related to billing into a single billing
collector to reduce the required options and simply because they related to each other. -
Enhancement #174: Update all releated dependencies
We've updated all dependencies to the latest available versions, including the build tools
provided by Bingo. -
Enhancement #183: Integrate admin stats for GitHub enterprise
We've integrated another collector within this exporter to provide admin stats as metrics to
get a general overview about the amount of repos, issues, pull requests and so on. Special
thanks for the great initial work by @mafrosis, your effort is highly appreciated. -
Enhancement #184: Use getter functions to get values
To reduce the used boilerplate code and to better use the GitHub library we have updated most of
the available collectors to simply use the provided getter functions instead of checking for
nil values everywhere on our own.
v1.2.0
Changelog for 1.2.0
The following sections list the changes for 1.2.0.
Summary
- Enh #145: Add support for GitHub app
Details
v1.1.1
Changelog for 1.1.1
The following sections list the changes for 1.1.1.
Summary
- Fix #75: Fixed wildcard matching for private repos
Details
v1.1.0
Changelog for 1.1.0
The following sections list the changes for 1.1.0.
Summary
- Fix #67: Fixed typecasts within billing API
- Chg #45: Change docker image name
- Chg #42: Drop darwin/386 release builds
- Chg #46: Generate metrics documentation
- Chg #71: Integrate standard web config
- Chg #68: Add support for wildcard repo match
Details
-
Bugfix #67: Fixed typecasts within billing API
In some cases it happened that the GitHub billing API responded with floats, but we only
accepted integers. With this fix any number should be casted to floats all the time. -
Change #45: Change docker image name
We should use the same docker image name as all the other exporters within this organization. So
we renamed the image frompromhippie/github_exporter
topromhippie/github-exporter
to have the same naming convention as for the other exporters. -
Change #42: Drop darwin/386 release builds
We dropped the build of 386 builds on Darwin as this architecture is not supported by current Go
versions anymore. -
Change #46: Generate metrics documentation
We have added a script to automatically generate the available metrics within the
documentation to prevent any documentation gaps. Within thehack/
folder we got a small Go
script which parses the available collectors and updates the documentation partial based on
that. -
Change #71: Integrate standard web config
We integrated the new web config from the Prometheus toolkit which provides a configuration
for TLS support and also some basic builtin authentication. For the detailed configuration
you check out the documentation. -
Change #68: Add support for wildcard repo match
We integrated the functionality to add a wildcard matching for repository names to export
metrics from. Now you don't need to add every single repo you want to match, you can add a whole
organization.
v1.0.1
Changelog for 1.0.1
The following sections list the changes for 1.0.1.
Summary
- Fix #49: Fixed pointer references within exporters
Details
v1.0.0
Changelog for 1.0.0
The following sections list the changes for 1.0.0.
Summary
- Fix #18: Handle private repos counts not available to non-organization member
- Chg #12: Refactor structure and integrate more metrics
- Enh #19: Allow insecure TLS via CLI flag
- Enh #20: Add flag to set /metrics endpoint request timeout
Details
-
Bugfix #18: Handle private repos counts not available to non-organization member
Fix the case where the account used to query GitHub API is not a member of a given organisation, it
resulted in a segfault. -
Change #12: Refactor structure and integrate more metrics
The structure of the repository should get overhauled and beside that we should gather more
metrics per organization and per repository. Additionally we should also add support for
GitHub Enterprise as requested within
#10. -
Enhancement #19: Allow insecure TLS via CLI flag
In some cases it can be desirable to ignore certificate errors from the GitHub API - such as in the
case of connecting to a private instance of GitHub Enterprise which uses a self-signed cert.
This is exposed via the environment variableGITHUB_EXPORTER_TLS_INSECURE
and the flag
--github.insecure
. -
Enhancement #20: Add flag to set /metrics endpoint request timeout
When pulling a lot of data from the GitHub API, in some cases the default 10s timeout on the
/metrics
endpoint can be insufficient. This option allows the timeout to be configured via
GITHUB_EXPORTER_WEB_TIMEOUT
or--web.timeout
v0.2.0
Changelog for 0.2.0
The following sections list the changes for 0.2.0.
Summary
Details
-
Change #4: Enforce a repo or an org flag
The exporter requires at least one organization or repository to work properly, integrated a
check that something have been set when launching the exporter. -
Change #2: Renamed valid_response metric to up metric
The previous metric
github_valid_response
doesn't match the Prometheus conventions, so
it have been renamed togithub_up
which properly signals if the exporter can gather metrics
or not.