nat.plugins.opentelemetry.register#

Attributes#

Classes#

LangfuseTelemetryExporter

A telemetry exporter to transmit traces to externally hosted langfuse service.

LangsmithTelemetryExporter

A telemetry exporter to transmit traces to externally hosted langsmith service.

OtelCollectorTelemetryExporter

A telemetry exporter to transmit traces to externally hosted otel collector service.

PatronusTelemetryExporter

A telemetry exporter to transmit traces to Patronus service.

GalileoTelemetryExporter

A telemetry exporter to transmit traces to externally hosted galileo service.

ArizeAxTelemetryExporter

Export traces to Arize AX over OTLP.

DBNLTelemetryExporter

A telemetry exporter to transmit traces to DBNL.

Functions#

_arize_ax_auth_headers(→ dict[str, str])

Build OTLP metadata headers for Arize AX (same keys as arize-otel arize.otel.otel._get_arize_auth_headers).

_arize_ax_default_endpoint(→ str)

Return the default Arize AX OTLP collector URL for the given protocol and region.

langfuse_telemetry_exporter(config, builder)

langsmith_telemetry_exporter(config, builder)

Create a Langsmith telemetry exporter.

otel_telemetry_exporter(config, builder)

Create an OpenTelemetry telemetry exporter.

patronus_telemetry_exporter(config, builder)

Create a Patronus telemetry exporter.

galileo_telemetry_exporter(config, builder)

Create a Galileo telemetry exporter.

arize_ax_telemetry_exporter(config, builder)

Create a telemetry exporter that sends OTLP traces to Arize AX.

dbnl_telemetry_exporter(config, builder)

Create a DBNL telemetry exporter.

Module Contents#

logger#
_ARIZE_US_OTLP_GRPC = 'https://otlp.arize.com/v1'#
_ARIZE_US_OTLP_HTTP = 'https://otlp.arize.com/v1/traces'#
_ARIZE_EU_OTLP_GRPC = 'https://otlp.eu-west-1a.arize.com/v1'#
_ARIZE_EU_OTLP_HTTP = 'https://otlp.eu-west-1a.arize.com/v1/traces'#
_arize_ax_auth_headers(
*,
space_id: str,
api_key: str,
) dict[str, str]#

Build OTLP metadata headers for Arize AX (same keys as arize-otel arize.otel.otel._get_arize_auth_headers).

_arize_ax_default_endpoint(
*,
protocol: Literal['http', 'grpc'],
use_eu_region: bool,
) str#

Return the default Arize AX OTLP collector URL for the given protocol and region.

class LangfuseTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to externally hosted langfuse service.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

endpoint: str = None#
public_key: nat.data_models.common.SerializableSecretStr = None#
secret_key: nat.data_models.common.SerializableSecretStr = None#
resource_attributes: dict[str, str] = None#
async langfuse_telemetry_exporter(
config: LangfuseTelemetryExporter,
builder: nat.builder.builder.Builder,
)#
class LangsmithTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.observability.mixin.collector_config_mixin.CollectorConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to externally hosted langsmith service.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

endpoint: str = None#
api_key: nat.data_models.common.SerializableSecretStr = None#
workspace_id: str = None#
resource_attributes: dict[str, str] = None#
async langsmith_telemetry_exporter(
config: LangsmithTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create a Langsmith telemetry exporter.

class OtelCollectorTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.observability.mixin.collector_config_mixin.CollectorConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to externally hosted otel collector service.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

resource_attributes: dict[str, str] = None#
async otel_telemetry_exporter(
config: OtelCollectorTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create an OpenTelemetry telemetry exporter.

class PatronusTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.observability.mixin.collector_config_mixin.CollectorConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to Patronus service.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

api_key: nat.data_models.common.SerializableSecretStr = None#
resource_attributes: dict[str, str] = None#
async patronus_telemetry_exporter(
config: PatronusTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create a Patronus telemetry exporter.

class GalileoTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.observability.mixin.collector_config_mixin.CollectorConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to externally hosted galileo service.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

endpoint: str = None#
logstream: str = None#
api_key: nat.data_models.common.SerializableSecretStr = None#
async galileo_telemetry_exporter(
config: GalileoTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create a Galileo telemetry exporter.

class ArizeAxTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.observability.mixin.collector_config_mixin.CollectorConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

Export traces to Arize AX over OTLP.

See Arize AX OpenTelemetry docs. Headers match arize-otel (authorization, arize-space-id, etc.) with default US or EU collectors when endpoint is unset.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

project: str = None#
space_id: str = None#
api_key: nat.data_models.common.SerializableSecretStr = None#
endpoint: str | None = None#
use_eu_region: bool = None#
protocol: Literal['http', 'grpc'] = None#
resource_attributes: dict[str, str] = None#
async arize_ax_telemetry_exporter(
config: ArizeAxTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create a telemetry exporter that sends OTLP traces to Arize AX.

class DBNLTelemetryExporter(/, **data: Any)#

Bases: nat.observability.mixin.batch_config_mixin.BatchConfigMixin, nat.data_models.telemetry_exporter.TelemetryExporterBaseConfig

A telemetry exporter to transmit traces to DBNL.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

api_url: str | None = None#
api_token: nat.data_models.common.OptionalSecretStr = None#
project_id: str | None = None#
async dbnl_telemetry_exporter(
config: DBNLTelemetryExporter,
builder: nat.builder.builder.Builder,
)#

Create a DBNL telemetry exporter.