Attributes define key metadata points to generate indices. These coroner indices are used for filtering, reporting, visualization and snapshot retrieval. They can be used to determine impact and investigate root cause by looking at interesting patterns. For example, you can request a distribution of process uptime or memory usage in real-time for any group of crashes.
We recommend you create an attribute for each metadata point added to your snapshots that you would like to query, group or filter on. For example, if you are adding
customer to each snapshot belonging to this project, you should add "customer" as an attribute.
To create a attribute for this project, simply click "Create a New Attribute" at the top of the Attributes section, and enter name, type, format, and description of the attribute (see Attributes Details below.)
Name: Name of the attribute
Type: Data type of attribute. The following types are supported:
- dictionary: This type should be used to store low cardinality strings (less than 2B unique values). Examples would include commits, versions, environment, etc... This encoding is efficient in that any string already present in the dictionary only requires 4 bytes of space to store in the column.
- uint64, uint32, uint16, uint8: These are unsigned integer types and can be used to store 64-bit, 32-bit, 16-bit and 8-bit integers respectively.
Format: Format of data type, used for rendering the value. The following formats are supported:
- semver: A semantic version string.
- kilobytes, gigabytes, terabytes, bytes: The underlying column is storing integer values, and those values are expected to be treated as the specified unit. This is only valid for integer types.
- callstack: The underlying column is storing a serialized JSON object that represents a callstack as a sequence of strings, where every element is a function. This is only valid for dictionary.
- hostname: The underlying column name is a machine hostname. This is only valid for dictionary.
- memory_address: The values represent memory addresses. They should be rendered as such. This is only valid for integer types.
- seconds: The values represent seconds since some user-defined epoch (for example, process.age is seconds since process start). Only valid for integers.
- unix_timestamp: The value represent a UNIX timestamp. Only valid for integers.
- ipv6: The column stores ipv6 addresses. This can be used with dictionary type only.
- username: The column stores a reference to a coronerd username. This is for dictionary type only.
- sha256: The column stores a sha256 value. Only valid for dictionary type.
- url: The column stores a valid web URL. Only valid for dictionary type.
- none: Just render the value as is.
Description: Description of the attribute
Commonly used attributes include
dc, both as