This is an example report generated by
scope-tracer
from the
OrderProcessingDemo
— a nested e-commerce order pipeline where one order is declined by a fraud check.
It shows nested scopes, cancellation propagation, and critical-path highlighting. No install needed — this file is
self-contained HTML generated straight from a JFR recording.
See the
README to generate your own.
scope-tracer report
scope lifetime
success
failed
cancelled
incomplete
critical path
9 scope(s) | 8 success · 1 failed | median: 175.39ms | p95: 267.32ms | wall: 1.614s
|
success
failed
cancelled
|
errors only
export JSON
recording timeline — click a scope to jump
001 (2 scopes · 2/2 success · median 173.36ms)
order-processing-ORD-001 #
thread: main | opened: 15:08:05.036 | duration: 195.19ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runFulfillment:106 vt-32 +5.42ms 31.28ms success
2 OrderProcessingDemo#runFulfillment:107 vt-34 +8.95ms 185.97ms success ← critical path +194.92ms ↳ payment-pipeline-001
3 OrderProcessingDemo#runFulfillment:108 vt-37 +9.28ms 127.20ms success ↳ inventory-reservation-001
order-processing-ORD-001 | 195.19ms
task 1 | OrderProcessingDemo#runFulfillment:106 | vt-32 | success
#1 runFulfillmen…
task 2 | OrderProcessingDemo#runFulfillment:107 | vt-34 | success · critical path +194.92ms
#2 OrderProcessingDemo#runFulfillment:107
task 3 | OrderProcessingDemo#runFulfillment:108 | vt-37 | success
#3 OrderProcessingDemo#runFulfillment:108
0
+50ms
+100ms
+150ms
payment-pipeline-001 ↳ task 2 of order-processing-ORD-001
thread: vt-34 | opened: 15:08:05.046 | duration: 185.31ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runPaymentPipeline:152 vt-39 +374.00µs 86.26ms success
2 OrderProcessingDemo#runPaymentPipeline:153 vt-43 +831.13µs 112.20ms success ← critical path +113.03ms
payment-pipeline-001 | 185.31ms
task 1 | OrderProcessingDemo#runPaymentPipeline:152 | vt-39 | success
#1 OrderProcessingDemo#runPaymentPipeline:152
task 2 | OrderProcessingDemo#runPaymentPipeline:153 | vt-43 | success · critical path +113.03ms
#2 OrderProcessingDemo#runPaymentPipeline:153
0
+50ms
+100ms
+150ms
inventory-reservation-001 ↳ task 3 of order-processing-ORD-001
thread: vt-37 | opened: 15:08:05.046 | duration: 126.81ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runInventoryReservation:171 vt-38 +316.17µs 61.56ms success
2 OrderProcessingDemo#runInventoryReservation:172 vt-42 +690.17µs 91.25ms success ← critical path +91.94ms
inventory-reservation-001 | 126.81ms
task 1 | OrderProcessingDemo#runInventoryReservation:171 | vt-38 | success
#1 OrderProcessingDemo#runInventoryReservation:171
task 2 | OrderProcessingDemo#runInventoryReservation:172 | vt-42 | success · critical path +91.94ms
#2 OrderProcessingDemo#runInventoryReservation:172
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
order-dispatch-ORD-001 #
thread: main | opened: 15:08:05.232 | duration: 151.54ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runDispatch:127 vt-44 +589.21µs 150.70ms success ← critical path +151.29ms
2 OrderProcessingDemo#runDispatch:128 vt-45 +993.17µs 58.77ms success
3 OrderProcessingDemo#runDispatch:129 vt-46 +1.49ms 58.28ms success
order-dispatch-ORD-001 | 151.54ms
task 1 | OrderProcessingDemo#runDispatch:127 | vt-44 | success · critical path +151.29ms
#1 OrderProcessingDemo#runDispatch:127
task 2 | OrderProcessingDemo#runDispatch:128 | vt-45 | success
#2 OrderProcessingDemo#runDispatch:128
task 3 | OrderProcessingDemo#runDispatch:129 | vt-46 | success
#3 OrderProcessingDemo#runDispatch:129
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
+140ms
order-processing-ORD-002 #
thread: main | opened: 15:08:05.383 | duration: 175.39ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runFulfillment:106 vt-47 +142.75µs 38.24ms success
2 OrderProcessingDemo#runFulfillment:107 vt-48 +243.96µs 172.95ms failed: java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002 stack trace java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.runPaymentPipeline(OrderProcessingDemo.java:160)
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.lambda$runFulfillment$1(OrderProcessingDemo.java:107)
at com.ionutbanu.scopetracer.core.TracedScope.lambda$1(TracedScope.java:267)
at java.base/java.util.concurrent.StructuredTaskScopeImpl$SubtaskImpl.run(StructuredTaskScopeImpl.java:350)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:475)
Caused by: java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.checkFraud(OrderProcessingDemo.java:202)
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.lambda$runPaymentPipeline$0(OrderProcessingDemo.java:152)
... 3 more
↳ payment-pipeline-002
3 OrderProcessingDemo#runFulfillment:108 vt-49 +331.88µs 175.02ms cancelled ← #2 ↳ inventory-reservation-002
order-processing-ORD-002 | 175.39ms
task 1 | OrderProcessingDemo#runFulfillment:106 | vt-47 | success
#1 runFulfillment:106
task 2 | OrderProcessingDemo#runFulfillment:107 | vt-48 | failed: java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002
#2 OrderProcessingDemo#runFulfillment:107
task 3 | OrderProcessingDemo#runFulfillment:108 | vt-49 | cancelled ← #2
#3 OrderProcessingDemo#runFulfillment:108
0
+50ms
+100ms
+150ms
payment-pipeline-002 ↳ task 2 of order-processing-ORD-002
thread: vt-48 | opened: 15:08:05.384 | duration: 172.72ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runPaymentPipeline:152 vt-50 +161.17µs 171.56ms failed: java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002 stack trace java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.checkFraud(OrderProcessingDemo.java:202)
at com.ionutbanu.scopetracer.demos.OrderProcessingDemo.lambda$runPaymentPipeline$0(OrderProcessingDemo.java:152)
at com.ionutbanu.scopetracer.core.TracedScope.lambda$1(TracedScope.java:267)
at java.base/java.util.concurrent.StructuredTaskScopeImpl$SubtaskImpl.run(StructuredTaskScopeImpl.java:350)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:475)
2 OrderProcessingDemo#runPaymentPipeline:153 vt-52 +291.33µs 85.20ms success
payment-pipeline-002 | 172.72ms
task 1 | OrderProcessingDemo#runPaymentPipeline:152 | vt-50 | failed: java.lang.RuntimeException: fraud-check: high-risk transaction declined for ORD-002
#1 OrderProcessingDemo#runPaymentPipeline:152
task 2 | OrderProcessingDemo#runPaymentPipeline:153 | vt-52 | success
#2 OrderProcessingDemo#runPaymentPipeline:153
0
+50ms
+100ms
+150ms
inventory-reservation-002 ↳ task 3 of order-processing-ORD-002
thread: vt-49 | opened: 15:08:05.384 | duration: 174.91ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runInventoryReservation:171 vt-51 +141.08µs 58.33ms success
2 OrderProcessingDemo#runInventoryReservation:172 vt-53 +230.75µs 174.60ms cancelled
inventory-reservation-002 | 174.91ms
task 1 | OrderProcessingDemo#runInventoryReservation:171 | vt-51 | success
#1 runInventoryReservation:171
task 2 | OrderProcessingDemo#runInventoryReservation:172 | vt-53 | cancelled
#2 OrderProcessingDemo#runInventoryReservation:172
0
+50ms
+100ms
+150ms
003 (2 scopes · 2/2 success · median 178.67ms)
order-processing-ORD-003 #
thread: main | opened: 15:08:05.559 | duration: 232.32ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runFulfillment:106 vt-56 +101.25µs 43.95ms success
2 OrderProcessingDemo#runFulfillment:107 vt-57 +496.25µs 231.48ms success ← critical path +231.97ms ↳ payment-pipeline-003
3 OrderProcessingDemo#runFulfillment:108 vt-58 +594.50µs 117.62ms success ↳ inventory-reservation-003
order-processing-ORD-003 | 232.32ms
task 1 | OrderProcessingDemo#runFulfillment:106 | vt-56 | success
#1 runFulfillment:1…
task 2 | OrderProcessingDemo#runFulfillment:107 | vt-57 | success · critical path +231.97ms
#2 OrderProcessingDemo#runFulfillment:107
task 3 | OrderProcessingDemo#runFulfillment:108 | vt-58 | success
#3 OrderProcessingDemo#runFulfillment:108
0
+50ms
+100ms
+150ms
+200ms
payment-pipeline-003 ↳ task 2 of order-processing-ORD-003
thread: vt-57 | opened: 15:08:05.560 | duration: 231.28ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runPaymentPipeline:152 vt-59 +86.58µs 193.65ms success ← critical path +193.74ms
2 OrderProcessingDemo#runPaymentPipeline:153 vt-61 +188.08µs 82.23ms success
payment-pipeline-003 | 231.28ms
task 1 | OrderProcessingDemo#runPaymentPipeline:152 | vt-59 | success · critical path +193.74ms
#1 OrderProcessingDemo#runPaymentPipeline:152
task 2 | OrderProcessingDemo#runPaymentPipeline:153 | vt-61 | success
#2 runPaymentPipeline:153
0
+50ms
+100ms
+150ms
+200ms
inventory-reservation-003 ↳ task 3 of order-processing-ORD-003
thread: vt-58 | opened: 15:08:05.560 | duration: 117.47ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runInventoryReservation:171 vt-60 +66.58µs 90.95ms success ← critical path +91.01ms
2 OrderProcessingDemo#runInventoryReservation:172 vt-62 +161.42µs 43.20ms success
inventory-reservation-003 | 117.47ms
task 1 | OrderProcessingDemo#runInventoryReservation:171 | vt-60 | success · critical path +91.01ms
#1 OrderProcessingDemo#runInventoryReservation:171
task 2 | OrderProcessingDemo#runInventoryReservation:172 | vt-62 | success
#2 runInventoryReservation:172
0
+20ms
+40ms
+60ms
+80ms
+100ms
order-dispatch-ORD-003 #
thread: main | opened: 15:08:05.792 | duration: 125.03ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runDispatch:127 vt-63 +249.21µs 124.37ms success ← critical path +124.62ms
2 OrderProcessingDemo#runDispatch:128 vt-64 +417.88µs 86.72ms success
3 OrderProcessingDemo#runDispatch:129 vt-65 +529.50µs 61.23ms success
order-dispatch-ORD-003 | 125.03ms
task 1 | OrderProcessingDemo#runDispatch:127 | vt-63 | success · critical path +124.62ms
#1 OrderProcessingDemo#runDispatch:127
task 2 | OrderProcessingDemo#runDispatch:128 | vt-64 | success
#2 OrderProcessingDemo#runDispatch:128
task 3 | OrderProcessingDemo#runDispatch:129 | vt-65 | success
#3 OrderProcessingDemo#runDispatch:129
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
004 (2 scopes · 2/2 success · median 158.53ms)
order-processing-ORD-004 #
thread: main | opened: 15:08:05.917 | duration: 247.34ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runFulfillment:106 vt-66 +242.88µs 32.44ms success
2 OrderProcessingDemo#runFulfillment:107 vt-67 +449.38µs 246.65ms success ← critical path +247.10ms ↳ payment-pipeline-004
3 OrderProcessingDemo#runFulfillment:108 vt-68 +602.21µs 150.50ms success ↳ inventory-reservation-004
order-processing-ORD-004 | 247.34ms
task 1 | OrderProcessingDemo#runFulfillment:106 | vt-66 | success
#1 runFulfil…
task 2 | OrderProcessingDemo#runFulfillment:107 | vt-67 | success · critical path +247.10ms
#2 OrderProcessingDemo#runFulfillment:107
task 3 | OrderProcessingDemo#runFulfillment:108 | vt-68 | success
#3 OrderProcessingDemo#runFulfillment:108
0
+50ms
+100ms
+150ms
+200ms
payment-pipeline-004 ↳ task 2 of order-processing-ORD-004
thread: vt-67 | opened: 15:08:05.918 | duration: 246.37ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runPaymentPipeline:152 vt-70 +218.79µs 164.01ms success ← critical path +164.23ms
2 OrderProcessingDemo#runPaymentPipeline:153 vt-72 +410.17µs 66.23ms success
payment-pipeline-004 | 246.37ms
task 1 | OrderProcessingDemo#runPaymentPipeline:152 | vt-70 | success · critical path +164.23ms
#1 OrderProcessingDemo#runPaymentPipeline:152
task 2 | OrderProcessingDemo#runPaymentPipeline:153 | vt-72 | success
#2 runPaymentPipeline:153
0
+50ms
+100ms
+150ms
+200ms
inventory-reservation-004 ↳ task 3 of order-processing-ORD-004
thread: vt-68 | opened: 15:08:05.918 | duration: 150.34ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runInventoryReservation:171 vt-69 +183.96µs 120.98ms success ← critical path +121.16ms
2 OrderProcessingDemo#runInventoryReservation:172 vt-71 +349.04µs 85.51ms success
inventory-reservation-004 | 150.34ms
task 1 | OrderProcessingDemo#runInventoryReservation:171 | vt-69 | success · critical path +121.16ms
#1 OrderProcessingDemo#runInventoryReservation:171
task 2 | OrderProcessingDemo#runInventoryReservation:172 | vt-71 | success
#2 OrderProcessingDemo#runInventoryReservation:172
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
+140ms
order-dispatch-ORD-004 #
thread: main | opened: 15:08:06.164 | duration: 69.72ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runDispatch:127 vt-73 +179.67µs 52.81ms success
2 OrderProcessingDemo#runDispatch:128 vt-74 +313.63µs 69.19ms success ← critical path +69.51ms
3 OrderProcessingDemo#runDispatch:129 vt-75 +413.67µs 55.78ms success
order-dispatch-ORD-004 | 69.72ms
task 1 | OrderProcessingDemo#runDispatch:127 | vt-73 | success
#1 OrderProcessingDemo#runDispatch:127
task 2 | OrderProcessingDemo#runDispatch:128 | vt-74 | success · critical path +69.51ms
#2 OrderProcessingDemo#runDispatch:128
task 3 | OrderProcessingDemo#runDispatch:129 | vt-75 | success
#3 OrderProcessingDemo#runDispatch:129
0
+10ms
+20ms
+30ms
+40ms
+50ms
+60ms
005 (2 scopes · 2/2 success · median 207.73ms)
order-processing-ORD-005 #
thread: main | opened: 15:08:06.234 | duration: 267.32ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runFulfillment:106 vt-76 +181.17µs 21.33ms success
2 OrderProcessingDemo#runFulfillment:107 vt-77 +359.67µs 266.46ms success ← critical path +266.82ms ↳ payment-pipeline-005
3 OrderProcessingDemo#runFulfillment:108 vt-78 +492.71µs 139.15ms success ↳ inventory-reservation-005
order-processing-ORD-005 | 267.32ms
task 1 | OrderProcessingDemo#runFulfillment:106 | vt-76 | success
#1
task 2 | OrderProcessingDemo#runFulfillment:107 | vt-77 | success · critical path +266.82ms
#2 OrderProcessingDemo#runFulfillment:107
task 3 | OrderProcessingDemo#runFulfillment:108 | vt-78 | success
#3 OrderProcessingDemo#runFulfillment:108
0
+50ms
+100ms
+150ms
+200ms
+250ms
payment-pipeline-005 ↳ task 2 of order-processing-ORD-005
thread: vt-77 | opened: 15:08:06.235 | duration: 266.16ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runPaymentPipeline:152 vt-79 +146.25µs 200.65ms success ← critical path +200.79ms
2 OrderProcessingDemo#runPaymentPipeline:153 vt-81 +362.00µs 149.39ms success
payment-pipeline-005 | 266.16ms
task 1 | OrderProcessingDemo#runPaymentPipeline:152 | vt-79 | success · critical path +200.79ms
#1 OrderProcessingDemo#runPaymentPipeline:152
task 2 | OrderProcessingDemo#runPaymentPipeline:153 | vt-81 | success
#2 OrderProcessingDemo#runPaymentPipeline:153
0
+50ms
+100ms
+150ms
+200ms
+250ms
inventory-reservation-005 ↳ task 3 of order-processing-ORD-005
thread: vt-78 | opened: 15:08:06.235 | duration: 138.89ms | tasks: 2
# name thread fork offset duration outcome
1 OrderProcessingDemo#runInventoryReservation:171 vt-80 +123.75µs 90.04ms success ← critical path +90.17ms
2 OrderProcessingDemo#runInventoryReservation:172 vt-82 +318.21µs 62.71ms success
inventory-reservation-005 | 138.89ms
task 1 | OrderProcessingDemo#runInventoryReservation:171 | vt-80 | success · critical path +90.17ms
#1 OrderProcessingDemo#runInventoryReservation:171
task 2 | OrderProcessingDemo#runInventoryReservation:172 | vt-82 | success
#2 OrderProcessingDemo#runInventoryReservation:172
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
order-dispatch-ORD-005 #
thread: main | opened: 15:08:06.502 | duration: 148.14ms | tasks: 3
# name thread fork offset duration outcome
1 OrderProcessingDemo#runDispatch:127 vt-83 +471.63µs 146.76ms success ← critical path +147.23ms
2 OrderProcessingDemo#runDispatch:128 vt-84 +680.25µs 87.76ms success
3 OrderProcessingDemo#runDispatch:129 vt-85 +843.42µs 30.50ms success
order-dispatch-ORD-005 | 148.14ms
task 1 | OrderProcessingDemo#runDispatch:127 | vt-83 | success · critical path +147.23ms
#1 OrderProcessingDemo#runDispatch:127
task 2 | OrderProcessingDemo#runDispatch:128 | vt-84 | success
#2 OrderProcessingDemo#runDispatch:128
task 3 | OrderProcessingDemo#runDispatch:129 | vt-85 | success
#3 runDispatch:129
0
+20ms
+40ms
+60ms
+80ms
+100ms
+120ms
+140ms