omni::structuredlog::EventInfo

Defined in omni/structuredlog/IStructuredLog.h

struct EventInfo

A descriptor for a single structured log event.

This struct should not need to be used externally but will be used by the generated code in the schema event registration helper function. A schema consists of a set of one or more of these structs plus some additional name and version information. The schema metadata is passed to IStructuredLog::allocSchema(). The array of these event info objects is passed to IStructuredLog::commitSchema().

Public Members

const char *eventName

The fully qualified name of this event.

While there is no strict formatting requirement for this name, this should be an RDNS style name that specifies the full ownership chain of the event. This should be similar to the following format: “com.nvidia.omniverse.<appName>.<eventName>”

EventFlags flags

Flags controlling the behavior of this event when being generated or processed.

Once registered, these flags may not change. This may be zero or more of the EventFlags flags.

ParserVersion parserVersion

Version of the schema tree building object that is passed in through schema.

This is used to indicate which version of the event payload block helper classes will be used to create and read the blocks. In general this should be kParserVersion.

uint64_t eventId

The event ID that will be used to identify this event from external callers.

This should be a value that uniquely identifies the event’s name, schema’s version, and the JSON parser version (ie: parserVersion above) that will be used. Ideally this should be a hash of a string containing all of the above information. It is the caller’s responsibility to ensure the event ID is globally unique enough for any given app’s usage.

const void *schema

Schema tree object for this event.

This tree object is expected to be built in the block of memory that is returned from IStructuredLog::allocSchema(). Optionally, this may be nullptr to indicate that the event’s payload is intended to be empty (ie: the event is just intended to be an “I was here” event).