refactor: gen metric schema with desc from macros
This commit is contained in:
parent
263d2dbae2
commit
756797b258
|
@ -112,354 +112,211 @@ fields(node_metrics) ->
|
||||||
[{node, mk(binary(), #{desc => <<"Node name">>})}] ++ properties().
|
[{node, mk(binary(), #{desc => <<"Node name">>})}] ++ properties().
|
||||||
|
|
||||||
properties() ->
|
properties() ->
|
||||||
[
|
Metrics = lists:append([
|
||||||
m(
|
?BYTES_METRICS,
|
||||||
'actions.failure',
|
?PACKET_METRICS,
|
||||||
<<"Number of failure executions of the rule engine action">>
|
?MESSAGE_METRICS,
|
||||||
),
|
?DELIVERY_METRICS,
|
||||||
m(
|
?CLIENT_METRICS,
|
||||||
'actions.success',
|
?SESSION_METRICS,
|
||||||
<<"Number of successful executions of the rule engine action">>
|
?STASTS_ACL_METRICS,
|
||||||
),
|
?STASTS_AUTHN_METRICS,
|
||||||
m(
|
?OLP_METRICS
|
||||||
'bytes.received',
|
]),
|
||||||
<<"Number of bytes received ">>
|
lists:reverse(
|
||||||
),
|
lists:foldl(
|
||||||
m(
|
fun({_Type, MetricName}, Acc) ->
|
||||||
'bytes.sent',
|
[m(MetricName) | Acc]
|
||||||
<<"Number of bytes sent on this connection">>
|
end,
|
||||||
),
|
[],
|
||||||
m(
|
Metrics
|
||||||
'client.auth.anonymous',
|
)
|
||||||
<<"Number of clients who log in anonymously">>
|
).
|
||||||
),
|
|
||||||
m(
|
m('actions.failure' = K) ->
|
||||||
'client.authenticate',
|
m(K, <<"Number of failure executions of the rule engine action">>);
|
||||||
<<"Number of client authentications">>
|
m('actions.success' = K) ->
|
||||||
),
|
m(K, <<"Number of successful executions of the rule engine action">>);
|
||||||
m(
|
m('bytes.received' = K) ->
|
||||||
'client.check_authz',
|
m(K, <<"Number of bytes received ">>);
|
||||||
<<"Number of Authorization rule checks">>
|
m('bytes.sent' = K) ->
|
||||||
),
|
m(K, <<"Number of bytes sent on this connection">>);
|
||||||
m(
|
m('client.auth.anonymous' = K) ->
|
||||||
'client.connack',
|
m(K, <<"Number of clients who log in anonymously">>);
|
||||||
<<"Number of CONNACK packet sent">>
|
m('client.authenticate' = K) ->
|
||||||
),
|
m(K, <<"Number of client authentications">>);
|
||||||
m(
|
m('client.check_authz' = K) ->
|
||||||
'client.connect',
|
m(K, <<"Number of Authorization rule checks">>);
|
||||||
<<"Number of client connections">>
|
m('client.connack' = K) ->
|
||||||
),
|
m(K, <<"Number of CONNACK packet sent">>);
|
||||||
m(
|
m('client.connect' = K) ->
|
||||||
'client.connected',
|
m(K, <<"Number of client connections">>);
|
||||||
<<"Number of successful client connections">>
|
m('client.connected' = K) ->
|
||||||
),
|
m(K, <<"Number of successful client connections">>);
|
||||||
m(
|
m('client.disconnected' = K) ->
|
||||||
'client.disconnected',
|
m(K, <<"Number of client disconnects">>);
|
||||||
<<"Number of client disconnects">>
|
m('client.subscribe' = K) ->
|
||||||
),
|
m(K, <<"Number of client subscriptions">>);
|
||||||
m(
|
m('client.unsubscribe' = K) ->
|
||||||
'client.subscribe',
|
m(K, <<"Number of client unsubscriptions">>);
|
||||||
<<"Number of client subscriptions">>
|
m('delivery.dropped' = K) ->
|
||||||
),
|
m(K, <<"Total number of discarded messages when sending">>);
|
||||||
m(
|
m('delivery.dropped.expired' = K) ->
|
||||||
'client.unsubscribe',
|
m(K, <<"Number of messages dropped due to message expiration on sending">>);
|
||||||
<<"Number of client unsubscriptions">>
|
m('delivery.dropped.no_local' = K) ->
|
||||||
),
|
m(K, <<
|
||||||
m(
|
|
||||||
'delivery.dropped',
|
|
||||||
<<"Total number of discarded messages when sending">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'delivery.dropped.expired',
|
|
||||||
<<"Number of messages dropped due to message expiration on sending">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'delivery.dropped.no_local',
|
|
||||||
<<
|
|
||||||
"Number of messages that were dropped due to the No Local subscription "
|
"Number of messages that were dropped due to the No Local subscription "
|
||||||
"option when sending"
|
"option when sending"
|
||||||
>>
|
>>);
|
||||||
),
|
m('delivery.dropped.qos0_msg' = K) ->
|
||||||
m(
|
m(K, <<
|
||||||
'delivery.dropped.qos0_msg',
|
|
||||||
<<
|
|
||||||
"Number of messages with QoS 0 that were dropped because the message "
|
"Number of messages with QoS 0 that were dropped because the message "
|
||||||
"queue was full when sending"
|
"queue was full when sending"
|
||||||
>>
|
>>);
|
||||||
),
|
m('delivery.dropped.queue_full' = K) ->
|
||||||
m(
|
m(K, <<
|
||||||
'delivery.dropped.queue_full',
|
|
||||||
<<
|
|
||||||
"Number of messages with a non-zero QoS that were dropped because the "
|
"Number of messages with a non-zero QoS that were dropped because the "
|
||||||
"message queue was full when sending"
|
"message queue was full when sending"
|
||||||
>>
|
>>);
|
||||||
),
|
m('delivery.dropped.too_large' = K) ->
|
||||||
m(
|
m(K, <<
|
||||||
'delivery.dropped.too_large',
|
|
||||||
<<
|
|
||||||
"The number of messages that were dropped because the length exceeded "
|
"The number of messages that were dropped because the length exceeded "
|
||||||
"the limit when sending"
|
"the limit when sending"
|
||||||
>>
|
>>);
|
||||||
),
|
m('messages.acked' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBACK and PUBREC packet">>);
|
||||||
'messages.acked',
|
m('messages.delayed' = K) ->
|
||||||
<<"Number of received PUBACK and PUBREC packet">>
|
m(K, <<"Number of delay-published messages">>);
|
||||||
),
|
m('messages.delivered' = K) ->
|
||||||
m(
|
m(K, <<"Number of messages forwarded to the subscription process internally">>);
|
||||||
'messages.delayed',
|
m('messages.dropped' = K) ->
|
||||||
<<"Number of delay-published messages">>
|
m(K, <<"Total number of messages dropped before forwarding to the subscription process">>);
|
||||||
),
|
m('messages.dropped.await_pubrel_timeout' = K) ->
|
||||||
m(
|
m(K, <<"Number of messages dropped due to waiting PUBREL timeout">>);
|
||||||
'messages.delivered',
|
m('messages.dropped.no_subscribers' = K) ->
|
||||||
<<"Number of messages forwarded to the subscription process internally">>
|
m(K, <<"Number of messages dropped due to no subscribers">>);
|
||||||
),
|
m('messages.forward' = K) ->
|
||||||
m(
|
m(K, <<"Number of messages forwarded to other nodes">>);
|
||||||
'messages.dropped',
|
m('messages.publish' = K) ->
|
||||||
<<"Total number of messages dropped before forwarding to the subscription process">>
|
m(K, <<"Number of messages published in addition to system messages">>);
|
||||||
),
|
m('messages.qos0.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of QoS 0 messages received from clients">>);
|
||||||
'messages.dropped.await_pubrel_timeout',
|
m('messages.qos0.sent' = K) ->
|
||||||
<<"Number of messages dropped due to waiting PUBREL timeout">>
|
m(K, <<"Number of QoS 0 messages sent to clients">>);
|
||||||
),
|
m('messages.qos1.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of QoS 1 messages received from clients">>);
|
||||||
'messages.dropped.no_subscribers',
|
m('messages.qos1.sent' = K) ->
|
||||||
<<"Number of messages dropped due to no subscribers">>
|
m(K, <<"Number of QoS 1 messages sent to clients">>);
|
||||||
),
|
m('messages.qos2.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of QoS 2 messages received from clients">>);
|
||||||
'messages.forward',
|
m('messages.qos2.sent' = K) ->
|
||||||
<<"Number of messages forwarded to other nodes">>
|
m(K, <<"Number of QoS 2 messages sent to clients">>);
|
||||||
),
|
m('messages.received' = K) ->
|
||||||
m(
|
m(K, <<
|
||||||
'messages.publish',
|
|
||||||
<<"Number of messages published in addition to system messages">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos0.received',
|
|
||||||
<<"Number of QoS 0 messages received from clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos0.sent',
|
|
||||||
<<"Number of QoS 0 messages sent to clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos1.received',
|
|
||||||
<<"Number of QoS 1 messages received from clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos1.sent',
|
|
||||||
<<"Number of QoS 1 messages sent to clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos2.received',
|
|
||||||
<<"Number of QoS 2 messages received from clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.qos2.sent',
|
|
||||||
<<"Number of QoS 2 messages sent to clients">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'messages.received',
|
|
||||||
<<
|
|
||||||
"Number of messages received from the client, equal to the sum of "
|
"Number of messages received from the client, equal to the sum of "
|
||||||
"messages.qos0.received\fmessages.qos1.received and messages.qos2.received"
|
"messages.qos0.received\fmessages.qos1.received and messages.qos2.received"
|
||||||
>>
|
>>);
|
||||||
),
|
%% m(
|
||||||
%% m(
|
%% 'messages.retained',
|
||||||
%% 'messages.retained',
|
%% <<"Number of retained messages">>
|
||||||
%% <<"Number of retained messages">>
|
%% ),
|
||||||
%% ),
|
m('messages.sent' = K) ->
|
||||||
m(
|
m(K, <<
|
||||||
'messages.sent',
|
|
||||||
<<
|
|
||||||
"Number of messages sent to the client, equal to the sum of "
|
"Number of messages sent to the client, equal to the sum of "
|
||||||
"messages.qos0.sent\fmessages.qos1.sent and messages.qos2.sent"
|
"messages.qos0.sent\fmessages.qos1.sent and messages.qos2.sent"
|
||||||
>>
|
>>);
|
||||||
),
|
m('packets.auth.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received AUTH packet">>);
|
||||||
'packets.auth.received',
|
m('packets.auth.sent' = K) ->
|
||||||
<<"Number of received AUTH packet">>
|
m(K, <<"Number of sent AUTH packet">>);
|
||||||
),
|
m('packets.connack.auth_error' = K) ->
|
||||||
m(
|
m(K, <<"Number of received CONNECT packet with failed authentication">>);
|
||||||
'packets.auth.sent',
|
m('packets.connack.error' = K) ->
|
||||||
<<"Number of sent AUTH packet">>
|
m(K, <<"Number of received CONNECT packet with unsuccessful connections">>);
|
||||||
),
|
m('packets.connack.sent' = K) ->
|
||||||
m(
|
m(K, <<"Number of sent CONNACK packet">>);
|
||||||
'packets.connack.auth_error',
|
m('packets.connect.received' = K) ->
|
||||||
<<"Number of received CONNECT packet with failed authentication">>
|
m(K, <<"Number of received CONNECT packet">>);
|
||||||
),
|
m('packets.disconnect.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received DISCONNECT packet">>);
|
||||||
'packets.connack.error',
|
m('packets.disconnect.sent' = K) ->
|
||||||
<<"Number of received CONNECT packet with unsuccessful connections">>
|
m(K, <<"Number of sent DISCONNECT packet">>);
|
||||||
),
|
m('packets.pingreq.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PINGREQ packet">>);
|
||||||
'packets.connack.sent',
|
m('packets.pingresp.sent' = K) ->
|
||||||
<<"Number of sent CONNACK packet">>
|
m(K, <<"Number of sent PUBRESP packet">>);
|
||||||
),
|
m('packets.puback.inuse' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBACK packet with occupied identifiers">>);
|
||||||
'packets.connect.received',
|
m('packets.puback.missed' = K) ->
|
||||||
<<"Number of received CONNECT packet">>
|
m(K, <<"Number of received packet with identifiers.">>);
|
||||||
),
|
m('packets.puback.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBACK packet">>);
|
||||||
'packets.disconnect.received',
|
m('packets.puback.sent' = K) ->
|
||||||
<<"Number of received DISCONNECT packet">>
|
m(K, <<"Number of sent PUBACK packet">>);
|
||||||
),
|
m('packets.pubcomp.inuse' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBCOMP packet with occupied identifiers">>);
|
||||||
'packets.disconnect.sent',
|
m('packets.pubcomp.missed' = K) ->
|
||||||
<<"Number of sent DISCONNECT packet">>
|
m(K, <<"Number of missed PUBCOMP packet">>);
|
||||||
),
|
m('packets.pubcomp.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBCOMP packet">>);
|
||||||
'packets.pingreq.received',
|
m('packets.pubcomp.sent' = K) ->
|
||||||
<<"Number of received PINGREQ packet">>
|
m(K, <<"Number of sent PUBCOMP packet">>);
|
||||||
),
|
m('packets.publish.auth_error' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBLISH packets with failed the Authorization check">>);
|
||||||
'packets.pingresp.sent',
|
m('packets.publish.dropped' = K) ->
|
||||||
<<"Number of sent PUBRESP packet">>
|
m(K, <<"Number of messages discarded due to the receiving limit">>);
|
||||||
),
|
m('packets.publish.error' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBLISH packet that cannot be published">>);
|
||||||
'packets.puback.inuse',
|
m('packets.publish.inuse' = K) ->
|
||||||
<<"Number of received PUBACK packet with occupied identifiers">>
|
m(K, <<"Number of received PUBLISH packet with occupied identifiers">>);
|
||||||
),
|
m('packets.publish.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBLISH packet">>);
|
||||||
'packets.puback.missed',
|
m('packets.publish.sent' = K) ->
|
||||||
<<"Number of received packet with identifiers.">>
|
m(K, <<"Number of sent PUBLISH packet">>);
|
||||||
),
|
m('packets.pubrec.inuse' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBREC packet with occupied identifiers">>);
|
||||||
'packets.puback.received',
|
m('packets.pubrec.missed' = K) ->
|
||||||
<<"Number of received PUBACK packet">>
|
m(K, <<"Number of received PUBREC packet with unknown identifiers">>);
|
||||||
),
|
m('packets.pubrec.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBREC packet">>);
|
||||||
'packets.puback.sent',
|
m('packets.pubrec.sent' = K) ->
|
||||||
<<"Number of sent PUBACK packet">>
|
m(K, <<"Number of sent PUBREC packet">>);
|
||||||
),
|
m('packets.pubrel.missed' = K) ->
|
||||||
m(
|
m(K, <<"Number of received PUBREC packet with unknown identifiers">>);
|
||||||
'packets.pubcomp.inuse',
|
m('packets.pubrel.received' = K) ->
|
||||||
<<"Number of received PUBCOMP packet with occupied identifiers">>
|
m(K, <<"Number of received PUBREL packet">>);
|
||||||
),
|
m('packets.pubrel.sent' = K) ->
|
||||||
m(
|
m(K, <<"Number of sent PUBREL packet">>);
|
||||||
'packets.pubcomp.missed',
|
m('packets.received' = K) ->
|
||||||
<<"Number of missed PUBCOMP packet">>
|
m(K, <<"Number of received packet">>);
|
||||||
),
|
m('packets.sent' = K) ->
|
||||||
m(
|
m(K, <<"Number of sent packet">>);
|
||||||
'packets.pubcomp.received',
|
m('packets.suback.sent' = K) ->
|
||||||
<<"Number of received PUBCOMP packet">>
|
m(K, <<"Number of sent SUBACK packet">>);
|
||||||
),
|
m('packets.subscribe.auth_error' = K) ->
|
||||||
m(
|
m(K, <<"Number of received SUBACK packet with failed Authorization check">>);
|
||||||
'packets.pubcomp.sent',
|
m('packets.subscribe.error' = K) ->
|
||||||
<<"Number of sent PUBCOMP packet">>
|
m(K, <<"Number of received SUBSCRIBE packet with failed subscriptions">>);
|
||||||
),
|
m('packets.subscribe.received' = K) ->
|
||||||
m(
|
m(K, <<"Number of received SUBSCRIBE packet">>);
|
||||||
'packets.publish.auth_error',
|
m('packets.unsuback.sent' = K) ->
|
||||||
<<"Number of received PUBLISH packets with failed the Authorization check">>
|
m(K, <<"Number of sent UNSUBACK packet">>);
|
||||||
),
|
m('packets.unsubscribe.error' = K) ->
|
||||||
m(
|
m(K, <<"Number of received UNSUBSCRIBE packet with failed unsubscriptions">>);
|
||||||
'packets.publish.dropped',
|
m('packets.unsubscribe.received' = K) ->
|
||||||
<<"Number of messages discarded due to the receiving limit">>
|
m(K, <<"Number of received UNSUBSCRIBE packet">>);
|
||||||
),
|
m('rules.matched' = K) ->
|
||||||
m(
|
m(K, <<"Number of rule matched">>);
|
||||||
'packets.publish.error',
|
m('session.created' = K) ->
|
||||||
<<"Number of received PUBLISH packet that cannot be published">>
|
m(K, <<"Number of sessions created">>);
|
||||||
),
|
m('session.discarded' = K) ->
|
||||||
m(
|
m(K, <<"Number of sessions dropped because Clean Session or Clean Start is true">>);
|
||||||
'packets.publish.inuse',
|
m('session.resumed' = K) ->
|
||||||
<<"Number of received PUBLISH packet with occupied identifiers">>
|
m(K, <<"Number of sessions resumed because Clean Session or Clean Start is false">>);
|
||||||
),
|
m('session.takenover' = K) ->
|
||||||
m(
|
m(K, <<"Number of sessions takenover because Clean Session or Clean Start is false">>);
|
||||||
'packets.publish.received',
|
m('session.terminated' = K) ->
|
||||||
<<"Number of received PUBLISH packet">>
|
m(K, <<"Number of terminated sessions">>).
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.publish.sent',
|
|
||||||
<<"Number of sent PUBLISH packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrec.inuse',
|
|
||||||
<<"Number of received PUBREC packet with occupied identifiers">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrec.missed',
|
|
||||||
<<"Number of received PUBREC packet with unknown identifiers">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrec.received',
|
|
||||||
<<"Number of received PUBREC packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrec.sent',
|
|
||||||
<<"Number of sent PUBREC packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrel.missed',
|
|
||||||
<<"Number of received PUBREC packet with unknown identifiers">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrel.received',
|
|
||||||
<<"Number of received PUBREL packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.pubrel.sent',
|
|
||||||
<<"Number of sent PUBREL packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.received',
|
|
||||||
<<"Number of received packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.sent',
|
|
||||||
<<"Number of sent packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.suback.sent',
|
|
||||||
<<"Number of sent SUBACK packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.subscribe.auth_error',
|
|
||||||
<<"Number of received SUBACK packet with failed Authorization check">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.subscribe.error',
|
|
||||||
<<"Number of received SUBSCRIBE packet with failed subscriptions">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.subscribe.received',
|
|
||||||
<<"Number of received SUBSCRIBE packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.unsuback.sent',
|
|
||||||
<<"Number of sent UNSUBACK packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.unsubscribe.error',
|
|
||||||
<<"Number of received UNSUBSCRIBE packet with failed unsubscriptions">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'packets.unsubscribe.received',
|
|
||||||
<<"Number of received UNSUBSCRIBE packet">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'rules.matched',
|
|
||||||
<<"Number of rule matched">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'session.created',
|
|
||||||
<<"Number of sessions created">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'session.discarded',
|
|
||||||
<<"Number of sessions dropped because Clean Session or Clean Start is true">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'session.resumed',
|
|
||||||
<<"Number of sessions resumed because Clean Session or Clean Start is false">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'session.takenover',
|
|
||||||
<<"Number of sessions takenover because Clean Session or Clean Start is false">>
|
|
||||||
),
|
|
||||||
m(
|
|
||||||
'session.terminated',
|
|
||||||
<<"Number of terminated sessions">>
|
|
||||||
)
|
|
||||||
].
|
|
||||||
|
|
||||||
m(K, Desc) ->
|
m(K, Desc) ->
|
||||||
{K, mk(non_neg_integer(), #{desc => Desc})}.
|
{K, mk(non_neg_integer(), #{desc => Desc})}.
|
||||||
|
|
Loading…
Reference in New Issue