Top stack frames from jdk.ExecutionSample, live-demo.jfr, during six concurrent
GET /api/cpu/fibonacci?n=38 calls, aggregated by the top (leaf) frame only.

$ jfr print --events jdk.ExecutionSample --stack-depth 1 recordings/live-demo.jfr \
    | grep -A1 stackTrace | grep -v 'stackTrace\|^--' | sed 's/^\s*//' | sort | uniq -c | sort -rn

     62 com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
     13 com.ankurm.jfr.service.WorkloadService.churnAllocations(int) line: 56
      9 com.ankurm.jfr.service.WorkloadService.churnAllocations(int) line: 52
      2 jdk.internal.util.DecimalDigits.uncheckedGetCharsLatin1(int, int, byte[]) line: 168
      1 org.apache.tomcat.util.net.NioEndpoint$Poller.run() line: 941
      1 org.apache.tomcat.util.http.MimeHeaders.addValue(byte[], int, int) line: 327
      1 org.apache.catalina.mapper.Mapper.compareIgnoreCase(CharChunk, int, int, String) line: 1401
      1 org.apache.catalina.core.ApplicationFilterFactory.createFilterChain(ServletRequest, Wrapper, Servlet) line: 75
      1 jdk.internal.util.DecimalDigits.stringSize(int) line: 101
      1 jdk.internal.misc.Unsafe.allocateUninitializedArray(Class, int) line: 1396
      1 java.util.concurrent.locks.LockSupport.unpark(Thread) line: 181
      1 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signalAll() line: 1590
      1 java.util.Arrays.copyOf(Object[], int) line: 3478
      1 java.nio.Buffer.position(int) line: 325
      1 java.lang.invoke.DirectMethodHandle.allocateInstance(Object) line: 500

total jdk.ExecutionSample events in recording: 98
fibonacci() share of samples: 62 / 98 = 63.3%

$ jfr print --events jdk.ExecutionSample recordings/live-demo.jfr | head -13
jdk.ExecutionSample {
  startTime = 09:59:03.699 (2026-10-01)
  sampledThread = "http-nio-8080-exec-1" (javaThreadId = 30)
  state = "STATE_RUNNABLE"
  stackTrace = [
    com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
    com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
    com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
    com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
    com.ankurm.jfr.service.WorkloadService.fibonacci(int) line: 40
    ...
  ]
}
