Packages

Wrapper around ex_ray for OpenTrace in Elixir Phoenix

Current section

Files

Jump to
ex_api_tracing lib plug open_tracing.ex
Raw

lib/plug/open_tracing.ex

defmodule ExApiTracing.Plug.OpenTracing do
@behaviour Plug
alias ExRay.Span
alias ExApiTracing.Tracing.ExPhx
def init(default), do: default
def call(conn, _) do
trace_id = conn |> ExPhx.trace_id
Process.put(:trace_id, trace_id)
conn
|> ExPhx.span_name
|> Span.open(trace_id)
|> :otter.tag(:component, "router")
|> :otter.log(">>> Starting Request at #{conn.request_path}")
conn
end
end