# 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).
## [1.1.0](https://github.com/beam-telemetry/telemetry_poller/tree/v1.1.0)
### Added
- Add the `init_delay` configuration option. (#70)
## [1.0.0](https://github.com/beam-telemetry/telemetry_poller/tree/v1.0.0)
This release marks stability of the API. The library now requires Telemetry ~> 1.0.
### Fixed
- Fix disabling the default poller via application environment.
### Changed
- Drop support for OTP 20.
## [0.5.1](https://github.com/beam-telemetry/telemetry_poller/tree/v0.5.1)
### Added
- Support `{:global, atom()}` and `{:via, module(), term()}` names for the poller process.
## [0.5.0](https://github.com/beam-telemetry/telemetry_poller/tree/v0.5.0)
### Added
- `system_counts` measurement
## [0.4.1](https://github.com/beam-telemetry/telemetry_poller/tree/v0.4.1)
### Changed
- Improve docs
- No longer add a default name to telemetry processes
## [0.4.0](https://github.com/beam-telemetry/telemetry_poller/tree/v0.4.0)
Telemetry Poller has been rewritten in Erlang so it can be used by the overall Erlang community.
Therefore, the `Telemetry.Poller` module must now be accessed as `telemetry_poller`.
A new `process_info` measurement has also been added and the `vm_measurements` and `measurements`
keys have been merged into a single `measurements` key for simplicity.
### Added
- `:process_info` measurement
### Changed
- `vm_measurements` and `measurements` have been merged into `measurements`
- `Telemetry.Poller` has been rewritten to `telemetry_poller`
## [0.3.0](https://github.com/beam-telemetry/telemetry_poller/tree/v0.3.0)
This release marks the upgrade to Telemetry 0.4.0. This means that Poller measurements can emit a map
of values now instead of a single one, making it less "noisy" when it comes to number of emitted events.
All specific memory measurements have been replaced with a single `:memory` measurement sending all
the values that were emitted by old measurements at once.
`:run_queue_lengths` VM measurement has been removed for now, as we believe that as detailed data
as it provided is not necessary to effectively debug the system. `:total_run_queue_lengths` VM
measurement has been changed so that it reports a `:total` length of run queues, length of `:cpu`
run queues (including dirty CPU run queue), and length of (dirty) `:io` run queue.
### Added
- `:memory` VM measurement reporting all the data returned by `:erlang.memory/0` call.
### Changed
- `:total_run_queue_lengths` VM measurement is reporting a `:total`, `:cpu` and `:io` run queue lengths
now. See documentation for more details.
### Removed
- `:total_memory`, `:atom_memory`, `:atom_used_memory`, `:processes_memory`, `:processes_used_memory`,
`:binary_memory`, `:ets_memory`, `:code_memory` and `:system_memory` VM measurements have been removed.
Please use the `:memory` measurement now instead.
## [0.2.0](https://github.com/beam-telemetry/telemetry_poller/tree/v0.2.0)
### Added
- Added `:total_run_queue_lengths` and `:run_queue_lengths` memory measurements;
### Changed
- `:total_run_queue_lengths` is now included in the set of default VM measurements;
- A default Poller process, with a default set of VM measurements, is started when `:telemetry_poller`
application starts (configurable via `:telemetry.poller, :default` application environment).
- VM measurements are now provided to Poller's `:vm_measurements` option. Passing atom `:default`
to this option makes the Poller use a default set of VM measurements;
- Telemetry has been upgraded to version 0.3, meaning that VM measurements now use this version to
emit the events.
### Removed
- `Telemetry.Poller.vm_measurements/0` function has been removed in favor of `:vm_measurements`
option.
### Fixed
- Fixed the type definition of `Telemetry.Poller.measurement/0` type - no Dialyzer warnings are
emitted when running it on the project.
## [0.1.0](https://github.com/beam-telemetry/telemetry_poller/tree/v0.1.0)
### Added
- The Poller process periodically invoking registered functions which emit Telemetry events.
It supports VM memory measurements and custom measurements provided as MFAs.