60 GET /api/orders/process calls against the live app while recording "live2" (settings=profile) was running. OrderProcessedEvent has @Threshold("20 ms"), and only ~1/3 of simulated orders take the slow path (35 ms, "inventory-lock-wait"); the rest are fast (0-5 ms) and should be filtered out before ever being written. $ jfr print --events com.ankurm.jfr.OrderProcessed recordings/live-demo.jfr | head -21 com.ankurm.jfr.OrderProcessed { startTime = 09:59:08.076 (2026-10-01) duration = 35.2 ms orderId = "ORD-61" warehouse = "BOM-1" amountCents = 0 itemCount = 4 slowReason = "inventory-lock-wait" eventThread = "http-nio-8080-exec-2" (javaThreadId = 31) stackTrace = [ com.ankurm.jfr.service.OrderService.processOrder(String, int) line: 39 com.ankurm.jfr.web.OrderController.process(int) line: 25 jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Object, Object[]) line: 104 java.lang.reflect.Method.invoke(Object, Object[]) line: 565 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(Object[]) line: 252 ] } com.ankurm.jfr.OrderProcessed { startTime = 09:59:08.156 (2026-10-01) duration = 35.1 ms orderId = "ORD-63" $ jfr print --events com.ankurm.jfr.OrderProcessed recordings/live-demo.jfr | grep -c '^com.ankurm' 23 23 of 60 orders were kept -- every one of them carries slowReason = "inventory-lock-wait" and a duration at or above the 20 ms threshold. None of the fast-path orders (duration well under 20 ms) appear at all: the threshold discarded them before OrderProcessedEvent.commit() ever ran, which is the whole point of checking event.shouldCommit() after event.end() instead of always calling commit() unconditionally.