View Source Changelog
This project follows Semantic Versioning.
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
v0.6.1 - 2024-04-02
Changed
- Allow
:telemetry_metrics
v1.0.0 and later now that it's been released - Fix
Logger.warn
deprecations - Fix binary format validation issue due to map sort order change in Erlang 26.
v0.6.0 - 2022-09-09
The breaking change in Mobius is the removal of remote reporting and the functionality built around that such as configuring a remote reporter to send a metric report at some interval.
If this functionality is something you still want, you can provide a GenServer that executes your reporting code at some interval. This will allow the maximum flexibility to how you want your software to report metrics.
Changed
- Remove
Mobius.RemoteReporter
- Remove
:remote_reporter
configuration fromMobius.arg()
- Remove
:remote_reporter_interval
configuration fromMobius.arg()
- Remove
Mobius.RemoteReporters.LoggerReporter
Added
Mobius.Event
Mobius.EventLog
Mobius.Clock
Mobius.get_latest_metrics/1
Mobius.get_latest_events/1
:events
option toMobius.arg()
:event_log_size
option toMobius.arg()
:clock
option toMobius.arg()
:session
option toMobius.arg()
Mobius.session()
v0.5.1 - 2022-06-01
Added
- Added the ability for a remote reporter to response with
{:error, reason, new_state}
.
v0.5.0 - 2022-05-31
Breaking changes for three functions in the Mobius.Exports
module:
If you are not directly calling these functions in your code you're safe to upgrade.
The first two used to return either {:ok, results}
or {:error, reason}
but
now they will only return their result. For Mobius.Exports.series/4
the return
value is now [integer()]
and for Mobius.Exports.metrics/4
the return type is
now [Mobius.metric()]
. Mobius.Exports.plot/4
still returns :ok
on success,
but can now return {:error, UnsupportedMetricError.t()}
.
Changed
Mobius.Exports.series/4
return type was{:ok, [integer()]} | {:error, UnsupportedMetricError.t()}
and now is[integer()]
.Mobius.Exports.metrics/4
return type was{:ok, [Mobius.metric()]} | {:error, UnsupportedMetricError.t()}
and now is[Mobius.metric()]
Mobius.Exports.plot/4
was just:ok
but now is:ok | {:error, UnsupportedMetricError.t()}
Added
Mobius.RemoteReporter
behaviour to allow for reporting metrics to a remote server.- Add
:remote_reporter
and:remote_report_interval
options to theMobius.arg()
type. - Support for specifying which summary metric you want to export. (@ewildgoose)
- Support for summary metrics types in some exports. (@ewildgoose)
- Add standard deviation calculation to the summary metric type. (@ewildgoose)
- New
Mobius.Exports.export_metric_type()
that allows for specifying the summary metric type.
Misc
- Update
ex_doc
tov.0.28.4
- Update
telemetry
tov1.1.0
- Fix up typos (@kianmeng)
v0.4.0 - 2022-03-25
Changed
Mobius.plot/3
is nowMobius.Exports.plot/4
Mobius.to_csv/3
is nowMobius.Exports.csv/4
Mobius.filter_metrics/3
is nowMobius.Exports.metrics/4
Mobius.name()
is nowMobius.instance()
- Mobius functions that need to know the name of the mobius instance now
expect
:mobius_instance
and not:name
Mobius.metric_name()
is no longer a list ofatoms()
but is now the metric name as a stringMobius.RRD
internal metric formatMobius.RRD.insert/3
typespec now expects[Mobius.metric()]
as the last parameter
Removed
Mobius.filter_opt()
typeMobius.csv_opt()
typeMobius.plot_opt()
typeMobius.query_opts/1
functionMobius.to_csv/3
functionMobius.plot/3
functionMobius.filter_metrics/3
functionMobius.make_bundle/2
function (useMobius.mbf/1
instead)Mobius.Bundle
moduleMobius.record()
type
Added
Mobius.Exports
module for APIs concerning retrieving historical data in various formatsMobius.Exports.csv/4
generates a CSV either as a string, to the console, or to a fileMobius.Exports.series/4
generates a series for historical dataMobius.Exports.metrics/4
retrieves the raw historical metric dataMobius.Exports.plot/4
generates a line plot to the consoleMobius.Exports.mbf/1
generates a binary that contains all current metricsMobius.Exports.parse_mbf/1
parses a binary that is in the Mobius Binary FormatMobius.Exports.UnsupportedMetricError
Mobius.Exports.MBFParseError
Mobius.FileError
:name
field toMobius.metric()
type
v0.3.7 - 2022-03-16
This release brings in a bunch of new features and bug fixes. Along with basic maintenance like dependency updates and documentation improvements (@ewildgoose).
Added
- Create, save, and extract tar files that contain metric data, see
Mobius.Bundles
andMobius.make_bundle/2
for more information. Mobius.filter_metrics/3
to filter for desired metrics to enable the metrics to be consumed externally (@ewildgoose)Mobius.save/1
to manually save the state of the metric data for Mobius (@ewildgoose):autosave_interval
option to Mobius to enable a saving data at the given interval (@ewildgoose)
Fixes
- Unit conversion not working correctly (@ewildgoose)
- Error handling for when the
:persistence_path
is missing (@ewildgoose) - Error handling when there is no data to plot (@ewildgoose)
- Crash when plotting an array of identical values (@ewildgoose)
- Correct off by one error when plotting (@ewildgoose)
v0.3.6 - 2022-01-25
Added
- Support for
Telemetry.Metrics.Summary
metric type
v0.3.5 - 2021-12-2
Fixes
- Fix crash when initializing metrics table when the ETS file cannot be read (@jfcloutier)
v0.3.4 - 2021-11-15
Fixes
- Fix crash when a history file is unreadable during initialization (@mdwaud)
v0.3.3 - 2021-10-20
Fixes
- Not able to pass a path for persistence that contains non-existing sub directories. Thank you LostKobrakai.
v0.3.2 - 2021-09-22
Added
- Support for
Telemetry.Metrics.Sum
type - Support for filtering CSV records by type with
:type
option
v0.3.1 - 2021-09-08
Added
- Plot over the last
x
seconds via the:last
plot option - Plot from an absolute time via the
:from
plot option - Plot to an absolute time via the
:to
plot option - Print or save metric time series via
Mobius.to_csv/3
- Remove tracking a metric by dropping it from the metric list passed to Mobius
Changed
Mobius.plot/3
will only show the last 3 minutes of data by default
v0.3.0 - 2021-8-19
Changed
- Deleted
Mobius.Charts
module. The functions in this module are now located in theMobius
module.
Removed
- Support for specifying resolutions.
v0.2.0 - 2021-8-03
Added
Mobius.Charts
module- Persistence of historical information on graceful shutdown
- Ability to specify time resolutions for plots
Changed
- Move
Moblus.plot/0
andMobius.info/0
toMobius.Charts
module
v0.1.0 - 2021-7-16
Initial release!