Skip to content

Observability plugin support for external telemetry adapters #3915

@jyaunches

Description

@jyaunches

Problem

NemoClaw is starting to receive requests for concrete observability integrations, such as built-in Prometheus metrics endpoints. We do not want core to accumulate one-off exporter implementations for every monitoring backend.

Instead, NemoClaw should expose a stable observability plugin surface that lets external adapters consume core lifecycle and operation telemetry without requiring each integration to be merged into the main repo.

Desired direction

Create a generic observability plugin extension point where NemoClaw core can emit stable telemetry events and out-of-tree plugins can translate those events into backend-specific integrations.

Examples of adapters that should be possible outside core:

  • Prometheus metrics endpoint/exporter
  • OpenTelemetry exporter
  • Datadog/New Relic/etc. adapters
  • Internal CI or fleet-monitoring adapters

Initial design goals

  • Keep NemoClaw core backend-agnostic.
  • Provide stable event names and payload shapes for key lifecycle/operation events.
  • Avoid adding exporter-specific dependencies to core.
  • Support opt-in registration/configuration for observability plugins.
  • Document how a plugin can subscribe to events and expose its own exporter/service.
  • Preserve zero/near-zero overhead when no observability plugin is enabled.

Candidate event families

  • Blueprint plan/apply execution start/finish/failure/duration
  • Endpoint/API key validation start/finish/failure/duration
  • Sandbox lifecycle operations start/finish/failure/duration
  • Plugin registration/start/stop events
  • Future policy/security decision events if needed

Relationship to PR #2494 / issue #233

PR #2494 implemented a concrete Prometheus-compatible /metrics endpoint in core. Rather than merging that specific integration, this issue tracks the architectural path that would let Prometheus be implemented as an external observability adapter.

Issue #233 captured the original built-in Prometheus proposal and is superseded by this more generic plugin-support direction.

Acceptance criteria

  • A documented observability plugin API exists.
  • Core emits a minimal set of stable telemetry events.
  • Plugins can subscribe to those events without patching core execution paths.
  • At least one example or skeleton adapter demonstrates the intended pattern.
  • Documentation explains how a Prometheus adapter could be implemented out-of-tree.

Metadata

Metadata

Assignees

Labels

area: integrationsThird-party service integration behaviorarea: observabilityLogging, metrics, tracing, diagnostics, or debug output
No fields configured for Enhancement.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions