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
alias AlchemetricsWeb.Collectors.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 ->
conn
|> Request.metadata
|> PhoenixRequest.collect(request_started_at)
conn
end
end
end