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

| |

recording timeline — click a scope to jump

order-processing-ORD-001 | 195.19ms order-dispatch-ORD-001 | 151.54ms order-processing-ORD-002 | 175.39ms order-processing-ORD-003 | 232.32ms order-dispatch-ORD-003 | 125.03ms order-processing-ORD-004 | 247.34ms order-dispatch-ORD-004 | 69.72ms order-processing-ORD-005 | 267.32ms order-dispatch-ORD-005 | 148.14ms 15:08:05.036 15:08:06.650
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runFulfillment:106vt-32+5.42ms31.28mssuccess
2OrderProcessingDemo#runFulfillment:107vt-34+8.95ms185.97mssuccess ← critical path +194.92ms ↳ payment-pipeline-001
3OrderProcessingDemo#runFulfillment:108vt-37+9.28ms127.20mssuccess ↳ 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runPaymentPipeline:152vt-39+374.00µs86.26mssuccess
2OrderProcessingDemo#runPaymentPipeline:153vt-43+831.13µs112.20mssuccess ← 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runInventoryReservation:171vt-38+316.17µs61.56mssuccess
2OrderProcessingDemo#runInventoryReservation:172vt-42+690.17µs91.25mssuccess ← 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runDispatch:127vt-44+589.21µs150.70mssuccess ← critical path +151.29ms
2OrderProcessingDemo#runDispatch:128vt-45+993.17µs58.77mssuccess
3OrderProcessingDemo#runDispatch:129vt-46+1.49ms58.28mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runFulfillment:106vt-47+142.75µs38.24mssuccess
2OrderProcessingDemo#runFulfillment:107vt-48+243.96µs172.95msfailed: 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
3OrderProcessingDemo#runFulfillment:108vt-49+331.88µs175.02mscancelled ← #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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runPaymentPipeline:152vt-50+161.17µs171.56msfailed: 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)
2OrderProcessingDemo#runPaymentPipeline:153vt-52+291.33µs85.20mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runInventoryReservation:171vt-51+141.08µs58.33mssuccess
2OrderProcessingDemo#runInventoryReservation:172vt-53+230.75µs174.60mscancelled
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runFulfillment:106vt-56+101.25µs43.95mssuccess
2OrderProcessingDemo#runFulfillment:107vt-57+496.25µs231.48mssuccess ← critical path +231.97ms ↳ payment-pipeline-003
3OrderProcessingDemo#runFulfillment:108vt-58+594.50µs117.62mssuccess ↳ 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runPaymentPipeline:152vt-59+86.58µs193.65mssuccess ← critical path +193.74ms
2OrderProcessingDemo#runPaymentPipeline:153vt-61+188.08µs82.23mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runInventoryReservation:171vt-60+66.58µs90.95mssuccess ← critical path +91.01ms
2OrderProcessingDemo#runInventoryReservation:172vt-62+161.42µs43.20mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runDispatch:127vt-63+249.21µs124.37mssuccess ← critical path +124.62ms
2OrderProcessingDemo#runDispatch:128vt-64+417.88µs86.72mssuccess
3OrderProcessingDemo#runDispatch:129vt-65+529.50µs61.23mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runFulfillment:106vt-66+242.88µs32.44mssuccess
2OrderProcessingDemo#runFulfillment:107vt-67+449.38µs246.65mssuccess ← critical path +247.10ms ↳ payment-pipeline-004
3OrderProcessingDemo#runFulfillment:108vt-68+602.21µs150.50mssuccess ↳ 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runPaymentPipeline:152vt-70+218.79µs164.01mssuccess ← critical path +164.23ms
2OrderProcessingDemo#runPaymentPipeline:153vt-72+410.17µs66.23mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runInventoryReservation:171vt-69+183.96µs120.98mssuccess ← critical path +121.16ms
2OrderProcessingDemo#runInventoryReservation:172vt-71+349.04µs85.51mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runDispatch:127vt-73+179.67µs52.81mssuccess
2OrderProcessingDemo#runDispatch:128vt-74+313.63µs69.19mssuccess ← critical path +69.51ms
3OrderProcessingDemo#runDispatch:129vt-75+413.67µs55.78mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runFulfillment:106vt-76+181.17µs21.33mssuccess
2OrderProcessingDemo#runFulfillment:107vt-77+359.67µs266.46mssuccess ← critical path +266.82ms ↳ payment-pipeline-005
3OrderProcessingDemo#runFulfillment:108vt-78+492.71µs139.15mssuccess ↳ 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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runPaymentPipeline:152vt-79+146.25µs200.65mssuccess ← critical path +200.79ms
2OrderProcessingDemo#runPaymentPipeline:153vt-81+362.00µs149.39mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runInventoryReservation:171vt-80+123.75µs90.04mssuccess ← critical path +90.17ms
2OrderProcessingDemo#runInventoryReservation:172vt-82+318.21µs62.71mssuccess
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
#namethreadfork offsetdurationoutcome
1OrderProcessingDemo#runDispatch:127vt-83+471.63µs146.76mssuccess ← critical path +147.23ms
2OrderProcessingDemo#runDispatch:128vt-84+680.25µs87.76mssuccess
3OrderProcessingDemo#runDispatch:129vt-85+843.42µs30.50mssuccess
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