Skip to main content

December 2023

Improved Processing Log: More data, better discoverability, more tools

The Processing Log has been updated to cover more processing-related activity, improve discoverability and make it easier to take action. The update adds multiple new filtering options including hardware version, software version and log level (e.g. Errors or Info). It also adds multiple new ways to take action on the information, including shareable links for each log, a download of the log for further investigation, and a quick link to upload missing symbol files.

The introduction of the processing log will make the initial integration much easier, providing instant feedback for a developer encountering unexpected behavior during integration. For customers already using Memfault this will provide much greater visibility of project related data processing and errors that might impacting the completeness of their data. Users can read more about the Processing log in Memfault’s documentation.

New charts for tracking Crashes and Reboots

Users can now add two new chart types into their custom dashboards - Reboots and “Crashes per 10k hours”. The Reboots chart gives visibility into the breakdown of different reboot reasons across each data set. The “Crashes per 10K hours” provides a calculation of the average number of crashes (unexpected reboots) across a minimum of 10,000 operating hours.

These new charts give teams a way to track the stability of their devices and measure and compare software quality across distinct populations. Teams will now be able to definitively measure software quality improvements or regressions between versions and even compare software stability across product lines. The Reboot chart is available to all users but the Crashes per 10k hours chart is currently only available to MCU customers. You can read more about these new charts in Memfault's documentation.

General

  • Added: New “Crashes Per 10K Hours” chart for comparing the stability of software versions
  • Added: Live filters can now be saved in Dashboards
  • Added: Many features and improvements to the new Processing Log, including:
    • New entries for info logs, processing errors, validation errors, and HTTP errors
    • New columns for software version ID and hardware version ID
    • New Upload Symbol File button for missing symbol file errors
    • Filtering by software version
    • A share button for deep linking to the processing log with selected filters
    • A temporary file download button for log entries with artifacts like battery stats and Custom Data Recordings
    • A new transaction focus mode that temporarily disables all applied filters (except the date range) and focuses on a single processing log transaction
    • Updates to the Processing Log documentation
  • Added: New Rate Limit settings page for better visibility into how often a device can send data within a project. Read our Rate Limit documentation for more information.
  • Improved: Reboot reasons chart to better compare the relative occurrence of all reboots or specific types of reboots across different software versions
  • Added: New “Never Seen” filter to Device search, enabling users to find registered devices that have not yet reported data.
  • Improved: Standardized the date and timestamp displayed across the entire application.
  • Improved: Various UI glitches and improvements (default timezone to UTC if unknown, increased tooltip popup lag time to prevent conflicting tooltips from displaying)
  • Fixed: Eliminate the possibility for multiple notifications on a fleet alert.
  • Fixed: Searching by attributes with > or < and empty strings returns results as expected
  • Changed: New device metrics will no longer default to being attributes unless they are first class metrics.

MCU

  • SDK versions 1.5.1 and 1.5.2 were released. Some highlights:
    • Added: A self-test component that checks the device's integration state. This self-test is available via the demo cli command self_test, or can be called directly via memfault_self_test_run() (see self_test.h for details). Currently, it validates device info and the build ID.
    • Added: An opt-in assert on malloc failure on ESP-IDF, controlled with CONFIG_MEMFAULT_ASSERT_ON_ALLOC_FAILURE. This is useful for tracking heap memory issues. Depending on the design, a system may in general not have any expected malloc failures, and may not be set up to handle them. This feature will generate issues tagged as Out Of Memory in the Memfault platform.
    • Fixed: A build error in the nRF-Connect SDK that occurs when CONFIG_DOWNLOAD_CLIENT=y + CONFIG_MEMFAULT_FOTA=n. This fixes the second issue reported in #66 by @nordicjm.
    • Changed: The SDK config flag MEMFAULT_EVENT_STORAGE_NV_SUPPORT_ENABLED now defaults to 0, disabled. For users that require it, the flag will now need to be set in memfault_platform_config.h

Android

  • SDK versions 4.11.0 and 4.12.0 were released. Some highlights:
    • Added: New disk wear metrics connectivity_connected_time_ms and connectivity_expected_time_ms. See documentation.
    • Added: Support for Reporting.report().successOrFailure() and Reporting.report().sync(). See documentation.
    • Added: Project keys can now be set at runtime using a sysprop, in addition to an Intent. See documentation.
    • Improved: Allow Bort BoardConfig to be added multiple times. This supports devices that include a system and vendor boardconfig.

Linux

  • SDK version 1.9.0 was released. Some highlights:
    • Added: Support for the Memfault Core Metrics in memfaultd. These metrics enable the monitoring of connectivity, battery usage, and stability out-of-the-box with minimal configuration.
    • Added: The ability to convert log into metrics. Further details on this new feature are provided in our logging guide.
    • Added: Support for string reboot reasons in addition to the existing reset code integers. This allows users to define custom reboot reasons specific to their device or domain.

CLI

  • We did not publish a new version of the memfault-cli in December 2023.