Memfault Terminology
Term | Description |
---|---|
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.
|
Device Vs Data searches | Filtering and searching for data is frequently possible through two different lenses. Data searches target only the data that occurred when a specific criteria was met. Device searches return the historical data of a device. Learn more about the Device vs Data compairiions. |
Device ID | The Unique Identifier of a Device, often the device serial. It must be an
alphanumeric slug (matching this regex: |
Device Set | A collection of Devices defined by a search query. |
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. |
Heartbeat | Hourly reports that contain vital information about the health of a Device. Most of the data here is user defined and customizable. |
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 ( |
Release - Delta Release | A Release that can update device firmware to a specific version, but only from
another specific version ( |
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. |
(Metric) Report | A collection of metric readings sent from a Device for monitoring. Reports can be collected at a fixed interval (see Heartbeats). Reports can also contain metric readings specific to an (user) activity or "session". Each report has a type, which is a string value. The type See Metric Reports for more info. |
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. |
Trace Event | Event captured when the device crashes or when the SDK is told to capture a trace manually. A Trace Event only contains the program counter (instruction pointer), the link register (return address) if available and optional log or status code. |