Skip to content

Commit 6c93ba4

Browse files
authored
fix: removing event latency measurement for internal events (#116)
1 parent fe2e076 commit 6c93ba4

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/main/kotlin/at/ac/uibk/dps/cirrina/execution/object/StateMachine.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ internal constructor(
136136
private fun processEvent(event: Event) {
137137
if (isTerminated()) return
138138

139-
eventTimer.update((System.nanoTime() - event.emittedTime) / 1_000, TimeUnit.MICROSECONDS)
139+
recordLatency(event)
140140

141141
handleEvent(event)?.let { transition -> step(transition) }
142142

@@ -258,6 +258,14 @@ internal constructor(
258258

259259
private fun stopTimeout(name: String) = timeoutActionManager.stop(name)
260260

261+
private fun recordLatency(event: Event) {
262+
if (event.source == name) return
263+
if (event.target != name) return
264+
if (event.emittedTime == 0L) return
265+
266+
eventTimer.update((System.nanoTime() - event.emittedTime) / 1_000, TimeUnit.MICROSECONDS)
267+
}
268+
261269
override fun toString() = "StateMachine(name='$name')"
262270

263271
inner class StateMachineEventHandler(val eventHandler: EventHandler) {

0 commit comments

Comments
 (0)