Files
parrhesia/test/parrhesia/telemetry_test.exs

26 lines
906 B
Elixir

defmodule Parrhesia.TelemetryTest do
use ExUnit.Case, async: true
alias Parrhesia.Telemetry
test "exposes Marmot-focused telemetry metrics" do
metric_names = Enum.map(Telemetry.metrics(), & &1.name)
assert [:parrhesia, :ingest, :duration, :ms] in metric_names
assert [:parrhesia, :query, :duration, :ms] in metric_names
assert [:parrhesia, :fanout, :duration, :ms] in metric_names
assert [:parrhesia, :connection, :outbound_queue, :depth] in metric_names
assert [:parrhesia, :connection, :outbound_queue, :pressure] in metric_names
assert [:parrhesia, :connection, :outbound_queue, :pressure_events, :count] in metric_names
end
test "emit/3 accepts traffic-class metadata" do
assert :ok =
Telemetry.emit(
[:parrhesia, :ingest, :stop],
%{duration: 1},
%{traffic_class: :marmot}
)
end
end