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-0-2022-09-09

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 you this functionality is something still want, you can provide a GenServer that executes your reporting code at some interval. This will allows the maximum flexibility to how you want your software to report metrics.

changed

Changed

  • Remove Mobius.RemoteReporter
  • Remove :remote_reporter configuration from Mobius.arg()
  • Remove :remote_reporter_interval configuration from Mobius.arg()
  • Remove Mobius.RemoteReporters.LoggerReporter

added

Added

v0-5-1-2022-06-01

v0.5.1 - 2022-06-01

added-1

Added

  • Added the ability for a remote reporter to response with {:error, reason, new_state}.

v0-5-0-2022-05-31

v0.5.0 - 2022-05-31

Breaking changes for three functions in the Mobius.Exports module:

  1. Mobius.Exports.series/4
  2. Mobius.Exports.metrics/4
  3. Mobius.Exports.plot/4

If you are now directly calling these functions in code you're safe to upgrade.

The first two use 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-1

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-2

Added

  • Mobius.RemoteReporter behaviour to allow for reporting metrics to a remote server.
  • Add :remote_reporter and :remote_report_interval options to the Mobius.arg() type.
  • Super for specify which summery 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

Misc

  • Update ex_doc to v.0.28.4
  • Update telemetry to v1.1.0
  • Fix up typos (@kianmeng)

v0-4-0-2022-03-25

v0.4.0 - 2022-03-25

changed-2

Changed

  • Mobius.plot/3 is now Mobius.Exports.plot/4
  • Mobius.to_csv/3 is now Mobius.Exports.csv/4
  • Mobius.filter_metrics/3 is now Mobius.Exports.metrics/4
  • Mobius.name() is now Mobius.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 of atoms() but is not the metric name as a string
  • Mobius.RRD internal metric format
  • Mobius.RRD.insert/3 typespec now expects [Mobius.metric()] as the last parameter

removed

Removed

  • Mobius.filter_opt() type
  • Mobius.csv_opt() type
  • Mobius.plot_opt() type
  • Mobius.query_opts/1 function
  • Mobius.to_csv/3 function
  • Mobius.plot/3 function
  • Mobius.filter_metrics/3 function
  • Mobius.make_bundle/2 function (use Mobius.mbf/1 instead)
  • Mobius.Bundle module
  • Mobius.record() type

added-3

Added

v0-3-7-2022-03-16

v0.3.7 - 2022-03-16

This release brings in a bunch of new functionality and bug fixes. Along with basic maintenance like dependency updates and documentation improvements (@ewildgoose).

added-4

Added

  • Create, save, and extract tar files that contain metric data, see Mobius.Bundles and Mobius.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

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

v0.3.6 - 2022-01-25

added-5

Added

v0-3-5-2021-12-2

v0.3.5 - 2021-12-2

fixes-1

Fixes

  • Fix crash when initializing metrics table when the ETS file cannot be read (@jfcloutier)

v0-3-4-2021-11-15

v0.3.4 - 2021-11-15

fixes-2

Fixes

  • Fix crash when a history file is unreadable during initialization (@mdwaud)

v0-3-3-2021-10-20

v0.3.3 - 2021-10-20

fixes-3

Fixes

  • Not able to pass a path for persistence that contains non-existing sub directories. Thank you LostKobrakai.

v0-3-2-2021-09-22

v0.3.2 - 2021-09-22

added-6

Added

v0-3-1-2021-09-08

v0.3.1 - 2021-09-08

added-7

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-3

Changed

  • Mobius.plot/3 will only show the last 3 minutes of data by default

v0-3-0-2021-8-19

v0.3.0 - 2021-8-19

changed-4

Changed

  • Deleted Mobius.Charts module. The functions in this module are now located in the Mobius module.

removed-1

Removed

  • Support for specifying resolutions.

v0-2-0-2021-8-03

v0.2.0 - 2021-8-03

added-8

Added

  • Mobius.Charts module
  • Persistence of historical information on graceful shutdown
  • Ability to specify time resolutions for plots

changed-5

Changed

v0-1-0-2021-7-16

v0.1.0 - 2021-7-16

Initial release!