Skip to main content

Metric Reports

What is a Metric Report?

A Metric Report, or report for short, is a container for a set of metric readings. In the illustration below, 2 examples of reports from an imaginary action camera device are sketched out. All reports have a common set of metadata, containing the Device ID, the Software Version, captured date, Duration of the report and a few more pieces of metadata.

The report on the left is a periodic heartbeat report, as indicated by its "Report Type" field and contains a set of readings for each Heartbeat metric. The reading represents that metric's value for the given time and period of the report. For example, battery_soc_pct_drop is the percentage drop in battery over the 60 minutes from the start of the report to the end ("Captured Date") of the report.

On the right, we have another report. Note it's very similar, except the "Report Type", which is recording. This is a so-called "session report". The device in the example is an action camera and this report contains metrics from a video recording session. Note that the battery_soc_pct_drop and chassis_temperature_celsius keys are the same as with the heartbeat report, while fps and resolution are specific to the recording report.

Examples of Metric Reports from an imaginary action camera device

Examples of Metric Reports from an imaginary action camera device

Report Types

In the example in the previous section, we saw two types of reports: heartbeat and recording. Generally speaking, there are 2 categories of reports: periodic reports and session reports:

Categories of Metric Reports

Categories of Metric Reports

Periodic / Heartbeat Reports

Periodic reports are built-in and have the reserved type heartbeat. The Memfault SDKs typically capture this report every hour, continuously.

Session Reports

Advanced Analytics
This feature is limited to customers with Memfault's Advanced Analytics bundle. Please reach out to our sales or customer success team to access it.

Session report types are customer-defined. A session report is explicitly captured around activities of interest. Some examples:

  • A video camera device may use a recording session to capture metrics relevant to the video recording, such as frames per second, resolution, etc.
  • A gaming console may use a gameplay session to capture metrics relevant to the gameplay, such as input latency, cellular bytes transferred, etc.
  • A fitness device may use a workout session to capture metrics relevant to the workout, such as heart rate, steps taken, etc.

Any ASCII string between 1-128 characters can be used (excluding the built-in heartbeat) can be used as the report type string.

For more information about capturing metric sessions for each SDK:

Quotas

You're only allowed to use a limited amount of (session) report types. The limit is dependent on the plan you have. Check out the Settings → Quotas Files page to see the "Session Types" quota.

CategoryReport TypeQuota-exempt
Periodicheartbeat (builtin)Yes
SessionCustomer-provided stringNo