Skip to main content

August 2022

Linux SDK 0.3.0 – Metrics and Diagnostics Data

Memfault's Linux support reaches another milestone: Devices can now report metrics and diagnostic data to measure the success of software updates (OTA) and to proactively diagnose anomalies before users even experience their effect. The Memfault Linux SDK 0.3.0 ships with a configurable set of plugins for collectd to obtain standard KPIs at the operating system level (e.g. available storage or RAM, CPU utilization, or network status and traffic). You can also use the SDK to collect product-specific custom metrics via statsd.

When sent to the cloud, all telemetry data is being processed and distilled to fleet-wide time-series metrics (e.g. "was there an uptick in avg. CPU usage since the last version?"), device attributes (e.g. “which devices at site B ran for more than 6 months already without reboot?"), and detailed per-device insights via the Timeline UI (e.g. “are there any anomalies on the network traffic that correlate with crashes reported for this device?").

Combined with Memfault's alerting feature, operating your fleet of Linux devices is now easier than ever!

Improved Device Timeline

Memfault’s Device Timeline provides a view for each device’s metrics, reboots and crashes to make debugging easier. With the recent performance improvements, Device Timeline now renders considerably more time-series metrics simultaneously and expandable “Panels” group relevant metrics together for ease of use (see Value History, Foreground, Longwakes below).

General

  • Added: Documentation of Issue De-duplication and hiding Issues with no Traces
  • Added: Panels under Device Timeline to show relevant metrics together for Android and Linux projects
  • Improved: Searching for Devices via Timeseries Metrics and Attributes now case insensitive
  • Improved: UI feedback when accessing a deleted Trace
  • Improved: Memfault Docs search shows Web App results above Changelog
  • Fixed: Devices → Traces didn’t show most recent Traces when end date is set to “Today”
  • Fixed: Error message when using Memfault during an ongoing deployment of the web application
  • Fixed: Error when loading the Issues page when symbol files are missing
  • Fixed: Various UI glitches and improvements (chart icons on Firefox, invisible “past software versions” on Safari, Devices page opening with scroll state of previous page, overflowed text in Release Details page, Active Devices chart tooltip displays year)
  • Fixed: Some cohort list pages showing incorrect number of devices for some cohorts
  • Fixed: Error when retrieving issues via the Issues API
  • Changed: Enforce daily Rate Limit for traces and other data points on Qualcomm MCUs
  • Removed: Device Timeline page storing its configuration in the URL

MCU

  • Added: Option to restart failed coredump processing under Issues → Queue Status
  • Added: Getting Started Guide for Zephyr integrations
  • Fixed: Incomplete backtraces because of outdated GDB version
  • Fixed: Mangled C++ function names
  • SDK versions 0.32.0, 0.32.1, 0.32.2, 0.33.0, 0.33.1 were released. Some highlights:
    • Added: memfault_demo_shell support for terminals that only emit CR for line endings
    • Added: Software watchdog reference port for nRF5 SDK and example usage in the demo app
    • Added: Fallback to printk usage when no logging is enabled in Zepyhr port
    • Added: Heartbeat metrics for heap and Wi-Fi performance tracking when using the default port for CAT1A (PSoC™️ 6)
    • Added: New example application for trying Memfault on nRF53 & nRF52
    • Added: Option to print Zephyr backtrace output to console while also using Memfault
    • Improved: Support for upcoming Zephyr 3.2.0 (and also 3.1.0) with the newly namespaced Zephyr include path
    • Fixed: Heap stats free not checking in_use flag. (Thanks @christophgreen for reporting it!)
    • Fixed: Wrong level prefix when Zephyr Memfault log capture used
    • Fixed: Memfault log capture issues (wrong log level prefix, capturing each logged character as a separate line)
    • Fixed: Error during the OTA download when using Memfault nRF Connect SDK FOTA client
    • Fixed: Reboot reason reported as “Unknown” when PSoC 6 is fully reset instead of “Power On Reset”
    • Changed: Memfault logs (e.g. MEMFAULT_LOG_DEBUG() etc.) are now routed to the Zephyr logging infrastructure and output depends on the CONFIG_MEMFAULT_LOGGING_ENABLE Kconfig option
    • Removed: Support for Zephyr LTS release 1.14

Android

  • Fixed: Sporadic timeouts when processing some bug reports
  • We did not publish a new version of the Android Bort AOSP SDK in August.

Linux

  • Added: Metrics incl. grouping via Device Timeline
  • Added: Fleet-wide metric aggregations (sum, count, min, max, mean)
  • Improved: Getting Started guide now shown after project creation
  • Improved: Documentation about Linux OTA
  • SDK version 0.3.0 was released. Some highlights:
    • Added: Support for metrics using collectd
    • Added: Documentation for configuring collectd and metric collection