Defined in omni/structuredlog/StructuredLogSettingsUtils.h

constexpr const char *omni::structuredlog::kEventIdModeSetting = "/structuredLog/eventIdMode"

The setting path for the event identifier mode.

This controls how event identifiers are generated. Valid values are ‘fast-sequential’, sequential, and random. Each has its own benefits and drawbacks:

  • sequential ensures that all generated event IDs are in sequential order. When the event ID type is set to UUID, this will ensure that each generated event ID can be easily sorted after the previous one. With a UUID type ID, this mode can be expensive to generate. With a uint64 ID, this is the most performant to generate.

  • fast-sequential is only effective when the event ID type is set to ‘UUID’. In this mode, the UUIDs that are generated are sequential, but in memory order, not lexicographical order. It takes some extra effort to sort these events on the data analysis side, but they are generated very quickly. When the event ID type is not ‘UUID’, this mode behaves in the same way as sequential.

  • random generates a random event ID for each new event. This does not preserve any kind of order of events. If the app does not require sequential events, this can be more performant to generate especially for UUIDs.

This defaults to ‘fast-sequential. This setting is not case sensitive.