Skip to content

feat: add Controller Internals Grafana dashboard - #460

Merged
kubernetes-prow[bot] merged 1 commit into
kubernetes-sigs:mainfrom
rawadhossain:dashboard/controller-internals
Sep 19, 2026
Merged

kubernetes-prow[bot] merged 1 commit into
kubernetes-sigs:mainfrom
rawadhossain:dashboard/controller-internals

Conversation

@rawadhossain

Copy link
Copy Markdown
Member

Description

This PR adds the Controller Internals section, fifth of five planned dashboard sections for node-readiness-controller.

Questions it answers:

  • Is the controller up and reachable?
  • Is it keeping up with incoming reconcile work?
  • Are workqueues building up or taking too long to process?
  • Are reconciliations failing?
  • Which controller version is currently running?

Most of these panels use metrics from controller-runtime and kube-state-metrics.

Panels in this Section

  • Controller Up - controller availability.
  • Workqueue Depth - queued reconcile work per controller.
  • Workqueue Latency (p99) - p99 time items spend waiting in the queue.
  • Reconcile Errors - failed reconcile attempts per second.
  • Bootstrap Completions - total bootstrap completions since the controller started.
  • Build Info - deployed version and pod identity.

Screenshot

Screenshot 2026-09-01 191801

Video demo

Section.5.mp4

Related to Issue #459

Type of Change

/kind feature

Testing

  • Verified all panels render correctly against live data in a kind + kwok test cluster
  • Confirmed the setup is reproducible from a clean cluster

@kubernetes-prow kubernetes-prow Bot added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 1, 2026
@netlify

netlify Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for node-readiness-controller canceled.

Name Link
🔨 Latest commit 9dcb599
🔍 Latest deploy log https://app.netlify.com/projects/node-readiness-controller/deploys/6a9fc8afc77dd0000832cae1

@kubernetes-prow kubernetes-prow Bot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 1, 2026
@rawadhossain rawadhossain mentioned this pull request Sep 1, 2026
2 of 6 tasks
@rawadhossain

Copy link
Copy Markdown
Member Author

/cc @AvineshTripathi

@AvineshTripathi AvineshTripathi left a comment

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.

initial look! I will need some time here to understand. Too many variables here!

Comment thread config/grafana/dashboards/node-readiness-controller.json Outdated
Signed-off-by: Rawad Hossain <rawad.hossain00@gmail.com>
@rawadhossain
rawadhossain force-pushed the dashboard/controller-internals branch from ae4a67c to 9dcb599 Compare September 8, 2026 08:34
@kubernetes-prow kubernetes-prow Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 8, 2026
@rawadhossain

rawadhossain commented Sep 8, 2026 •

Copy link
Copy Markdown
Member Author

Hey @AvineshTripathi, here's a quick breakdown so its easier to skim.

{
  "id": 10,                    → unique panel id, ignore it
  "type": "timeseries",          → line graph (vs "stat" = big number, "table" = table)
  "title": "Workqueue Depth",
  "gridPos": {...},               → x/y position + size on the grid, just layout
  
  "targets": [
    { "expr": "sum by (controller) (workqueue_depth{job=\"$job\"})" }
  ],                 → the actual PromQL query — this is the only line that defines what the panel shows
 
 "fieldConfig": {
    "defaults": {
      "unit": "short",              → how the number's displayed
      "min": 0, "max": 1200,   → axis bounds
      "thresholds": {
        "steps": [            → color bands, kicks in once value crosses these
          green → null (default),
          yellow → 500,
          red → 1000
        ]
      }                        
    },
  
  "overrides": [
      "node" line → solid,
      "nodereadiness-controller" line → dashed
    ]               → per-series exceptions, so the two lines are visually distinguishable even if same color
  },
  "options": {...}        → position, tooltip behavior, cosmetic only
}

so overall, it's just: one query per panel, wrapped in a bit of formatting (colors, units, layout) that repeats the same way across all of them.

@AvineshTripathi AvineshTripathi left a comment

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.

am not an expert in this but it LGTM

@ajaysundark

Copy link
Copy Markdown
Contributor

/lgtm
/approve

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 19, 2026
@kubernetes-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ajaysundark, rawadhossain

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

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 19, 2026
@kubernetes-prow
kubernetes-prow Bot merged commit c78ff4b into kubernetes-sigs:main Sep 19, 2026
12 checks passed
@rawadhossain rawadhossain mentioned this pull request Sep 25, 2026
arnab-logs pushed a commit to arnab-logs/node-readiness-controller that referenced this pull request Oct 1, 2026
Signed-off-by: Rawad Hossain <rawad.hossain00@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants