Span names are stable; attributes follow OpenTelemetry semantic conventions where applicable.
Span
Notable attributes
opamp.frame_received
agent.id, frame.kind, frame.size_bytes
opamp.frame_sent
agent.id, frame.kind
opamp.dispatch
dispatch.target_instance, dispatch.outcome
opamp.apply_status
agent.id, remote_config.status
live_update.publish
event.type, tenant
live_update.consume
event.type, subscriber
gitops.sync
source.id, tip.sha
federation.outbound_call
peer.name, endpoint, http.status_code
policy.evaluate
policy.name, outcome
rollout.tick
rollout.id, state
W3C trace context propagates over the dispatch backplane and the live-update bus, so a single trace can link "operator clicked X" to "agent applied Y" across instances.
{"timestamp":"2026-04-25T14:30:00.123Z","level":"Information","category":"Ampora.Fleet.Rollouts.RolloutService","message":"Rollout {RolloutId} entered state {State}","trace_id":"...","span_id":"...","tenant_id":"...","RolloutId":"...","State":"InProgress"}
Log levels follow .NET conventions: Trace < Debug < Information < Warning < Error < Critical. Production deployments default to Information.