Skip to content

HYPERFLEET-1361 - feat: Add Grafana dashboard for API and DB metrics - #311

Merged
openshift-merge-bot[bot] merged 9 commits into
openshift-hyperfleet:mainfrom
tirthct:hyperfleet-1361
Aug 4, 2026
Merged

HYPERFLEET-1361 - feat: Add Grafana dashboard for API and DB metrics#311
openshift-merge-bot[bot] merged 9 commits into
openshift-hyperfleet:mainfrom
tirthct:hyperfleet-1361

Conversation

@tirthct

@tirthct tirthct commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a pre-built Grafana dashboard (charts/dashboards/hyperfleet-api.json) covering all 11 hyperfleet_api_* and hyperfleet_db_* Prometheus metrics across 12 panels
  • Update docs/metrics.md to replace the stub dashboard section with actual import instructions, coverage inventory, and behavioral notes
  • Bump Helm chart version 1.1.0 → 1.2.0 for the new dashboard artifact

Dashboard panels

# Panel Metric(s) Key PromQL
1 HTTP Request Rate requests_total sum by (code) (rate(...))
2 Build Info (API Status) build_info stat panel, value mapping
3 Request Duration request_duration_seconds histogram_quantile P50/P95/P99
4 Server Error Rate requests_total{code=~"5.."} sum by (path) (rate(...))
5 Reconciliation Started reconciliation_started_total sum by (resource_type, is_delete) (rate(...))
6 Pending Reconciliation resource_pending_reconciliation max by (resource_type, is_delete)
7 Stuck Resources resource_pending_reconciliation_stuck max by (resource_type, is_delete)
8 Max Stuck Duration resource_pending_reconciliation_stuck_duration_seconds max by (resource_type, is_delete)
9 DB Query Duration db_query_duration_seconds histogram_quantile P50/P95/P99
10 DB Error Rate db_errors_total sum by (error_type) (rate(...))
11 DB Connection Pool db_connections_open + db_connections_in_use sum(...)
12 Top Paths requests_total topk(10, ...) instant table

Design decisions

  • Parameterized datasource — no hardcoded UIDs; works across environments
  • Multi-replica aware — reconciliation gauges use max by (identical SQL results), connection pool uses sum (per-instance)
  • No stacking on error panels — error types shown as individual trends to avoid masking low-volume types
  • Reconciliation gauge panels show "No data" when no resources match (expected, not a broken datasource)

Test plan

  • Import dashboard into Grafana with a Prometheus datasource configured to scrape hyperfleet-api
  • Verify all 12 panels render data (or "No data" for reconciliation gauges when no resources are pending)
  • Confirm datasource variable dropdown works and panels update on selection
  • Validate helm-test CI check passes (make helm-docs already run)
  • Verify charts/README.md reflects version 1.2.0

Screenshots

image image

@openshift-ci
openshift-ci Bot requested review from crizzo71 and sherine-k July 23, 2026 18:47
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added a Grafana dashboard for monitoring API, reconciliation, database, connection pool, and build metrics.
    • Included panels for request rates, latency, errors, resource status, and top request paths.
  • Documentation

    • Added instructions for importing and configuring the dashboard, including its available metric panels and Prometheus datasource settings.

Walkthrough

This PR adds a new Grafana dashboard JSON file (charts/dashboards/hyperfleet-api.json) that defines panels for API request rate/status, request latency, server errors, reconciliation activity/stuck resources, database query duration/errors, connection pool usage, and top request paths. docs/metrics.md is updated to document the shipped dashboard, its panel categories, import steps, and gauge behavior. CHANGELOG.md records the addition.

Estimated code review effort: 3 (Moderate) | ~20 minutes

CWE-1104 applies: this JSON dashboard is untracked configuration with no schema validation shown in the diff. Confirm the file is pinned to a specific Grafana dashboard schema version and that Prometheus datasource templating does not allow query injection via the templated variable (CWE-89 analog for PromQL). No code identifiers change; supply-chain surface is limited to this one new artifact file plus doc text. No CI/CD, dependency, or IDE config changes present in this diff — verify that claim holds outside the given scope.

Suggested reviewers: crizzo71, sherine-k, rafabene

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Sec-02: Secrets In Log Output ✅ Passed No log statements (slog, logr, zap, fmt.Print*) containing secrets, passwords, tokens, or credentials found in modified files; PR adds JSON dashboard config and documentation only.
No Hardcoded Secrets ✅ Passed Full PR scan found no API keys, tokens, passwords, private keys, credential URLs, secret-named string assignments, or base64 strings over 32 characters; CWE-798 not present.
No Weak Cryptography ✅ Passed PR modifies only Grafana dashboard JSON configuration and Markdown documentation—no executable code files that could contain cryptographic primitives or implementations.
No Injection Vectors ✅ Passed PR adds Grafana dashboard JSON, metrics docs, and changelog—no executable code or injection patterns. PromQL queries use hardcoded metric names; datasource variable only in safe UID fields.
No Privileged Containers ✅ Passed PR modifies only CHANGELOG.md, docs/metrics.md, and a Grafana dashboard JSON file. No Kubernetes manifests, Helm templates, or Dockerfiles modified. Check does not apply.
No Pii Or Sensitive Data In Logs ✅ Passed PR adds Grafana dashboard and metrics documentation with no logging statements. All PromQL expressions reference aggregated metrics only; no PII, credentials, or raw request bodies exposed.
Title check ✅ Passed The title clearly identifies the addition of a Grafana dashboard for HyperFleet API and database metrics.
Description check ✅ Passed The description directly explains the dashboard, documentation, Helm chart, design decisions, and validation steps in the changeset.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Comment @coderabbitai help to get the list of available commands.

@hyperfleet-ci-bot

hyperfleet-ci-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown

Risk Score: 2 — risk/medium

Signal Detail Points
PR size 1219 lines (>500) +2
Sensitive paths none +0

Computed by hyperfleet-risk-scorer

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@charts/Chart.yaml`:
- Line 5: Add a short note to charts/templates/NOTES.txt mentioning the bundled
charts/dashboards/hyperfleet-api.json dashboard, alongside the existing API,
validation schema, and JWT settings notes, so install and upgrade output
includes this user-facing artifact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: ee8bf80a-5749-467a-af9e-0ec817167be8

📥 Commits

Reviewing files that changed from the base of the PR and between 913cd01 and 9fe2730.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • charts/Chart.yaml
  • charts/README.md
  • charts/dashboards/hyperfleet-api.json
  • docs/metrics.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread charts/Chart.yaml Outdated
description: HyperFleet API - Cluster Lifecycle Management Service
type: application
version: 1.1.0
version: 1.2.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
fd -p 'NOTES.txt' charts | xargs -I{} sh -c 'echo "--- {} ---"; cat {}'

Repository: openshift-hyperfleet/hyperfleet-api

Length of output: 2053


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== chart files referencing dashboard =="
rg -n --hidden --glob 'charts/**' -i 'dashboard|grafana' charts || true

echo
echo "== chart NOTES file =="
cat -n charts/templates/NOTES.txt

Repository: openshift-hyperfleet/hyperfleet-api

Length of output: 2608


Add the bundled dashboard to charts/templates/NOTES.txt
charts/dashboards/hyperfleet-api.json ships with the chart, but the NOTES file only covers the API, validation schema, and JWT settings. Add a short dashboard note so install/upgrade output covers the user-facing artifact.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@charts/Chart.yaml` at line 5, Add a short note to charts/templates/NOTES.txt
mentioning the bundled charts/dashboards/hyperfleet-api.json dashboard,
alongside the existing API, validation schema, and JWT settings notes, so
install and upgrade output includes this user-facing artifact.

Source: Path instructions

@tirthct tirthct changed the title HYPERFLEET-1361: Add Grafana dashboard for API and database metrics HYPERFLEET-1361 - feat: Add Grafana dashboard for API and DB metrics Jul 23, 2026
Comment thread charts/Chart.yaml Outdated
description: HyperFleet API - Cluster Lifecycle Management Service
type: application
version: 1.1.0
version: 1.2.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why the version bump when the json chart is not part of the helm output yet?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Removed

"type": "prometheus",
"uid": "${datasource}"
},
"expr": "max by (resource_type, is_delete) (hyperfleet_api_resource_pending_reconciliation_stuck)",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

When you append or vector(0) to any of the expressions, e.g. max by (resource_type, is_delete) (hyperfleet_api_resource_pending_reconciliation_stuck) or vector(0) the output graph looks better imo, the y axis defaults to 0, reads better than No data and there are no gaps in the graph. What do you think?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ach, changed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
charts/dashboards/hyperfleet-api.json (1)

1156-1156: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Add coverage for hyperfleet_api_active_connections.

The architecture contract includes this metric, but none of the 12 panel targets queries it. The dashboard therefore misses a production visibility signal despite the PR objective claiming complete API/DB metric coverage. Add a panel or correct the metric inventory and documentation before merge (CWE-682).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@charts/dashboards/hyperfleet-api.json` at line 1156, Update the dashboard
metric inventory around the panel target definitions to cover
hyperfleet_api_active_connections by adding a panel target that queries it,
preserving the existing dashboard structure and coverage conventions;
alternatively, if the metric is intentionally unsupported, remove it from the
architecture contract and update the related documentation.

Source: Linked repositories

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@charts/dashboards/hyperfleet-api.json`:
- Around line 564-570: Update the PromQL expressions for “Resources Pending
Reconciliation” at charts/dashboards/hyperfleet-api.json:564-570, :656-662, and
:748-754 to use a label-aware global fallback with `or on() vector(0)`,
preventing an unlabeled zero series from being unioned with labeled data. Apply
the same expression change at all three sites.

---

Outside diff comments:
In `@charts/dashboards/hyperfleet-api.json`:
- Line 1156: Update the dashboard metric inventory around the panel target
definitions to cover hyperfleet_api_active_connections by adding a panel target
that queries it, preserving the existing dashboard structure and coverage
conventions; alternatively, if the metric is intentionally unsupported, remove
it from the architecture contract and update the related documentation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 90635993-b78d-43a5-86ae-b06fff5e18ca

📥 Commits

Reviewing files that changed from the base of the PR and between 8880167 and 0f9a69a.

📒 Files selected for processing (2)
  • charts/dashboards/hyperfleet-api.json
  • docs/metrics.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/metrics.md

Comment thread charts/dashboards/hyperfleet-api.json Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@charts/dashboards/hyperfleet-api.json`:
- Line 564: Update the PromQL expressions for this panel and the other two
related panels so fallback zeros preserve or generate the expected resource_type
and is_delete label combinations, rather than using a single unlabeled
vector(0); alternatively, revise each panel description to accurately describe
the unlabeled whole-vector fallback. Keep the query behavior and panel text
consistent across all three panels.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 16b2db62-a80f-431a-ad35-458e6c32f114

📥 Commits

Reviewing files that changed from the base of the PR and between 0f9a69a and 381e7f4.

📒 Files selected for processing (1)
  • charts/dashboards/hyperfleet-api.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread charts/dashboards/hyperfleet-api.json Outdated
Comment thread CHANGELOG.md Outdated

### Added

- Grafana dashboard for API and database metrics (`charts/dashboards/hyperfleet-api.json`) — covers HTTP request rate/latency, reconciliation pending/stuck gauges, DB query duration/errors, connection pool, and build info ([#TBD](https://github.com/openshift-hyperfleet/hyperfleet-api/pull/TBD))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(#TBD) you can update this to be your pull request? #311

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment thread charts/dashboards/hyperfleet-api.json Outdated
},
"gridPos": {
"h": 8,
"w": 12,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

consider making this a little smallee? Do we need it to take up half the page?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ack, changed

Comment thread charts/dashboards/hyperfleet-api.json Outdated
Comment thread charts/dashboards/hyperfleet-api.json
Comment thread charts/dashboards/hyperfleet-api.json Outdated
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "max by (resource_type, is_delete) (hyperfleet_api_resource_pending_reconciliation) or on() vector(0)",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
"expr": "max by (resource_type, is_delete) (hyperfleet_api_resource_pending_reconciliation) or on() vector(0)",
"expr": "max by (resource_type, is_delete) (hyperfleet_api_resource_pending_reconciliation)",

In correspondence with:
https://github.com/openshift-hyperfleet/hyperfleet-api/pull/311/changes#r3691681058
https://github.com/openshift-hyperfleet/hyperfleet-api/pull/311/changes#r3691676826

@ma-hill

ma-hill commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

https://github.com/openshift-hyperfleet/hyperfleet-api/pull/311/changes#r3691682412

Added a note to change Panel 6 to use the default "noValue" instead of "or on() vector(0)"

Also should update Panel 7,8

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
charts/dashboards/hyperfleet-api.json (2)

1159-1200: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Make the dashboard part of the Helm release.

  • Set charts/Chart.yaml version and appVersion to 1.2.0.
  • Add values and a template to load charts/dashboards/hyperfleet-api.json.
  • Update charts/templates/NOTES.txt with dashboard access instructions.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@charts/dashboards/hyperfleet-api.json` around lines 1159 - 1200, Update the
chart metadata in Chart.yaml so both version and appVersion are 1.2.0, add the
required values configuration and template to provision
dashboards/hyperfleet-api.json as part of the Helm release, and extend
templates/NOTES.txt with instructions for accessing the deployed dashboard.

Source: Path instructions


176-188: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make API Status deterministic across replicas.

hyperfleet_api_build_info returns one series per scraped replica, and lastNotNull reduces each series independently. Aggregate the status query to one value and expose build versions separately to avoid duplicate or ambiguous Stat values during rollouts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@charts/dashboards/hyperfleet-api.json` around lines 176 - 188, Update the
`API Status` panel target using `hyperfleet_api_build_info` to aggregate replica
series into a single status value, and add a separate query or panel
representation for exposing build versions. Ensure the Stat visualization no
longer receives duplicate or ambiguous values during rollouts, while retaining
the existing datasource and dashboard context.

Source: MCP tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@charts/dashboards/hyperfleet-api.json`:
- Around line 531-532: Remove the noValue override from the reconciliation
dashboard panels and update their descriptions and docs/metrics.md to reflect
the no-data behavior when ReconciliationCollector.Collect emits no samples;
alternatively, add and test a PromQL fallback that preserves accurate
zero-versus-no-data semantics.

---

Outside diff comments:
In `@charts/dashboards/hyperfleet-api.json`:
- Around line 1159-1200: Update the chart metadata in Chart.yaml so both version
and appVersion are 1.2.0, add the required values configuration and template to
provision dashboards/hyperfleet-api.json as part of the Helm release, and extend
templates/NOTES.txt with instructions for accessing the deployed dashboard.
- Around line 176-188: Update the `API Status` panel target using
`hyperfleet_api_build_info` to aggregate replica series into a single status
value, and add a separate query or panel representation for exposing build
versions. Ensure the Stat visualization no longer receives duplicate or
ambiguous values during rollouts, while retaining the existing datasource and
dashboard context.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: bc05e32c-dca7-46db-88d6-2e330a8af715

📥 Commits

Reviewing files that changed from the base of the PR and between 381e7f4 and c1b1a33.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • charts/dashboards/hyperfleet-api.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md

Comment thread charts/dashboards/hyperfleet-api.json Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmd/hyperfleet-api/server/logging/request_logging_middleware.go`:
- Around line 33-35: Update the header logging condition in the request logging
middleware to verify that masking is enabled, not merely that masker is non-nil.
Add or reuse an Enabled method exposing the masking state from the masking
middleware, and only append masked headers when it reports enabled; otherwise
omit headers entirely.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b4aa7c0e-e993-407d-ba13-12f444f09cb1

📥 Commits

Reviewing files that changed from the base of the PR and between 381e7f4 and 8c0a4c8.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • charts/dashboards/hyperfleet-api.json
  • cmd/hyperfleet-api/server/logging/request_logging_middleware.go
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)
🚧 Files skipped from review as they are similar to previous changes (2)
  • CHANGELOG.md
  • charts/dashboards/hyperfleet-api.json

Comment thread cmd/hyperfleet-api/server/logging/request_logging_middleware.go Outdated
Comment thread docs/metrics.md Outdated
3. Select your Prometheus datasource from the dropdown
4. Click **Import**

The dashboard uses a parameterized `datasource` variable (no hardcoded UIDs) so it works across environments. Reconciliation gauge panels (pending, stuck, max stuck duration) fall back to 0 when no resources match the query.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Update comment with no data instead of fallback to 0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Hmm, these paChanged

Comment thread charts/dashboards/hyperfleet-api.json Outdated
}
],
"title": "Resources Pending Reconciliation",
"description": "Live-query gauge — falls back to 0 via PromQL when no resources are pending.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

doesn't it not fall back to 0 now? Update 6,7, 8?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Changed

@ma-hill

ma-hill commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ma-hill

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

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved label Aug 4, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit e8fb197 into openshift-hyperfleet:main Aug 4, 2026
10 checks passed
@tirthct
tirthct deleted the hyperfleet-1361 branch August 4, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants