Skip to content

BaseNatsTelemetrySettingsProvider

faststream.nats.opentelemetry.provider.BaseNatsTelemetrySettingsProvider #

BaseNatsTelemetrySettingsProvider()

Bases: TelemetrySettingsProvider[MsgType]

Source code in faststream/nats/opentelemetry/provider.py
def __init__(self) -> None:
    self.messaging_system = "nats"

messaging_system instance-attribute #

messaging_system = 'nats'

get_consume_attrs_from_message #

get_consume_attrs_from_message(msg)
Source code in faststream/opentelemetry/provider.py
def get_consume_attrs_from_message(
    self,
    msg: "StreamMessage[MsgType]",
) -> "AnyDict": ...

get_consume_destination_name #

get_consume_destination_name(msg)
Source code in faststream/opentelemetry/provider.py
def get_consume_destination_name(
    self,
    msg: "StreamMessage[MsgType]",
) -> str: ...

get_publish_attrs_from_kwargs #

get_publish_attrs_from_kwargs(kwargs)
Source code in faststream/nats/opentelemetry/provider.py
def get_publish_attrs_from_kwargs(
    self,
    kwargs: "AnyDict",
) -> "AnyDict":
    return {
        SpanAttributes.MESSAGING_SYSTEM: self.messaging_system,
        SpanAttributes.MESSAGING_DESTINATION_NAME: kwargs["subject"],
        SpanAttributes.MESSAGING_MESSAGE_CONVERSATION_ID: kwargs["correlation_id"],
    }

get_publish_destination_name #

get_publish_destination_name(kwargs)
Source code in faststream/nats/opentelemetry/provider.py
def get_publish_destination_name(
    self,
    kwargs: "AnyDict",
) -> str:
    subject: str = kwargs.get("subject", SERVICE_NAME)
    return subject