Skip to content

Update celery exporter#1

Open
Panyaze wants to merge 23 commits into
emburse:masterfrom
danihodovic:master
Open

Update celery exporter#1
Panyaze wants to merge 23 commits into
emburse:masterfrom
danihodovic:master

Conversation

@Panyaze
Copy link
Copy Markdown

@Panyaze Panyaze commented Aug 7, 2025

mainly version bumps


Note

Medium Risk
Python 3.14 and new container latest tagging can break builds or pull semantics; mixin PromQL and dashboard layout changes affect how operators monitor Celery in production.

Overview
Bumps the project runtime from Python 3.13 to 3.14 across CI, .python-version, the main Dockerfile, and Dockerfile.pyinstaller, and tags GHCR images with latest on release builds.

Docs: README adds PyPI install (prometheus-exporter-celery) and a quick /metrics scrape check.

Celery-mixin: Adds a dedicated GitHub Actions workflow (jsonnet generate/fmt, promtool, dashboard-linter, vale, pint) and expands the Makefile with vendored Go tooling and separate prometheus_alerts.yaml / prometheus_rules.yaml generation. Dashboards are refactored around mixin-utils, shared util.libsonnet filters/variables (including optional cluster), dashboardUrls/dashboardIds in config, and richer panels (summary pie charts, success-rate series, task row repeat). Regenerated dashboards_out JSON reflects new PromQL (cluster, multi queue selection, 1w stats, etc.). Alert annotation links use the new URL map.

Reviewed by Cursor Bugbot for commit 0e0f4a0. Bugbot is set up for automated code reviews on this repo. Configure here.

@snyk-io-us
Copy link
Copy Markdown

snyk-io-us Bot commented Jun 7, 2026

Snyk checks have failed. 1 issues have been found so far.

Status Scan Engine Critical High Medium Low Total (1)
Open Source Security 0 1 0 0 1 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0e0f4a0. Configure here.

%(queue)s,
%(taskV)s,
%(celeryIgnoredTasks)s
||| % this,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mandatory cluster label filter

Medium Severity

Generated Grafana queries now always include cluster="$cluster" in every panel filter, and the hidden cluster variable is populated from label_values(..., cluster). The exporter does not emit a cluster label, and showMultiCluster defaults to false, so typical Prometheus setups that worked with the previous dashboards will match no series and show empty panels.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0e0f4a0. Configure here.

cluster:
query.new(
config.clusterLabel,
'label_values(celery_worker_up{}, cluster)',
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong label in cluster variable

Low Severity

The cluster template variable query hardcodes the label name cluster in label_values, while panel filters use config.clusterLabel (default cluster). Overriding clusterLabel in config leaves the variable reading one label and queries filtering on another, so variables and panels disagree.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0e0f4a0. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

7 participants