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
- 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.
- Remove
Mobius.RemoteReporter
- Remove
:remote_reporter
configuration fromMobius.arg()
- Remove
:remote_reporter_interval
configuration fromMobius.arg()
- Remove
Mobius.RemoteReporters.LoggerReporter
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 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:
Mobius.Exports.series/4
Mobius.Exports.metrics/4
Mobius.Exports.plot/4
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()}
.
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()}
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.
- Update
ex_doc
tov.0.28.4
- Update
telemetry
tov1.1.0
- Fix up typos (@kianmeng)
v0.4.0 - 2022-03-25
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
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
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).
- 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)
- 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
- Support for
Telemetry.Metrics.Summary
metric type
v0.3.5 - 2021-12-2
- Fix crash when initializing metrics table when the ETS file cannot be read (@jfcloutier)
v0.3.4 - 2021-11-15
- Fix crash when a history file is unreadable during initialization (@mdwaud)
v0.3.3 - 2021-10-20
- Not able to pass a path for persistence that contains non-existing sub directories. Thank you LostKobrakai.
v0.3.2 - 2021-09-22
- Support for
Telemetry.Metrics.Sum
type - Support for filtering CSV records by type with
:type
option
v0.3.1 - 2021-09-08
- 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
Mobius.plot/3
will only show the last 3 minutes of data by default
v0.3.0 - 2021-8-19
- Deleted
Mobius.Charts
module. The functions in this module are now located in theMobius
module.
- Support for specifying resolutions.
v0.2.0 - 2021-8-03
Mobius.Charts
module- Persistence of historical information on graceful shutdown
- Ability to specify time resolutions for plots
- Move
Moblus.plot/0
andMobius.info/0
toMobius.Charts
module
Initial release!