cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Any reason why javax.batch.api is not instrumentable?

jhem
Advisor

We're looking for ways to configure DynaTrace to catch and monitor Java Batchlet jobs from our applications. Anything that's not a web request seems to be ignored.

While trying to create a custom service detection rule, all of our batchlet implementations show up, but the basic javax.batch.api is not instrumentable.

Do I really need to manually create specific rules for every batch job?

1 REPLY 1

Joe_Hoffman
Dynatrace Champion
Dynatrace Champion

Dynatrace does not allow for custom rules to be written on base classes that could cause unexpected and excessive instrumentation. There's likely many classes that extend from javax.batch.api that you might not even be aware exist (buried in frameworks?).

Another approach is to have your batch classes extend from a single base class that you define which in turn extends from javax.batch.api. This would allow you to set rule on your base class and avoid the excessive instrumentation that might come from too broad of a rule which could come from setting a rule on javax.batch.api.

Another approach which might be helpful is to use the Dynatrace API to dynamically create the rules based on your code. Check out the API: https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/service-api/custom-services-a...