Current section

Files

Jump to
event_bus_metrics lib event_bus_metrics.ex
Raw

lib/event_bus_metrics.ex

defmodule EventBus.Metrics do
@moduledoc """
Documentation for EventBus.Metrics.
"""
alias EventBus.Metrics.Service.{Counter, Event, Topic, Subscriber}
@doc """
Process event_bus events
"""
defdelegate process(event_shadow),
to: EventBus.Metrics.Counter,
as: :process
@doc """
List topics
"""
defdelegate list_topics,
to: Topic,
as: :all
@doc """
List subscriptions
"""
defdelegate list_subscribers,
to: Subscriber,
as: :all
@doc """
Fetch topic info
"""
defdelegate find_topic(topic),
to: Topic,
as: :find
@doc """
List of unprocessed events
"""
defdelegate list_events,
to: Event,
as: :unprocessed_all
@doc """
List of unprocessed events by topic
"""
defdelegate list_events(topic),
to: Event,
as: :unprocessed
@doc """
Fetch an event
"""
defdelegate find_event(topic, id),
to: Event,
as: :find
@doc """
Fetch hit count for an event topic
"""
defdelegate count_events(topic),
to: Counter,
as: :count
@doc """
Fetch sum of hit counts for all event topics
"""
defdelegate sum_events,
to: Counter,
as: :sum
end