tesla_statsd v0.1.0 Tesla.StatsD

This middleware sends histogram stats to Datadog for every outgoing request. The sent value is response time in milliseconds.

Metric name is configurable and defaults to “http.request”. The middleware also sends tags:

  • http_status - HTTP status code.
  • http_status_family (2xx, 4xx, 5xx) - HTTP status family
  • http_host - The host request has been sent to

Tags have “http” in their names to avoid collisions with default tags sent by Datadog StatsD agent.

Configuration

  • :backend - StatsD backend module. Defaults to ExStatsD. A backend must implement Tesla.StatsD.Backend behaviour.
  • :metric - Metric name. Can be ether string or function (Tesla.Env.t -> String.t).
  • :metric_type - Metric type. Can be :histogram (default) or :gauge. See Datadog documentation.
  • :tags - List of additional tags. Can be either list or function (Tesla.Env.t -> [String.t]).
  • :sample_rate - Limit how often the metric is collected (default: 1)

Usage with Tesla

defmodule AccountsClient do
  use Tesla

  plug Tesla.StatsD, metric: "external.request", tags: ["service:accounts"]
end

Link to this section Summary

Link to this section Functions

Link to this function call(env, next, opts)

Callback implementation for Tesla.Middleware.call/3.