Skip to content

BatchKafkaMetricsSettingsProvider

faststream.kafka.prometheus.provider.BatchKafkaMetricsSettingsProvider #

BatchKafkaMetricsSettingsProvider()

Bases: BaseKafkaMetricsSettingsProvider[tuple['ConsumerRecord', ...]]

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

messaging_system instance-attribute #

messaging_system = 'kafka'

get_consume_attrs_from_message #

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

get_publish_destination_name_from_cmd #

get_publish_destination_name_from_cmd(cmd)
Source code in faststream/kafka/prometheus/provider.py
def get_publish_destination_name_from_cmd(
    self,
    cmd: "PublishCommand",
) -> str:
    return cmd.destination