Memfault Terminology

TermDescription
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
CohortGrouping 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
DeploymentWhen a Release is pushed to a particular Cohort. This means that any Device in the given Cohort will be able to query and update to this Release
DeviceAn edge device that communicates with Memfault. Can report Events, be updated with new software, grouped into Cohorts, etc.
Device SerialThe Unique Identifier of a Device
EventA small payload of information sent from a Device. There are many types of Events, such as Heartbeat Events, Events, Device install Events, etc.
Event - Device InstallEvents that are generated during a firmware update procedure tracking progress
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. 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
IssueA 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
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
Min VersionThe minimum version that needs to be installed for a Device to receive a particular Release
OrganizationEntity which contains many projects and users. Typically one organization per company.
Owner RefA user-defined unique identifier which can refer to the "owner" of a Device. Since Memfault wants all your customers data to stay in your own systems, you can use this field to associate a device to a "user" without giving us the user data.
ProjectA logical warehouse of all the Memfault data related to a particular class of device. Contains Releases, Cohorts, Issues, etc.
Project API 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.
RevisionThe VCS version that is associated with the Release. If using Git, this would be the SHA-1 of the commit.
Rollout - NormalMake a Release available to all Devices in the Cohort immediately
Rollout - Staged ReleaseMake a Release available to Devices in the Cohort incrementally
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.
SymbolsThe .elf file that is used by Memfault to symbolicate any crash data.
TraceA 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: - Event Trace - 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
Software VersionA Software Version is a single release for a particular Software Type. A single Software Version is associated with one Symbol Software Artifact.