# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.6.1](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.6.1) ### Added * Support latest telemetry ## [0.6.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.6.0) This release brings an improvement that helps to track metrics based on event's metadata. The `:measurement` option now accepts a two-arity function that takes both event measurements and metadata, and returns a final measurement to be tracked by the metric. Starting with this version Telemetry.Metrics requires minimum Elixir 1.7.0. ### Changed * Extended the `:measurement` option to accept a function taking both event measurements and metadata. ## [0.5.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.5.0) This release brings two new metric options, `:keep` and `:drop`, which allow users to specify which telemetry events should be taken into account when collecting metrics. Reporters supporting this version of `Telemetry.Metrics` need to respect these filtering rules. In addition, the requirement to specify the distribution buckets has been dropped, since not all reporters require configuration of buckets up front. Reporters which need the buckets to be defined on the metric struct should accept it via `:reporter_options`. ### Added * `:keep` and `:drop` options to filter events based on metadata ### Removed * the `:buckets` option on the distribution metric ## [0.4.2](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.4.2) ### Fixed * fixed a bug where unit conversion would fail if the measurement was missing ## [0.4.1](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.4.1) ### Fixed * fixed a bug where unit conversion would fail if the measurement was `nil` ## [0.4.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.4.0) ### Added * add `:reporter_options` option to all metric definitions for supplying reporter-specific configuration ### Changed * `Telemetry.Metrics.t` type is now defined as a union of base metric definitions provided by the library ## [0.3.1](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.3.1) ### Added * Add support for bytes, kilobytes and megabytes conversion ## [0.3.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.3.0) ### Added * add `Telemetry.Metrics.ConsoleReporter` as an example reporter that prints data to the terminal * add `summary/2` metric type * add shortcut representation for `:buckets` in the `distribution/2` metric ## [0.2.1](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.2.1) ### Fixed * dialyzer no longer fails on valid calls to `distribution/2` with `:buckets` option ## [0.2.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.2.0) This release makes the library compatible with Telemetry v0.4.0. This means that metric values are now based on one of the measurements. The first argument to all metric definition now specifies the metric name, but also the source event name and the measurement - however, both of them can be overridden using options. ### Added * support for Telemetry v0.4.0 - the measurement can be configured indirectly via metric name or a `:measurement` option * `:tag_values` option to apply final transformations to event metadata before it's used for tags * `:event_name` and `:measurement` to override event name and measurement set via metric name * ability to convert time unit of measurement via `:unit` option ### Changed * first argument to all metric definitions is a metric name instead of event name * `:unit` option now also accepts a tuple specifying the conversion of time unit of measurement ### Removed * `:metadata` option - `:tag_values` can be used to transform event metadata now instead ## [0.1.0](https://github.com/beam-telemetry/telemetry_metrics/tree/v0.1.0) ### Added * four metric specifications, `counter/2`, `sum/2`, `last_value/2` and `distribution/2`