Documentation
¶
Overview ¶
Package backendtelemetry decorates a vmcp.BackendClient so each backend MCP call records OpenTelemetry traces and metrics.
It lives in pkg/vmcp/internal so that both the transport server (server.New) and the core constructor (core.New) can share a single decorator without an import cycle: server and core both depend on this leaf package, and it depends on neither.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MonitorBackends ¶
func MonitorBackends( ctx context.Context, meterProvider metric.MeterProvider, tracerProvider trace.TracerProvider, backends []vmcp.Backend, backendClient vmcp.BackendClient, ) (vmcp.BackendClient, error)
MonitorBackends decorates the backend client so it records telemetry on each method call. It also emits a gauge for the number of backends discovered once, since the number of backends is static.
func RecordRevisionReclassification ¶ added in v0.41.0
RecordRevisionReclassification increments the count of backends whose MCP revision was reclassified after a call revealed the cached revision was wrong.
The backend client resolves revisions below the telemetry decorator, so this is a free function backed by the global meter provider rather than the injected one used by MonitorBackends.
NOTE: no labels yet — old/new revision labels (and the CRD status surface) are deferred. If the global provider ever diverges from the injected one, thread the meter down instead.
Types ¶
This section is empty.