Software Event extension
A software event log is typically recorded at the method call level during software execution. Events generated at this level reference a specific point in the software source code. The Software Event extension captures this event location information, together with some basic runtime information related to this location.
- Name: Software Event
- Prefix: swevent
- URI: https://www.xes-standard.org/swevent.xesext
Attributes
Type
- Key: type
- Components:
- event
- event
- Datatype: xs:string
Software event type, indicating at what point during execution this event was generated. The possible values are enumerated below.
Package
- Key: calle[er]-package
- Components:
- event
- event
- Datatype: xs:string
Class
- Key: calle[er]-class
- Components:
- event
- event
- Datatype: xs:string
Method
- Key: calle[er]-method
- Components:
- event
- event
- Datatype: xs:string
Parameter signature
- Key: calle[er]-paramSig
- Components:
- event
- event
- Datatype: xs:string
Return signature
- Key: calle[er]-returnSig
- Components:
- event
- event
- Datatype: xs:string
Is constructor?
- Key: calle[er]-isConstructor
- Components:
- event
- event
- Datatype: xs:boolean
Instance ID
- Key: calle[er]-instanceID
- Components:
- event
- event
- Datatype: xs:string
File name
- Key: calle[er]-filename
- Components:
- event
- event
- Datatype: xs:string
Line number
- Key: calle[er]-lineNr
- Components:
- event
- event
- Datatype: xs:long
Has data?
- Key: hasData
- Components:
- event
- event
- Datatype: xs:boolean
Return value
- Key: returnValue
- Components:
- event
- event
- Datatype: xs:string
Parameters
- Key: params
- Components:
- event
- event
- Datatype: List
Parameter value
- Key: paramValue
- Components:
- meta
- meta
- Datatype: xs:string
Value type
- Key: valueType
- Components:
- meta
- meta
- Datatype: xs:string
Application name
- Key: appName
- Components:
- event
- event
- Datatype: xs:string
Application tier
- Key: appTier
- Components:
- event
- event
- Datatype: xs:string
Application node
- Key: appNode
- Components:
- event
- event
- Datatype: xs:string
Application session
- Key: appSession
- Components:
- event
- event
- Datatype: xs:string
Thread ID
- Key: threadId
- Components:
- event
- event
- Datatype: xs:string
Nanoseconds
- Key: nanotime
- Components:
- event
- event
- Datatype: xs:long
Has exception?
- Key: hasException
- Components:
- log
- log
- Datatype: xs:boolean
Exception thrown
- Key: exThrown
- Components:
- event
- event
- Datatype: xs:string
Exception Caught
- Key: exCaught
- Components:
- event
- event
- Datatype: xs:string
Software event types
The possible software event type values we recognize are:
- call: The start of a method block.
- return: The normal end of a method block.
- throws: The end of a method block in case of an uncaught exception.
- handle: The start of an exception handle catch block.
- calling: The start of calling / invoking another method.
- returning: The end of returning a called method.
Relation to other extensions
The Software Event extension builds on the Concept extension to store the called method name and the called class object and the Time extension to store the time of the call in millisecond precision. Furthermore, the events software events generated on the same execution thread implicitly describe a call graph structure. This nested call graph relation can be explicitly logged using the Micro extension.
The software event type values are related to values in the standard lifecycle transactional model, defined in the Lifecycle extension. We define the following mapping (note that the standard lifecycle transactional model cannot correctly support the handle transition):
- call: start
- return: complete
- throws: ate_abort
- handle: reassign
- calling: start
- returning: complete
