Skip to main content

Memfault Terminology

TermDescription

Artifact

A file or binary that is uploaded and associated with a Release. This can be a symbol file (.elf) or a firmware binary.

Build ID

A unique identifier for a given Artifact.

Cohort

Grouping of devices. Typical cohorts are "alpha", "beta", and "prod", but these can be any grouping, such as a deployment facility.

Coredump

A capture of the entire memory space of a Device which will generate a Trace in Memfault.

Device

An edge device that communicates with Memfault. It can report Events, be updated with new software, grouped into Cohorts, etc.

Device - Active

A device that has contacted Memfault in the currently viewed time window, which is usually daily, weekly, or monthly.

Device - Inactive

A device that has previously contacted Memfault before the currently viewed time window, which is usually daily, weekly, or monthly.

Device - Pending

A device that has been created but has not contacted the Memfault service yet. This can happen when devices have been created via API or CSV upload.

Device Attribute

The latest value reported for a device for a custom metric (e.g. battery_level).

Device ID

The Unique Identifier of a Device, often the device serial. It must be an alphanumeric slug (matching this regex: ^[-a-zA-Z0-9_]+$).

Device Set

A collection of Devices defined by a search query.

Event

A small payload of information sent from a Device. There are many types of Events, such as Heartbeat Events and Trace Events, etc.

Event - Heartbeat

Hourly Events that contain vital information about the health of a Device. Most of the data here is user defined and customizable.

Event - Trace

Event captured when the device crashes or when the SDK is told to capture a trace manually.

Firmware

The actual firmware binary that is downloaded by the device to install. It can be a raw binary or a .zip containing multiple binaries.

Fleet

All Devices of a Project.

Hardware Version

The version of hardware of the Device. Since hardware companies typically have many revision of their product through stages of manufacturing (evt, dvt, pvt), this can be used to surface those differences. One can upload different Artifacts in the same release for different Hardware Versions.

Issue

A logical grouping of Traces with the same signature.

Issue State - Open

An Issue has not yet been fixed and remains in the list of Issues.

Issue State - Resolved

An Issue has been closed and will no longer appear in the list of Issues.

MAR (Memfault Archive)

A compressed file format containing several types of data (e.g. logs, metrics, bug reports) that can be uploaded to Memfault for analysis.

Metric

A key-value pair representing a useful piece of information that a Device records. A few examples include uptime, free memory, battery life, current state of power.

Operational Hours

The total number of hours of operation that has been reported to Memfault for a given software version, device, fleet of devices, etc.

Organization

Entity which contains many projects and users. Typically one organization per company.

Project

A logical warehouse of all the Memfault data related to a particular class of device. Contains Releases, Cohorts, Issues, etc.

Project Key

The key that is included in the Header of the HTTP request when sending (or retrieving) data from Memfault servers. This is only allowed/required on certain endpoints. It does not grant access to all API endpoints. For general Auth, refer to the Auth section of the Memfault API Documentation.

Release

A logical grouping of Artifacts that are usually built from the same revision.

Release - Full Release

A Release that can update device firmware to a specific version, from any older version ([* → 2.0]).

Release - Delta Release

A Release that can update device firmware to a specific version, but only from another specific version ([1.0 → 2.0]).

Release Activation

When a Release is activated in a particular Cohort. This means that any Device in the given Cohort will be able to query and download this Release.

Release Activation - Normal

Make a Release available to all Devices in the Cohort immediately.

Release Activation - Staged Rollout

Make a Release available to Devices in the Cohort incrementally.

Revision

The VCS version that is associated with the Release. If using Git, this would be the SHA-1 of the commit.

Signature

A unique identifier generated for each Trace and used for grouping into Issues.

Software Type

A Software Type is a specific software package that runs on a Device in a multi-component architecture. Example: If a toaster has two MCU's, one which is the main system MCU and the other handles Wi-Fi connections, then there would be two Software Types, one likely called main-fw and the other called wifi-fw. A Software Type has many Software Versions as updates are pushed to the Device.

Software Version

A Software Version is a single release for a particular Software Type. A single Software Version is associated with one Symbol Software Artifact.

Symbols

The .elf file that is used by Memfault to symbolicate any crash data.

Trace

A crash or snapshot of the device at a particular moment in time, which can later be converted to a backtrace by Memfault. A Trace can be one of three types: - Trace Event - captures only the program counter (instruction pointer) and the link register (return address) if available - Stack Trace - captures the memory regions of the stack - Coredump Trace - captures most, if not all, relevant memory regions of the system.