Skip to content

feat(place/driver_health): report driver process health across the cluster - #627

Merged
stakach merged 3 commits into
PlaceOS:masterfrom
viv-4:master
Aug 26, 2026
Merged

feat(place/driver_health): report driver process health across the cluster#627
stakach merged 3 commits into
PlaceOS:masterfrom
viv-4:master

Conversation

@viv-4

@viv-4 viv-4 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Checks every driver process on every core node and exposes a name, running state and check timestamp for each, so cluster health can be inspected in backoffice or exported to InfluxDB.

Core nodes are read from the core service registration, the same one Proxy::RemoteDriver uses to route module requests, then each node is asked about its own driver processes over core's internal API. A driver process that isn't using any memory isn't running.

image

…uster

Checks every driver process on every core node and exposes a name, running
state and check timestamp for each, so cluster health can be inspected in
backoffice or exported to InfluxDB.

Core nodes are read from the `core` service registration, the same one
Proxy::RemoteDriver uses to route module requests, then each node is asked
about its own driver processes over core's internal API. No API key or request
to an external PlaceOS instance is involved. A driver process that isn't using
any memory isn't running.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@viv-4
viv-4 requested review from stakach and w-le August 26, 2026 00:58
…iver name

InfluxDB can't aggregate boolean fields (mean, sum) without mapping them
first, so `running` is now an Int32 of 1 or 0. The `drivers` status uses
the complex metric hint with `name` as a tag key so each driver process is
its own series rather than a field to pivot on.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDPGfoXsCRxWNCSUpZvzhh

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

…mit, tag by hostname

Driver executables are named `<source>_<commit>_<arch>` by the build
service. DriverState now carries `hostname`, `driver` and `commit` as
their own fields (architecture is dropped) and `name` is
`<hostname>.<driver>` so it tags cleanly in InfluxDB across builds.
`hostname` is also exposed as a tag key.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDPGfoXsCRxWNCSUpZvzhh

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@stakach
stakach merged commit 34c1aaf into PlaceOS:master Aug 26, 2026
2 of 6 checks passed
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