Skip to main content

Memfault Terminology

ArtifactA file or binary that is uploaded and associated with a Release. This can be a symbol file (.elf) or a firmware binary.
Build IDA 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.
CoredumpA capture of the entire memory space of a Device which will generate a Trace in Memfault
DeviceAn 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 AttributeThe 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 SetA collection of Devices defined by a search query.
EventA small payload of information sent from a Device. There are many types of Events, such as Heartbeat Events and Trace Events, etc.
Event - HeartbeatHourly Events that contain vital information about the health of a Device. Most of the data here is user defined and customizable.
Event - TraceEvent captured when the device crashes or when the SDK is told to capture a trace manually.
FirmwareThe actual firmware binary that is downloaded by the device to install. It can be a raw binary or a .zip containing multiple binaries.
FleetAll Devices of a Project
Hardware VersionThe 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 - OpenAn Issue has not yet been fixed and remains in the list of Issues
Issue State - ResolvedAn 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.
MetricA 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
OrganizationEntity which contains many projects and users. Typically one organization per company.
ProjectA logical warehouse of all the Memfault data related to a particular class of device. Contains Releases, Cohorts, Issues, etc.
Project KeyThe 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
ReleaseA logical grouping of Artifacts that are usually built from the same revision.
Release - Full ReleaseA Release that can update device firmware to a specific version, from any older version ([*->2.0])
Release - Delta ReleaseA Release that can update device firmware to a specific version, but only from another specific version ([1.0->2.0])
Release ActivationWhen 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 - NormalMake a Release available to all Devices in the Cohort immediately
Release Activation - Staged RolloutMake a Release available to Devices in the Cohort incrementally
RevisionThe VCS version that is associated with the Release. If using Git, this would be the SHA-1 of the commit.
SignatureA unique identifier generated for each Trace and used for grouping into Issues
Software TypeA 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 VersionA Software Version is a single release for a particular Software Type. A single Software Version is associated with one Symbol Software Artifact.
SymbolsThe .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