> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.11.1) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Module plugin

> Built-in observability plugin configuration and lifecycle. Built-in observability plugin component.

Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

Built-in observability plugin configuration and lifecycle. Built-in observability plugin component.

This module packages NeMo Relay's first-party observability exporters behind the shared plugin configuration system. Each exporter section is opt-in: omitted sections and sections with `enabled = false` validate but do not register subscribers or construct exporters.

The plugin intentionally infers subscriber names from the component namespace so configuration remains portable across bindings. Agent Trajectory Observability Format (ATOF) registers one global subscriber when enabled. Typed OpenTelemetry endpoints share one global fan-out subscriber. Agent Trajectory Interchange Format (ATIF) uses a global dispatcher that detects top-level agent or turn scopes and creates one scope-local exporter for each trajectory run. Coding-agent turns that need bounded traces carry role metadata; their declared scope type is preserved in the exported event stream.

## Structs

* [AtifCorrelation](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifcorrelation)
* [AtifDispatcher](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifdispatcher)
* [AtifFlushWork](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifflushwork)
* [AtifOutputOptions](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifoutputoptions)
* [AtifRemoteStorage](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifremotestorage): Remote storage handle for ATIF trajectory uploads.
* [AtifSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifsectionconfig): Per-trajectory ATIF exporter config.
* [AtifUploadRequest](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atifuploadrequest)
* [AtofFileSinkSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atoffilesinksectionconfig): File sink settings for the ATOF plugin section.
* [AtofSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atofsectionconfig): Multi-sink ATOF JSONL exporter config.
* [AtofStreamSinkSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-atofstreamsinksectionconfig): Stream sink settings for the ATOF plugin section.
* [AutomaticOtlpSignals](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-automaticotlpsignals)
* [ComponentSpec](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-componentspec): Top-level observability component wrapper.
* [HttpStorageConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-httpstorageconfig): HTTP endpoint settings for ATIF trajectory upload.
* [HttpUploadConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-httpuploadconfig)
* [IndexedOpenTelemetryResource](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-indexedopentelemetryresource)
* [ManagedAtifExporter](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-managedatifexporter)
* [ObservabilityConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-observabilityconfig): Canonical config document for the observability plugin component.
* [ObservabilityPlugin](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-observabilityplugin): Built-in observability component.
* [OpenTelemetryDestination](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrydestination)
* [OpenTelemetryDestinationCollision](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrydestinationcollision)
* [OpenTelemetryEndpointConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetryendpointconfig): One typed OTLP destination.
* [OpenTelemetryFileSinkConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetryfilesinkconfig): One local file destination for projected OTLP spans.
* [OpenTelemetryLogSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrylogsectionconfig): OTLP log pipeline settings.
* [OpenTelemetryMetricSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrymetricsectionconfig): OTLP metric pipeline settings.
* [OpenTelemetrySectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrysectionconfig): Multi-endpoint OpenTelemetry export settings.
* [OpenTelemetryShutdownIssue](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetryshutdownissue)
* [OpenTelemetrySignalEndpointConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrysignalendpointconfig): Signal-common OTLP destination fields used by logs and metrics.
* [OpenTelemetrySignalSubscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-opentelemetrysignalsubscribers)
* [PendingAtifExport](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-pendingatifexport)
* [PendingAtifWrite](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-pendingatifwrite)
* [ResolvedSignalEndpoints](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-resolvedsignalendpoints)
* [S3BuilderOverrides](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-s3builderoverrides)
* [S3StorageConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-s3storageconfig): S3-compatible storage settings for ATIF trajectory upload.
* [SkippedResource](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/struct-skippedresource)

## Enums

* [AtifStorageConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-atifstorageconfig): Remote storage destination for ATIF trajectory files.
* [AtofSinkSectionConfig](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-atofsinksectionconfig): One plugin-managed destination for raw ATOF events.
* [OpenTelemetryDestinationKey](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-opentelemetrydestinationkey)
* [OpenTelemetryResource](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-opentelemetryresource)
* [OpenTelemetryShutdownFailure](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-opentelemetryshutdownfailure)
* [SinkLabel](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/enum-sinklabel): Identifier for a single output sink. `Local` is used when `storage` is empty (the legacy local-file path); `Remote(i)` indexes into the configured storage backends.

## Constants

* [AUTOMATIC_INSECURE_HTTP_HOSTS_VARIABLE](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/constant-automatic-insecure-http-hosts-variable)
* [OBSERVABILITY_PLUGIN_KIND](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/constant-observability-plugin-kind): The plugin kind registered by the core crate.

## Functions

* [apply_otel_environment_headers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-apply-otel-environment-headers)
* [apply_signal_common](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-apply-signal-common)
* [atif_dispatcher_subscriber](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-atif-dispatcher-subscriber)
* [atif_scope_subscriber](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-atif-scope-subscriber)
* [atif_shutdown_cleanup](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-atif-shutdown-cleanup)
* [atof_endpoint_transport_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-atof-endpoint-transport-schema)
* [atof_mode_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-atof-mode-schema)
* [automatic_exporter_failure](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-automatic-exporter-failure): Classify from typed evidence only; backend strings can contain credentials and flatten several causes, so they must neither be parsed nor copied into reports.
* [automatic_otlp_signals](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-automatic-otlp-signals)
* [automatic_plaintext_policy](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-automatic-plaintext-policy)
* [automatic_subscriber](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-automatic-subscriber): Build one automatic subscriber without preventing healthy signals from activating.
* [build_atif_storage](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-atif-storage)
* [build_atof_sink_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-atof-sink-config)
* [build_log_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-log-config)
* [build_metric_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-metric-config)
* [build_opentelemetry_file_sink_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-opentelemetry-file-sink-subscribers)
* [build_opentelemetry_log_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-opentelemetry-log-subscribers)
* [build_opentelemetry_metric_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-opentelemetry-metric-subscribers)
* [build_opentelemetry_signal_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-opentelemetry-signal-subscribers)
* [build_opentelemetry_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-opentelemetry-subscribers)
* [build_otel_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-otel-config)
* [build_otel_file_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-build-otel-file-config)
* [canonical_opentelemetry_host](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-canonical-opentelemetry-host)
* [canonicalize_opentelemetry_destination](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-canonicalize-opentelemetry-destination)
* [default_agent_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-agent-name)
* [default_agent_version](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-agent-version)
* [default_atif_filename_template](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atif-filename-template)
* [default_atif_include_payloads](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atif-include-payloads)
* [default_atof_endpoint_field_name_policy](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atof-endpoint-field-name-policy)
* [default_atof_endpoint_transport](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atof-endpoint-transport)
* [default_atof_file_sink_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atof-file-sink-editor-value)
* [default_atof_mode](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atof-mode)
* [default_atof_stream_sink_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-atof-stream-sink-editor-value)
* [default_completed_span_context_ttl_millis](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-completed-span-context-ttl-millis)
* [default_http_storage_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-http-storage-editor-value)
* [default_model_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-model-name)
* [default_observability_config_version](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-observability-config-version)
* [default_opentelemetry_endpoint_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-opentelemetry-endpoint-editor-value)
* [default_opentelemetry_file_sink_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-opentelemetry-file-sink-editor-value)
* [default_opentelemetry_signal_endpoint_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-opentelemetry-signal-endpoint-editor-value)
* [default_otel_instrumentation_scope](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-instrumentation-scope)
* [default_otel_log_max_export_batch_size](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-log-max-export-batch-size)
* [default_otel_log_max_queue_size](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-log-max-queue-size)
* [default_otel_log_minimum_severity](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-log-minimum-severity)
* [default_otel_log_scheduled_delay_millis](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-log-scheduled-delay-millis)
* [default_otel_metric_cardinality_limit](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-metric-cardinality-limit)
* [default_otel_metric_export_interval_millis](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-metric-export-interval-millis)
* [default_otel_metric_max_instruments](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-metric-max-instruments)
* [default_otel_metric_temporality](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-metric-temporality)
* [default_otel_service_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otel-service-name)
* [default_otlp_file_sink_mode](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otlp-file-sink-mode)
* [default_otlp_transport](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-otlp-transport)
* [default_output_directory](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-output-directory)
* [default_s3_storage_editor_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-s3-storage-editor-value)
* [default_timeout_millis](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-default-timeout-millis)
* [deliver_opentelemetry_callbacks](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-deliver-opentelemetry-callbacks)
* [deliver_opentelemetry_event](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-deliver-opentelemetry-event)
* [deliver_opentelemetry_metric_callbacks](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-deliver-opentelemetry-metric-callbacks)
* [deregister_atif_shutdown_subscriber](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-deregister-atif-shutdown-subscriber)
* [derive_http_signal_endpoint](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-derive-http-signal-endpoint)
* [derive_signal_endpoint](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-derive-signal-endpoint)
* [environment_has_nonblank_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-environment-has-nonblank-value)
* [environment_signal_enabled](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-environment-signal-enabled)
* [event_observation_key](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-event-observation-key)
* [flush_atif_shutdown_work](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-flush-atif-shutdown-work)
* [has_active_opentelemetry_resource](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-has-active-opentelemetry-resource)
* [is_safe_atif_metadata_path](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-is-safe-atif-metadata-path)
* [is_safe_atif_session_id](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-is-safe-atif-session-id)
* [is_top_level_trajectory_start](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-is-top-level-trajectory-start)
* [is_valid_atif_metadata_selector](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-is-valid-atif-metadata-selector)
* [is_valid_atof_stream_url](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-is-valid-atof-stream-url)
* [log_opentelemetry_resource_access](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-log-opentelemetry-resource-access)
* [log_severity_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-log-severity-schema)
* [mark_projection_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-mark-projection-schema)
* [metric_temporality_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-metric-temporality-schema)
* [no_active_opentelemetry_destination_error](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-no-active-opentelemetry-destination-error)
* [normalize_opentelemetry_path](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-normalize-opentelemetry-path)
* [normalize_storage_key_prefix](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-normalize-storage-key-prefix)
* [observability_config_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-observability-config-schema): Returns the JSON Schema for the observability component configuration.
* [observability_registration_error](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-observability-registration-error)
* [omit_atif_llm_requests](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-omit-atif-llm-requests)
* [opentelemetry_destination](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-opentelemetry-destination)
* [opentelemetry_destination_collision_errors](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-opentelemetry-destination-collision-errors)
* [opentelemetry_section_is_empty](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-opentelemetry-section-is-empty)
* [opentelemetry_type_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-opentelemetry-type-name)
* [otel_editor_field](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otel-editor-field)
* [otel_list_editor_field](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otel-list-editor-field)
* [otel_sdk_disabled](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otel-sdk-disabled)
* [otel_tls_editor_field](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otel-tls-editor-field)
* [otlp_file_format_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otlp-file-format-schema)
* [otlp_file_sink_mode_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otlp-file-sink-mode-schema): A trace file sink defaults to `overwrite`, unlike the ATOF event sink: a run that reuses a filename should not read as one trajectory appended to another.
* [otlp_transport_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-otlp-transport-schema)
* [parse_atif_metadata_expression](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-parse-atif-metadata-expression)
* [parse_observability_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-parse-observability-config)
* [parse_signal_transport](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-parse-signal-transport)
* [post_atif_http](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-post-atif-http)
* [prepare_atif_file](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-prepare-atif-file)
* [prepare_atif_payload](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-prepare-atif-payload)
* [prepare_atif_shutdown_file](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-prepare-atif-shutdown-file)
* [push_otel_signal_diagnostic](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-push-otel-signal-diagnostic)
* [push_plaintext_preflight_diagnostic](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-push-plaintext-preflight-diagnostic)
* [push_policy_diag](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-push-policy-diag)
* [push_skipped_opentelemetry_endpoint_diagnostic](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-push-skipped-opentelemetry-endpoint-diagnostic)
* [raw_opentelemetry_destination](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-raw-opentelemetry-destination)
* [record_invalid_automatic_insecure_hosts](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-record-invalid-automatic-insecure-hosts)
* [register_atif_dispatcher](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-atif-dispatcher)
* [register_atof_exporter](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-atof-exporter)
* [register_automatic_opentelemetry](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-automatic-opentelemetry)
* [register_full_payload_policy](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-full-payload-policy)
* [register_observability](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-observability)
* [register_opentelemetry](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-opentelemetry)
* [register_opentelemetry_resources](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-register-opentelemetry-resources)
* [reject_opentelemetry_metric_mark](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-reject-opentelemetry-metric-mark)
* [render_atif_filename](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-render-atif-filename)
* [resolve_env_var_field](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-resolve-env-var-field)
* [resolve_signal_endpoints](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-resolve-signal-endpoints)
* [resolve_signal_headers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-resolve-signal-headers)
* [sanitize_atif_metadata_fragment](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-sanitize-atif-metadata-fragment)
* [shutdown_all_opentelemetry_subscribers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-shutdown-all-opentelemetry-subscribers)
* [shutdown_failure_from_errors](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-shutdown-failure-from-errors)
* [shutdown_indexed_opentelemetry_providers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-shutdown-indexed-opentelemetry-providers)
* [signal_destination](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-signal-destination)
* [signal_shutdown_issue](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-signal-shutdown-issue)
* [skipped_opentelemetry_endpoints](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-skipped-opentelemetry-endpoints)
* [string_enum_schema](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-string-enum-schema)
* [validate_atif_file_export_support](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-file-export-support)
* [validate_atif_filename_template](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-filename-template)
* [validate_atif_http_endpoint](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-http-endpoint)
* [validate_atif_http_header](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-http-header)
* [validate_atif_http_header_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-http-header-name)
* [validate_atif_section](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-section)
* [validate_atif_storage_env_var](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-storage-env-var)
* [validate_atif_storage_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-storage-values)
* [validate_atif_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atif-values)
* [validate_atof_section](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-section)
* [validate_atof_sink](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-sink)
* [validate_atof_stream_header](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-stream-header)
* [validate_atof_stream_header_env](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-stream-header-env)
* [validate_atof_stream_header_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-stream-header-name)
* [validate_atof_stream_sink_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-stream-sink-name)
* [validate_atof_stream_sink_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-stream-sink-values)
* [validate_atof_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-atof-values)
* [validate_automatic_plaintext_destinations](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-automatic-plaintext-destinations)
* [validate_case_insensitive_header_duplicates](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-case-insensitive-header-duplicates)
* [validate_case_insensitive_signal_header_duplicates](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-case-insensitive-signal-header-duplicates)
* [validate_distinct_opentelemetry_destinations](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-distinct-opentelemetry-destinations)
* [validate_distinct_opentelemetry_file_sinks](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-distinct-opentelemetry-file-sinks): Rejects two file sinks writing the same path.
* [validate_distinct_signal_destinations](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-distinct-signal-destinations)
* [validate_explicit_signal_endpoint](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-explicit-signal-endpoint)
* [validate_http_headers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-http-headers)
* [validate_observability_plaintext_destinations](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-observability-plaintext-destinations)
* [validate_observability_plugin_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-observability-plugin-config)
* [validate_observability_plugin_config_with_policy](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-observability-plugin-config-with-policy)
* [validate_observability_section_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-observability-section-fields)
* [validate_observability_section_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-observability-section-values)
* [validate_opentelemetry_batch_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-batch-config)
* [validate_opentelemetry_endpoint_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-endpoint-fields)
* [validate_opentelemetry_feature_support](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-feature-support)
* [validate_opentelemetry_file_sink_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-file-sink-fields): Reports unknown keys inside each `file_sinks` entry.
* [validate_opentelemetry_file_sinks](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-file-sinks): Reports the file-sink settings that would otherwise fail only at activation.
* [validate_opentelemetry_header_env](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-header-env)
* [validate_opentelemetry_header_name](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-header-name)
* [validate_opentelemetry_header_value](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-header-value)
* [validate_opentelemetry_headers](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-headers)
* [validate_opentelemetry_log_section](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-log-section)
* [validate_opentelemetry_metric_section](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-metric-section)
* [validate_opentelemetry_plaintext_destinations](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-plaintext-destinations)
* [validate_opentelemetry_section](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-section)
* [validate_opentelemetry_signal_endpoint_values](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-signal-endpoint-values)
* [validate_opentelemetry_signal_endpoints](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-signal-endpoints)
* [validate_opentelemetry_signal_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-opentelemetry-signal-fields)
* [validate_otel_batch_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-otel-batch-config)
* [validate_otel_file_sink_batch_config](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-otel-file-sink-batch-config): Returns the offending field alongside the error, so a static diagnostic can name the setting that failed rather than always naming `max_queue_size`.
* [validate_otel_file_sink_filename](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-otel-file-sink-filename): Rejects a filename that would escape `output_directory`.
* [validate_otel_header_env](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-otel-header-env)
* [validate_policy_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-policy-fields)
* [validate_section_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-section-fields)
* [validate_top_level_observability_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-top-level-observability-fields)
* [validate_unknown_fields](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-unknown-fields)
* [validate_version](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-validate-version)
* [warn_skipped_signal_endpoints](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-warn-skipped-signal-endpoints)
* [write_atif](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-write-atif)
* [write_atif_local](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-write-atif-local)
* [write_atif_remote](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-write-atif-remote)
* [write_atif_shutdown_export](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-write-atif-shutdown-export)
* [write_atif_shutdown_exports](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/fn-write-atif-shutdown-exports)

## Type Aliases

* [AtifStorageList](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/type-atifstoragelist)
* [MetricEventCallback](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-observability/plugin/type-metriceventcallback)