Skip to content

0.4.0

Compare
Choose a tag to compare
@mvisonneau mvisonneau released this 09 Oct 14:53
· 413 commits to main since this release
30dfe98

BREAKING CHANGES

  1. The configuration syntax has been restructured quite a bit and some runtime flags have been moved in it as well. Refer to the updated documentation to check what you may need to update.

  2. Some metrics have been renamed:

Original metric name New metric name
gitlab_ci_pipeline_last_job_run_artifact_size gitlab_ci_pipeline_job_artifact_size_bytes
gitlab_ci_pipeline_last_job_run_artifact_size gitlab_ci_pipeline_job_artifact_size_bytes
gitlab_ci_pipeline_last_job_run_duration_seconds gitlab_ci_pipeline_job_duration_seconds
gitlab_ci_pipeline_last_job_run_id gitlab_ci_pipeline_job_id
gitlab_ci_pipeline_last_job_run_status gitlab_ci_pipeline_job_status
gitlab_ci_pipeline_last_run_duration_seconds gitlab_ci_pipeline_duration_seconds
gitlab_ci_pipeline_last_run_id gitlab_ci_pipeline_id
gitlab_ci_pipeline_last_run_status gitlab_ci_pipeline_status
gitlab_ci_pipeline_time_since_last_job_run_seconds gitlab_ci_pipeline_job_timestamp
gitlab_ci_pipeline_time_since_last_run_seconds gitlab_ci_pipeline_timestamp
  1. On top of being renamed, the .*time_since.* metrics have been also converted to timestamps.
    You will need to update your PromQL queries to leverage the new format. eg: time() - gitlab_ci_pipeline_timestamp

  2. We now output sparse status metrics by default, if you want to revert to the default behaviour you will need to add this
    statement to your config file:

defaults:
  output_sparse_status_metrics: false

Added

  • HA configuration capabilities using Redis (optional feature, example here)
  • Push based approach leveraging pipelines & jobs webhooks (optional feature, example here)
  • gosec testing

Changed

  • Upgraded urfave/cli to v2
  • Refactored the codebase to make it compliant with golang standards and more domain-driven
  • Included the version of the app in the user agent of GitLab queries
  • Rewritten the scheduling of the polling using vmihailenco/taskq
  • Updated the rate limiter to work globally across several workers
  • Fixed an issue preventing the jobs from being updated accordingly when restarted
  • Updated the example grafana dashboard with the new metrics naming
  • Bumped Grafana and Prometheus versions in the example

Removed

  • polling_workers configuration parameter