Skip to content

Releases: promhippie/github_exporter

v2.2.0

07 Jun 07:42
v2.2.0
Compare
Choose a tag to compare

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.

    #190

  • 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.

    #193

  • 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.

    #200
    #214

v2.1.0

24 Mar 22:18
v2.1.0
Compare
Choose a tag to compare

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

  • Enhancement #187: Integrate a flage to define pagination size

    There had been no way to set a specific page size before, we have added an option/flag that you are
    able to define the pagination size on your own to avoid running into rate limits.

    #187

v2.0.1

23 Mar 20:02
v2.0.1
Compare
Choose a tag to compare

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.

    #185

v2.0.0

23 Mar 09:09
v2.0.0
97483e4
Compare
Choose a tag to compare

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.

    #184

  • 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.

    #123

  • 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.

    #123

  • 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.

    #174

  • Enhancement #174: Update all releated dependencies

    We've updated all dependencies to the latest available versions, including the build tools
    provided by Bingo.

    #174

  • 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.

    #183
    #23

  • 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.

    #184

v1.2.0

22 Dec 13:43
v1.2.0
750f466
Compare
Choose a tag to compare

Changelog for 1.2.0

The following sections list the changes for 1.2.0.

Summary

  • Enh #145: Add support for GitHub app

Details

  • Enhancement #145: Add support for GitHub app

    We've added an integration with GitHub Apps. Organizations which are not able to use tokens for
    the API access are able to register a GitHub app for the API requests of this exporter now.

    #145

v1.1.1

20 Mar 21:35
v1.1.1
c270353
Compare
Choose a tag to compare

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

  • Bugfix #75: Fixed wildcard matching for private repos

    We have fixed the ability to match by globbing/wildcard for private repositories. So far the
    private repositories have been missing with the latest globbing/wildcard matching.

    #75

v1.1.0

13 Mar 22:55
v1.1.0
7790f96
Compare
Choose a tag to compare

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.

    #67

  • 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 from promhippie/github_exporter to promhippie/github-exporter
    to have the same naming convention as for the other exporters.

    #45

  • 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.

    #42

  • 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 the hack/ folder we got a small Go
    script which parses the available collectors and updates the documentation partial based on
    that.

    #46

  • 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.

    #71

  • 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.

    #68

v1.0.1

19 Apr 22:37
v1.0.1
Compare
Choose a tag to compare

Changelog for 1.0.1

The following sections list the changes for 1.0.1.

Summary

  • Fix #49: Fixed pointer references within exporters

Details

  • Bugfix #49: Fixed pointer references within exporters

    So far we directly accessed common attributes on repos within the collectors, but as there
    could be corner cases where some attribute could be missing we add conditions to make sure only
    set values are getting called.

    #49

v1.0.0

17 Nov 10:11
v1.0.0
2cb1c95
Compare
Choose a tag to compare

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.

    #18

  • 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.

    #12

  • 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 variable GITHUB_EXPORTER_TLS_INSECURE and the flag
    --github.insecure.

    #19

  • 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

    #20

v0.2.0

28 Oct 15:35
Compare
Choose a tag to compare

Changelog for 0.2.0

The following sections list the changes for 0.2.0.

Summary

  • Chg #4: Enforce a repo or an org flag
  • Chg #2: Renamed valid_response metric to up metric

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.

    #4

  • 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 to github_up which properly signals if the exporter can gather metrics
    or not.

    #2