Skip to content

Add lightweight SDK data queries and sparklines - #225

Merged
novykh merged 3 commits into
mainfrom
feature/nodes-fleet-query
Jul 27, 2026
Merged

Add lightweight SDK data queries and sparklines#225
novykh merged 3 commits into
mainfrom
feature/nodes-fleet-query

Conversation

@ktsaou

@ktsaou ktsaou commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

  • add a lightweight SDK data-query primitive that shares request construction,
    authentication, transport, cancellation, and response handling with rendered
    charts
  • expose explicit fleet query attributes without changing existing chart
    requests when those attributes are absent
  • normalize fleet responses into strict typed values, gaps, route failures,
    incomplete results, and unavailable results
  • keep exact node scope in request scope with wildcard selection and enforce
    direct-Agent request-size safety
  • extend the existing canvas sparkline primitives for the Nodes Map inspector

Why

Fleet sorting, rollups, maps, filtering, and CSV need authoritative column data
without constructing thousands of rendered charts or duplicating Charts
protocol logic in Cloud.

User and developer impact

The new API is additive. Existing rendered charts retain their existing request
and transport behavior when the new attributes are not supplied.

Package release and merge order

  • This PR and netdata-ui #636
    are independent; either may merge first.
  • After this PR merges, publish a Charts package version newer than 6.12.5
    containing sdk.queryData, the exported data-query status contract, and the
    sparkline additions.
  • cloud-frontend #5641
    must not merge until that concrete Charts version and the corresponding new
    netdata-ui version are both published and recorded in the Cloud package.json
    and yarn.lock.

Validation

  • focused request, transport, response, cancellation, and sparkline tests
  • Charts package build
  • integrated Charts → Cloud production build and installed real-room
    verification through the Nodes fleet workspace

@ktsaou
ktsaou marked this pull request as ready for review July 24, 2026 19:21
ktsaou and others added 3 commits July 27, 2026 21:08
…allback

- extract isRateUnit/stripRateUnit into @/helpers/units; reuse in dataQuery/response and compare/statValue (behavior identical)
- add tests for the sparkline heterogeneous-unit defaultUnit fallback and the rateVolume throw path

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WjGPy8AdnYrLKfxUPPwEGd
@novykh
novykh force-pushed the feature/nodes-fleet-query branch from 38707c6 to 0b1cd80 Compare July 27, 2026 18:10
@novykh
novykh merged commit 79c7e7c into main Jul 27, 2026
2 checks passed
@novykh
novykh deleted the feature/nodes-fleet-query branch July 27, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants