nemo_gym.telemetry

View as Markdown

NeMo Gym telemetry: optional OpenTelemetry instrumentation via nemo-lens.

Importing this package never requires nemo-lens. Install it with uv sync --extra telemetry and switch it on with a telemetry: block or NEMO_LENS_ENABLED=1; with either missing, every instrumentation site in nemo_gym is a ~0-cost no-op.

Public surface

  • :class:~nemo_gym.telemetry.config.TelemetryConfig — the telemetry: config block.
  • :class:~nemo_gym.telemetry.span_groups.GymSpanGroup — Gym span groups and presets.
  • :func:~nemo_gym.telemetry.setup.configure_telemetry_env — orchestrator side; hands the settings to spawned server processes through the environment.
  • :func:~nemo_gym.telemetry.setup.init_telemetry / :func:~nemo_gym.telemetry.setup.get_telemetry / :func:~nemo_gym.telemetry.setup.shutdown_telemetry — per-process lifecycle.

Instrumentation primitives (managed_span / span_cm / trace_fn / is_span_group_enabled / safe_set_span_attributes) come from :mod:nemo_gym.telemetry._fallbacks, which resolves to the real nemo-lens implementations when it is installed and to no-op stubs when it is not.

See nemo_gym/telemetry/README.md for the design, and fern/versions/latest/pages/observability/ for user documentation.

Submodules

Package Contents

Data

__all__

API

nemo_gym.telemetry.__all__ = ['TELEMETRY_KEY_NAME', 'GymSpanGroup', 'TelemetryConfig', 'configure_telemetry_e...