Applications doesn't seem to reveal everything it's doing in a trace. When trace requests in this application the actual work being done (some logic and Oracle/DB/SQL interaction/requests) is not captured in the trace.
The agent is not designed to follow a spawned off thread. Once the thread spawns off, the agent sees it as the end of the request being monitored
Trace each thread as separate request type. To show that up, user would have to do one or two things:
1) Depending on what method and whether it is already instrumented, they'll see these requests when they set FilteringDefault to true in recording.config file. (no appserver restart required) This will show up a lot of requests that were not showing up otherwise. If they don't see the thread they were interested in, in the resulting list then..
2) they have to manually get the agent to instrument this. It can be achieved by adding a new stanza CustomComponent section in the instrumentation.config file which includes the methods and/or package that has this thread invoke.
After modifying instrumentation.config file, they need to restart the appserver to get that setting effective.
Once they see the desired request, then they can explicitly define it to true in the FilteringRules section (recording.config) and turn off the FIlterDefault back to false as before.