Skip to content

BatchConfluentMetricsSettingsProvider

faststream.confluent.prometheus.provider.BatchConfluentMetricsSettingsProvider #

BatchConfluentMetricsSettingsProvider()

Bases: BaseConfluentMetricsSettingsProvider[Tuple['Message', ...]]

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

messaging_system instance-attribute #

messaging_system = 'kafka'

get_publish_destination_name_from_kwargs #

get_publish_destination_name_from_kwargs(kwargs)
Source code in faststream/confluent/prometheus/provider.py
def get_publish_destination_name_from_kwargs(
    self,
    kwargs: "AnyDict",
) -> str:
    return cast(str, kwargs["topic"])

get_consume_attrs_from_message #

get_consume_attrs_from_message(msg)
Source code in faststream/confluent/prometheus/provider.py
def get_consume_attrs_from_message(
    self,
    msg: "StreamMessage[Tuple[Message, ...]]",
) -> ConsumeAttrs:
    raw_message = msg.raw_message[0]
    return {
        "destination_name": cast(str, raw_message.topic()),
        "message_size": len(bytearray().join(cast(Sequence[bytes], msg.body))),
        "messages_count": len(msg.raw_message),
    }