Changelog for Oban Met v0.1.0
[Met] Monitor Oban instances and synchronize shutdown.
Auto-started Met instances may outlive the Oban instance they're linked to, which causes a variety of registry errors when the original process has shutdown. To prevent that, a separate process now monitors the linked Oban supervisor process and coordinates shutting down the Met supervisor.
Meton boot for running oban instances
It's common for
oban_metto start in separate applications under an umbrella. When
oban, then Met missed the telemetry event and can't start a Met supervisor.
This adds a task on boot that starts a Met instance for any running Oban isntances.
[Recorder] Hibernate recorder process after compact cycle
Recorderprocess "touches" large batches of JSON received from
Reporterprocesses, but it doesn't operate on the data often enough to trigger a full GC. The entire mechanics are explained in this post on the ElixirForum.
Recorderhibernates after compacting to trigger a fullsweep garbage collection.
[Recorder] Differentiate max/sum/pct operations for timeslice
Some gauges should be displayed as a sum (exec count) while others should be a maximum (full count). Now timeslicing can differentiate between the two, and values types gained
union/2functions to make it possible.
[Reporter] Reset reported counts whenever they're checkable
In situations where there wasn't anything new to count, e.g. an empty queue or state, the old checks lingered until there was something to count again. Now any checkable counts are reset to an empty state before storage to ensure we reset back to 0 without new data.
- Telemetry powered metric tracking and aggregation with compaction
- Periodic queue checking and reporting, replaces the
- Periodic counting and reporting with backoff, replaces
- Leader backed distributed metric sharing with handoff
- Automatic instrumentation attached after instance startup