Telemetry module for Arrea.
Provides measurement and event emission functions to monitor engine operations. Delegates to submodules:
Arrea.Telemetry.Metrics— Metrics collection via ETSArrea.Telemetry.Events— Definition and emission of categorized eventsArrea.Telemetry.DebugHandler— Debug handler for development
Usage
# Execute with telemetry measurement
Arrea.Telemetry.measure(fn ->
# Your code here
end)
# Configure all metric handlers
Arrea.Telemetry.setup()
Summary
Functions
Emits a custom telemetry event.
Executes a function with telemetry measurement.
Executes a function and returns the result, measuring execution time.
Functions
Emits a custom telemetry event.
Parameters
- type - The type/name of the event
- measurements - Map of measurement values
- metadata - Map of metadata
Examples
iex> Arrea.Telemetry.emit(:custom_event, %{value: 1}, %{tag: "test"})
:ok
Executes a function with telemetry measurement.
Options
:metadata- Additional metadata for the event
Examples
iex> Arrea.Telemetry.measure(fn -> Process.sleep(10) end)
:ok
@spec measure_with_result(fun()) :: {:ok, term(), non_neg_integer()} | {:error, term(), non_neg_integer()}
Executes a function and returns the result, measuring execution time.
Examples
iex> Arrea.Telemetry.measure_with_result(fn -> {:ok, "data"} end)
{:ok, "data", 0}