PLAT-1486 | feat(ui): add instrumentationAgents and Go offsets GraphQL API - #5819
Open
alonkeyval wants to merge 1 commit into
Open
alonkeyval wants to merge 1 commit into
alonkeyval wants to merge 1 commit into
Conversation
alonkeyval
force-pushed
the
plat-1486-instrumentation-agents-api
branch
from
September 14, 2026 12:42
3248463 to
655fd6d
Compare
Adds two backend pieces behind the Instrumentation Agents page. instrumentationAgents returns one entry per language that has a default otel distro in the running tier, annotated with the cluster's coverage for that language (instrumented/total containers and source count). The resolver reads the same distros.Provider the instrumentor resolves distros with, so the page reports what will actually be injected. Bootstrap sets the community provider on Deps; out-of-tree mains replace it before BuildRouter to surface their own tier's distros. The go enterprise offsets API reads the installed offsets ConfigMap, compares it against a candidate manifest the browser supplies (UI pods may have no outbound internet), and reports the union of both sets with each module, minor version and version flagged as added or dropped. A separate mutation writes the candidate once the user confirms. The frontend module now replaces github.com/odigos-io/odigos/distros locally, so the image build has to copy that module in alongside the others it replaces. Co-authored-by: Cursor <cursoragent@cursor.com>
alonkeyval
force-pushed
the
plat-1486-instrumentation-agents-api
branch
from
September 14, 2026 14:05
655fd6d to
600c7e1
Compare
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.
Backend for the new Instrumentation Agents page: a query listing the agents the running tier would inject, and the read/diff/write API for Go offsets. No UI in this PR. PLAT-1486
What this PR does / why we need it:
Two pieces sit behind the page, split out from the frontend work so they can be reviewed and merged on their own.
instrumentationAgentsreturns one entry per language that has a default otel distro in the running tier, annotated with the cluster's coverage for that language — instrumented and total containers, plus how many sources they span. The resolver reads the samedistros.Providerthe instrumentor resolves distros with, so the page reports what will actually be injected rather than a hardcoded list.Bootstrapsets the community provider onDeps; out-of-tree mains replace it beforeBuildRouterso they can surface their own tier's distros.The Go offsets API reads the installed
odigos-go-offsetsConfigMap and compares it against a candidate manifest that the browser supplies, since UI pods frequently have no outbound internet and can't fetch the public manifest themselves. Because an update overwrites the ConfigMap wholesale, the comparison returns the union of both sets with every module, minor version and version flagged as added or dropped — a version the cluster instruments today but that's missing from the candidate is a real regression the user needs to see before confirming. A separate mutation performs the write.Changelog entry: Does this PR introduce a user-facing bug fix, feature, dependency update, or breaking change??
Made with Cursor