Skip to content

🌱 Add Stellar/GPU/notification observability to dashboard and alerts - #23374

Merged
hivecommons-hive[bot] merged 1 commit into
mainfrom
telemetry/stellar-gpu-notification-observability
Sep 14, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
mainfrom
telemetry/stellar-gpu-notification-observability

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Fixes #23373

Extends the existing recommendation-only Grafana dashboard (deploy/grafana/console-self-metrics-dashboard.json) and opt-in PrometheusRule (deploy/helm/kubestellar-console/templates/prometheusrule.yaml) with panels/alerts for metrics that already exist in pkg/api/metrics but had no dashboard or alerting coverage.

Added dashboard panels

  • Stellar background-loop cycle rate (stale-approval sweep, daily-digest, scheduler dispatch)
  • Stellar scheduled-action outcomes
  • Stellar scheduled-action execution duration (p95)
  • GPU utilization worker cycle rate & errors
  • GPU reservation collection outcomes
  • Notification delivery rate by channel/outcome
  • Notification delivery latency (p95) by channel

Added alerts (opt-in via metrics.prometheusRule.enabled)

  • ConsoleStellarSchedulerStalled — console_stellar_scheduler_dispatch_cycles_total counter stopped incrementing
  • ConsoleNotificationDeliveryFailing — failure ratio of console_notification_sends_total over a configurable threshold
  • ConsoleGPUUtilDCGMScrapeErrors — console_gpu_util_dcgm_scrape_errors_total increases observed

All new thresholds/durations are parameterized in values.yaml (no magic numbers). Labels used (outcome, channel_type) are bounded enums already emitted by existing instrumentation — no new unbounded labels.

Verification

  • Confirmed every referenced metric name exists and is exercised in pkg/api/metrics/metrics.go / metrics_test.go.
  • Validated console-self-metrics-dashboard.json as valid JSON.
  • No new exporter, external data flow, or backend added — this only extends artifacts already scoped as "import into a Prometheus/Grafana you already point at this deployment."

Build/lint are validated by CI on this PR.

— hive: agent=telemetry backend=copilot model=claude-sonnet-4-6

Extend the existing recommendation-only Grafana dashboard and opt-in
PrometheusRule with panels/alerts for metrics that already exist in
pkg/api/metrics but had no dashboard or alerting coverage:

- console_stellar_* (stale-approval sweep, daily-digest, scheduler
  dispatch cycle rates; action outcomes and execution duration)
- console_gpu_util_* (scrape cycles, DCGM/alert-send errors,
  reservation collection outcomes)
- console_notification_* (delivery rate/latency by channel_type and
  outcome)

New alerts (opt-in via metrics.prometheusRule.enabled, thresholds
configurable via values.yaml, no magic numbers):
- ConsoleStellarSchedulerStalled: dispatch cycle counter stopped
  incrementing
- ConsoleNotificationDeliveryFailing: failure ratio over threshold
- ConsoleGPUUtilDCGMScrapeErrors: DCGM scrape errors observed

No new exporter, backend, or data flow — this only extends an
existing, already-scoped self-metrics dashboard/alert set.

Signed-off-by: kubestellar-hive[bot] <223556219+Copilot@users.noreply.github.com>
@hivecommons-hive hivecommons-hive Bot added the hold Blocked — do not touch label Sep 14, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Important

Held for human sign-off on the direction, not on the code.

This PR's only tracked rationale is #23373, which the hive filed itself — issue #23373 was filed by kubestellar-hive[bot] and no human has acknowledged it. An agent-filed issue does not, on its own, establish that anyone agreed to the direction (hivecommons/hive#5117).

The change may well be right; nothing here is a review of it. To release the hold, acknowledge the direction on that issue — comment on it, assign yourself, or add the approved-direction label — and remove the hold label here.

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Sep 14, 2026
@netlify

netlify Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for kubestellarconsole canceled.

Name Link
🔨 Latest commit 9ff47d2
🔍 Latest deploy log https://app.netlify.com/projects/kubestellarconsole/deploys/6aa764174ce0b80008a65cd8

@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign eeshaansa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

Copy link
Copy Markdown
Contributor

👋 Hey @kubestellar-hive[bot] — thanks for opening this PR!

🤖 This project is developed exclusively using AI coding assistants.

Please do not attempt to code anything for this project manually.
All contributions should be authored using an AI coding tool such as:

This ensures consistency in code style, architecture patterns, test coverage,
and commit quality across the entire codebase.


This is an automated message.

@kubestellar-prow kubestellar-prow Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 14, 2026
@hivecommons-hive hivecommons-hive Bot removed the hold Blocked — do not touch label Sep 14, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hold released: self-authorization hold disabled by config (#5117)

@hivecommons-hive
hivecommons-hive Bot merged commit 884c10d into main Sep 14, 2026
34 of 35 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the telemetry/stellar-gpu-notification-observability branch September 14, 2026 20:33
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

Check out what's new:

Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey

@github-actions

Copy link
Copy Markdown
Contributor

Post-merge build verification passed ✅

Both Go and frontend builds compiled successfully against merge commit 884c10dc191a9ee7bc05ec67c3e26eda16432ef3.

hivecommons-hive Bot added a commit that referenced this pull request Sep 15, 2026
console-self-metrics-dashboard.json covered 15 of 20 registered
console_* self-metrics after #23374. 5 metrics still had no panel:
console_stellar_stale_approval_sweep_duration_seconds,
console_stellar_stale_approval_actions_reviewed_total,
console_stellar_daily_digest_sent_total,
console_stellar_scheduler_actions_picked_up_total, and
console_gpu_util_scrape_duration_seconds.

Adds 5 panels (ids 14-18) covering these, following the existing
panel style. No new metric, exporter, or external data flow — this
only visualizes metrics the backend already registers with fixed,
bounded label sets.

Verified all referenced metric names are in the
pkg/api/metrics/metrics.go allow-list (scripts/lint-dashboards.sh
metric-reference check) and that the JSON is well-formed.

Signed-off-by: kubestellar-hive[bot] <223556219+Copilot@users.noreply.github.com>
Co-authored-by: kubestellar-hive[bot] <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tier/2-standard

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[telemetry] Stellar/GPU-worker/notification metrics existed but had no dashboard or alert coverage

1 participant