chore(core): unify how identifiers are created for health registration and environment providers - #2048
Conversation
Regression Detector (Agent Data Plane)Run ID: Optimization Goals: ✅ No significant changes detectedFine details of change detection per experiment (5)Experiments configured
Bounds Checks: ✅ Passed (5)
ExplanationA change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression ( |
…n and environment providers
2b4b121 to
e27cf53
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This comment has been minimized.
This comment has been minimized.
Binary Size Analysis (Agent Data Plane)Baseline: cccc3c7 · Comparison: e27cf53 · diff ✅ Binary size difference within thresholdChanges by Module
Detailed Symbol Changes |
webern
left a comment
There was a problem hiding this comment.
Does this integrate with configuration in some way? For example, right now we have these "pipelines" identifiers in the schema_overlay.yaml so that we can warn/error properly on unsupported configuration. Have you thought about unifying the configuration and component identification worlds at all?
I am going to proceed with what I'm doing anyway, because I think we need my configuration system changes either way, but I'm just starting a background thread on subsystem identification and how configuration affects an identifiable subsystem.

Summary
This PR is a follow-up to #2029 to move over other areas of the codebase to defining component identifiers via
SubsystemIdentifierfor use with the health registry and in environment providers and so on.We've focused on two main areas here:
bin/agent-data-plane)SubsystemIdentifiermore directly to avoid pitfalls at the API boundary betweenSubsystemIdentifierand&str/StringOverall, we've unified the identifiers that get generated for components in the environment provider in terms of what exists in the health registry and what exists in the resource accounting registry.
Through this PR, it's become apparent that we'll need to think about moving
SubsystemIdentifiersomewhere more central so other non-Saluki crates can potentially depend on it, including and up to potentially just establishing a centralized registry for identifiers themselves... in order to solve the whole issue of "how do I know I have a unique identifier?". I plan to tackle that, and the update to switchresource_accounting::ComponentRegistryover to depending onSubsystemIdentifier, in a follow-up PR.Change Type
How did you test this PR?
Existing and new unit tests.
References
DADP-2