Skip to content
This repository has been archived by the owner on Oct 16, 2019. It is now read-only.

elli-lib/elli_otter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elli_otter

OpenTracing, via otter, middleware for Elli.

Install

{deps, [elli_otter]}.

Use the elli_middleware module as the callback with the elli_otter_middleware in the mods list, followed by other middlewares and your callback.

ElliOtterConfig = elli_otter:config(#{prefix => <<>>,
                                      traced_request_attributes => [path, method, headers],
                                      log_exceptions => true}),
Config = [{mods, [{elli_otter_middleware, ElliOtterConfig}, ...]}],
ElliOpts = [{callback, elli_middleware}, {callback_args, Config}, ...],

Configuration

See the otter documentation for how to configure filtering and sending to Zipkin or Jaeger.

elli_otter provides the function config to return the proper list used for configuration in the middleware. It takes a map with options:

  • prefix: String the headers in requests will have for OpenTracing specific headers. Default: <<>>.
  • traced_request_attributes: List of a attributes to tag. Default: [path, method, headers].
  • log_exceptions: If true the and an exception happens that Elli handles, like request_parse_error if it fails to parse the request, a log of the stacktrace will be included in the span. Default: true.
  • debug: If true the span is started for every request. Default: true.
  • sampling_percent: Percent of incoming requests to create spans for. Default: 10. Note: When using defaults this one doesnt matter since debug is true.

Releases

No releases published

Packages

No packages published

Languages