Repository navigation
Collect plugin process metrics on demand - #11
Merged
Merged
Conversation
Add request-driven CPU and RSS collection through the Runner, Pipeline, and plugin SDKs. Keep queue metrics owned by the Pipeline and attribute them to the actual plugin instances. Provide independent Rust and Java process sampling packages under sdk, update the shared contracts, and keep metric registration ownership private. Validated with the complete Rust gate, cross-language process tests, and public documentation and license checks.
Gujiawei-Edinburgh
approved these changes
Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plugin instance CPU and resident memory are missing from the Runner's metrics endpoint, so users need separate instrumentation and collectors to observe plugins. This change includes those observations in
GET /metricsthrough request-driven Runner → Pipeline → Plugin SDK collection.sdk/<language>, with shared IPC, process-metrics and Plugin SDK contracts. Update build paths, scaffolds, tests and documentation, including the Event-Driven Stateful Transducer description of Tenon Lua.Runner, Pipeline and plugins built with the updated SDKs must be upgraded together. This change does not add compatibility negotiation for older SDKs.
Validation:
git diff --checkpassed during implementation; the complete PR diff also passesgit diff --check.