Skip to Content

Event History

Vinyl records event execution to the event history table. The following events are logged:

  • Events executed in background, whether scheduled or initiated by a user.
  • Any event that throws an exception.
  • Any event that takes longer than 10 seconds to execute.

Event history is available to administrators via the IDE > Monitoring. Event history is also available to developers programmatically via the EventHistory public data object. The EventHistory public data object exposes the following columns:

  • EventHistoryId - Monotonically increasing integer.
  • ContextId - Unique identifier that can be used to correlate events that occur within a single operation such as a business CRUD rule. This value is accessible to rules using the event('contextid') mvSQL runtime function.
  • TableId - The table on which the event has been invoked.
  • EventName - The name of the event invoked.
  • Result - The event result. Possible values include Success, Error and Cancelled.
  • StartedOn - The date and time at which the event was invoked.
  • CompletedOn - The date and time at which the event terminated, successful or otherwise.
  • Duration - The duration of the event's execution in milliseconds. Since many SQL timestamp fields lack millisecond precision, this number may differ from the value derived by subtracting StartedOn from CompletedOn.
  • RanAsUserId - The identifier of the user principal under which the event executed. This value is accessible to rules via the who('userid') mvSQL runtime function.
  • Bindings - Binding criteria used to retrieve row on which the event was executed. The criteria is serialized using URL encoding (e.g. Name1=Value1&Name2=Value2). Bindings are not available for all events.
  • Exception - Exception message if the event failed as a result of an exception. This value is accessible to action failure handlers using the event('exception') mvSQL runtime function.
  • SessionId - In the case of a user-initiated event, the user's session identifier. In the case of a scheduled event, an ephemeral session identifier. This value is accessible to rules using the session() mvSQL runtime function.
  • RowId - Unique identifier for the row on which the event was invoked. In the case of an business CRUD rule, this refers to the target row identifier. This value is accessible to rules using the event('rowid') mvSQL runtime function.
  • SourceRowId - Unique identifier for the business CRUD Insert and Update source row. This value is accessible to business CRUD rules using the event('source.rowid') mvSQL runtime function.

Note

The entry is written to the event history after the event has executed. As a consequence, the event itself cannot access it's history entry.