Packages

Alchemetrics Web is a boilerplate to report basic metrics for a typical web application, such as request count, response time, ecto and erlang metrics.

Current section

Files

Jump to
alchemetrics_web lib phoenix_plug.ex
Raw

lib/phoenix_plug.ex

defmodule AlchemetricsWeb.PhoenixPlug do
@behaviour Plug
alias AlchemetricsWeb.MetricMetadata.Request
import AlchemetricsWeb.MetricCollectors.PhoenixRequest
import Plug.Conn
def init(opts), do: opts
def call(conn, _opts) do
request_started_at = System.monotonic_time
register_before_send conn, fn conn ->
Request.metadata(conn)
|> report_request_metrics(request_started_at)
end
conn
end
end