{"id":17511730,"url":"https://github.com/claws/buildbot-prometheus","last_synced_at":"2025-04-23T12:54:09.759Z","repository":{"id":11142837,"uuid":"68510990","full_name":"claws/buildbot-prometheus","owner":"claws","description":"A Prometheus metrics exporter for Buildbot.","archived":false,"fork":false,"pushed_at":"2022-03-06T03:58:20.000Z","size":29,"stargazers_count":18,"open_issues_count":1,"forks_count":11,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T22:17:47.663Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/claws.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-18T09:25:16.000Z","updated_at":"2024-11-21T01:33:04.000Z","dependencies_parsed_at":"2022-08-07T06:01:10.294Z","dependency_job_id":null,"html_url":"https://github.com/claws/buildbot-prometheus","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claws%2Fbuildbot-prometheus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claws%2Fbuildbot-prometheus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claws%2Fbuildbot-prometheus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claws%2Fbuildbot-prometheus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/claws","download_url":"https://codeload.github.com/claws/buildbot-prometheus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250439121,"owners_count":21430819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-20T05:09:43.495Z","updated_at":"2025-04-23T12:54:09.744Z","avatar_url":"https://github.com/claws.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Buildbot Prometheus Exporter\n============================\n\n``buildbot-prometheus`` is a Python package providing a Prometheus metrics\nexporter for a buildbot master. The package works on Python 3.\n\n\nInstallation\n------------\n\n.. code-block:: console\n\n    $ pip install buildbot_prometheus\n\nThe ``setup.py`` file includes an *entry_points* directive that configures\nit as a Buildbot *reporters* plugin which simplifies its use in the Buildbot\nconfiguration file.\n\nTo use the Prometheus reporter plugin add the following to your buildbot\n``master.cfg`` file and (re)start the master.\n\n.. code-block:: python\n\n    c['services'].append(reporters.Prometheus(port=9100))\n\nThe buildbot master should now be exposing metrics to Prometheus. You can\ncheck the metrics service using the simple command line tool *curl*:\n\n.. code-block:: console\n\n    $ curl -s localhost:9100/metrics | grep -v \"#\" | sort\n    buildbot_build_requests_duration_seconds{builder_id=\"1\"} 2.0\n    buildbot_build_requests_success{builder_id=\"1\"} 1.0\n    buildbot_builders_running_total 1.0\n    buildbot_builders_running{builder_id=\"1\",builder_name=\"runtests\"} 1.0\n    buildbot_builds_duration_seconds{builder_id=\"1\",worker_id=\"2\"} 2.571184\n    buildbot_builds_success{builder_id=\"1\",worker_id=\"2\"} 1.0\n    buildbot_buildsets_duration_seconds{buildset_id=\"8\"} 2.0\n    buildbot_buildsets_success{buildset_id=\"8\"} 1.0\n    buildbot_steps_duration_seconds{builder_id=\"1\",step_name=\"git\",step_number=\"0\",worker_id=\"2\"} 1.742647\n    buildbot_steps_duration_seconds{builder_id=\"1\",step_name=\"shell\",step_number=\"1\",worker_id=\"2\"} 0.334757\n    buildbot_steps_success{builder_id=\"1\",step_name=\"git\",step_number=\"0\",worker_id=\"2\"} 1.0\n    buildbot_steps_success{builder_id=\"1\",step_name=\"shell\",step_number=\"1\",worker_id=\"2\"} 1.0\n    buildbot_workers_running_total 1.0\n    buildbot_workers_running{worker_id=\"2\",worker_name=\"worker1\"} 1.0\n\nA configuration block such as the following example should be added to\nthe Prometheus configuration file to instruct it to scrape the buildbot\nmetrics exporter.\n\n.. code-block:: yaml\n\n    scrape_configs:\n      - job_name: 'buildbot'\n        target_groups:\n          - targets: ['localhost:9100']\n\nPrometheus will then automatically associate a ``job`` label of ``buildbot``\nwith metrics from this exporter. Prometheus will also automatically associate\nan ``instance`` label (e.g. 'localhost:9100') too.\n\nAll metrics exposed by this exporter are prefixed with the ``buildbot_``\nstring as a namespace strategy to isolate them from other Prometheus exporters.\nThis makes them easier to find in metrics consumer and visualisation tools\nsuch as Grafana.\n\nAll duration metrics use seconds as the unit of measure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaws%2Fbuildbot-prometheus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaws%2Fbuildbot-prometheus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaws%2Fbuildbot-prometheus/lists"}