Skip to content

RabbitMetricsSettingsProvider

faststream.rabbit.prometheus.provider.RabbitMetricsSettingsProvider #

RabbitMetricsSettingsProvider()

Bases: MetricsSettingsProvider['IncomingMessage', RabbitPublishCommand]

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

messaging_system instance-attribute #

messaging_system = 'rabbitmq'

get_consume_attrs_from_message #

get_consume_attrs_from_message(
    msg: StreamMessage[IncomingMessage],
) -> ConsumeAttrs
Source code in faststream/rabbit/prometheus/provider.py
25
26
27
28
29
30
31
32
33
34
35
36
37
@override
def get_consume_attrs_from_message(
    self,
    msg: "StreamMessage[IncomingMessage]",
) -> ConsumeAttrs:
    exchange = msg.raw_message.exchange or "default"
    routing_key = msg.raw_message.routing_key

    return {
        "destination_name": f"{exchange}.{routing_key}",
        "message_size": len(msg.body),
        "messages_count": 1,
    }

get_publish_destination_name_from_cmd #

get_publish_destination_name_from_cmd(
    cmd: RabbitPublishCommand,
) -> str
Source code in faststream/rabbit/prometheus/provider.py
39
40
41
42
43
44
@override
def get_publish_destination_name_from_cmd(
    self,
    cmd: RabbitPublishCommand,
) -> str:
    return f"{cmd.exchange.name or 'default'}.{cmd.destination}"