We have some Cron jobs (Quarz) doing background processing and those things are not detected as a purepath by default. So I created a Sensor Group "Quartz" and defined the execute method on org.quartz.job as an entry point.
That worked well, but since the nature of these quartz jobs is doing stuff in a loop, it results in only a few purepaths (at every run) but with a huge size exceeding the 10000 limit. I would rather start a purepath somewhere deeper, within the loop, so I would end up with a lot more, but smaller, purepaths.
However, none of the methods I defined (and I tried a few) are doing what I expect. When the org.quartz.job.execute sensor is not placed, it doesn't start any purepath.
As you can see, both on Method level as on Pack level I have "active and Start Purepaths" on.
And even in the deployed sensors view, I see that the method I want to start a purepath in, is instrumented correctly.
What am I missing here?
Answer by Andreas G. ·
Hi
I think the thing you are missing is the visibility level of your methods. I can see your rules for "all methods". I assume you created a new method rule for it which by default only instruments PUBLIC methods. Your methods however might be protected or private. Therefore - edit the rule and play with the visiblity settings to also include private methods.
If my assumption is correct than i think this will solve your problem
Andi
Answer by Sreerag M. ·
Hi,
If i remember correctly this is what we did when we instrumented a java batch based on spring framework.
We removed the servlet sensor and set the method for individual iteration of the loop to start the purepath. We also removed the thread tagging sensor because we knew that each iteration is executed by one thread and we wanted only one thread data in each purepath.
You could try this if this make sense in your case.
Also it would be easy to help if you cloud share one purepath with these methods instrumented.
-Sreerag
Answer by Bert H. ·
I can't remove any of these important sensors since the batch jobs are running on the same agents as the rest of the application.
I can't share a purepath since I don't have one. It isn't started. The only time a purepath is started is when I enable the EJB3InvokerJob.execute sensor. But then, it becomes too long.
I will try to investigate this a bit further on our test environment.
JANUARY 15, 3:00 PM GMT / 10:00 AM ET