Skip to content
This repository was 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.

About

OpenTracing instrumentation for Elli

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages