defmodule Membrane.RTP.Metrics do
@moduledoc """
Defines list of metrics, that can be aggregated based on events from membrane_rtp_plugin.
"""
@doc """
Returns list of metrics, that can be aggregated based on events from membrane_rtp_plugin.
"""
@spec metrics() :: [Telemetry.Metrics.t()]
def metrics() do
[
Telemetry.Metrics.counter(
"inbound-rtp.keyframe_request_sent",
event_name: [Membrane.RTP, :rtcp, :fir, :sent]
),
Telemetry.Metrics.counter(
"inbound-rtp.packets",
event_name: [Membrane.RTP, :packet, :arrival]
),
Telemetry.Metrics.sum(
"inbound-rtp.bytes_received",
event_name: [Membrane.RTP, :packet, :arrival],
measurement: :bytes
),
Telemetry.Metrics.last_value(
"inbound-rtp.encoding",
event_name: [Membrane.RTP, :inbound_track, :new],
measurement: :encoding
),
Telemetry.Metrics.last_value(
"inbound-rtp.ssrc",
event_name: [Membrane.RTP, :inbound_track, :new],
measurement: :ssrc
)
]
end
end