-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
Prerequisites
I am trying to profile every method call in pinpoint, so my goal is to get the execution time of each method span within a set of traces.
To do so, I've changed the agent's pinpoint.config:
profiler.entrypoint=moobench.application.MonitoredClassSimple.monitoredMethod
profiler.pinpoint.base-package=moobench.application
profiler.include=moobench.application*
profiler.sampling.type=COUNTING
profiler.sampling.counting.sampling-rate=1
Using this configuration, I would expected the monitoredMethod to be profiled every time (since I set profiling to COUNTING and the rate to 1. Unfortunately, not all the traces arrive - I would guess roughly 50% arrive (but its also different on every start of my application).
I've added a debug output to
Line 57 in 7075663
| if (this.queue.offer(data)) { |
Line 77 in 7075663
| if (bucket.tryConsume(1)) { |
Therefore, they seem to be lost somewhere in the middle, but all my tries to locate the part of the code where the traces are omitted haven't led to success.
Is there anywhere else, where traces are selected / sampled, besides the agent-side sampling? And is there a way to reduce this, so I receive 100% of the traces?