Skip to content

1.21.0

Choose a tag to compare

@bahildebrand bahildebrand released this 08 May 21:10
· 6 commits to main since this release

This release adds several new metrics for tracking flash wear, as well as a new
syslog log source. It also includes a config flag to enable legacy statsd metric
names, and a data retention check to the upload process. For more information on
the new metrics, check out the
docs.

Added

  • Added metrics for tracking flash wear for mmc block devices like eMMC and SD
    cards
    • diskstats/<disk_name>/bytes_written
    • diskstats/<disk_name>/lifetime_pct
    • diskstats/<disk_name>/manufacturer_id
    • diskstats/<disk_name>/name
  • Added syslog as a logs source. This adds support for messages in both RFC5424
    and RFC3164 format sent over UDP. This is enabled with the syslog feature
    which defaults to enabled.
  • Added a config flag to enable legacy statsd metric names. This will generate
    metrics that follow the format generated by the collectd statsd server. This
    is a helpful option for people looking to remove collectd as a dependency,
    but keep the legacy format for metric keys. The config value can be found in
    metrics->statsd_server->legacy_key_names.
  • Added time-based data filtering: When upgrading multiple devices' visibility
    levels, the Memfault backend now tells memfaultd to only upload data from
    the time of the change forward. This prevents unexpected large data uploads
    from device history.
  • Added interface/<interface>/total_bytes/{tx,rx} metrics. These allow us to
    track the total bytes sent over an interface over the course of an hour.

Changed

  • Added intelligent traffic distribution: Device initial connections now include
    a random delay (up to 25% of the configured upload interval). This prevents
    traffic spikes when many devices connect simultaneously, ensuring smoother
    backend performance.
  • ram and loop disks are no longer tracked with diskstats in auto mode.
    These are virtual disks, and provide little value when tracking metrics.