Plug integration for OpenCensus. It provides tracer and metrics integration.
The package can be installed by adding opencensus_plug to your list
of dependencies in mix.exs:
def deps do
[
{:opencensus_plug, "~> 0.3"}
]
endThe docs can be found at https://hexdocs.pm/opencensus_plug.
Create tracing module:
defmodule MyApp.TracePlug do
use Opencensus.Plug.Trace
endAnd then add it on the beginning of your pipeline (the sooner the better):
plug MyApp.TracePlugThis will extract parent trace from the headers accordingly
to Tracing Context proposal and it will
create new span. By default span name will match request path, you can configure
that by defining span_name/2 method that will receive Plug.Conn.t as a first
argument and plug options as a second.
Create metrics module:
defmodule MyApp.MetricsPlug do
use Opencensus.Plug.Metrics
endAnd then add it on the beginning of your pipeline (the sooner the better):
plug MyApp.MetricsPlugYou also need to define metrics that will be measured, fortunately there is
helper method for you, just call MyApp.MetricsPlug.setup_metrics() before
running pipeline.
Available metrics:
"plug/requests/duration"- request duration in microseconds"plug/requests/count"- requests count
WARNING! This defines only metrics, not views. You need to define views on your own to be able to see them in the exporters.
See LICENSE file.