Slide 29
Slide 29 text
Example for Ecto and
Datadog
defmodule SpandexEcto.TelemetryAdapter do
alias SpandexEcto.EctoLogger
def handle_event([_, repo_name, :query], measurements, metadata, _config) do
log_entry = %{
query: metadata.query,
source: metadata.source,
params: metadata.params,
query_time: Map.get(measurements, :query_time, 0),
decode_time: Map.get(measurements, :decode_time, 0),
queue_time: Map.get(measurements, :queue_time, 0),
result: wrap_result(metadata.result)
}
EctoLogger.trace(log_entry, "#{repo_name}_database")
end
end