• Forums
    • Public Forums
      • Community Connect
      • Dynatrace
        • Dynatrace Open Q&A
      • Application Monitoring & UEM
        • AppMon & UEM Open Q&A
      • Network Application Monitoring
        • NAM Open Q&A
        • Enterprise Synthetic Monitoring
      • Synthetic Classic
        • Synthetic Classic Open Q&A
      • BSM Open Q&A
  • Home /
  • Public Forums /
  • Application Monitoring & UEM /
  • AppMon & UEM Open Q&A /
avatar image
Question by Juan G. · Feb 07, 2012 at 05:29 PM ·

Correlating threads

Hi everyone from Spain.
Could Someone tell me how follow one request through several threads? I mean, we've got an kind of web request that start a secondary thread. 
Exists any way to view both threads into the same purepath? Or any other way to correlate these threads?
Regards
Hi everyone from Spain.

Could Someone tell me how follow one request through several threads? I mean, we've got an kind of web request that start a secondary thread. 

Exists any way to view both threads into the same purepath? Or any other way to correlate these threads?

Regards

Comment

People who like this

0 Show 0
10 |2000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
  • Most voted
  • Newest
  • Oldest
avatar image

Answer by Andreas G. · Feb 07, 2012 at 05:54 PM

Hi Juan

Thread Tagging
dynaTrace supports Thread Tagging for both Java and .NET. That means that you will get one PurePath that starts in your "main" thread and will also see those methods invoked on separate threads

How to enable
In order for this to work you have to make sure to place the following Sensor Packs for Java: Executor Tagging and Thread Start Tagging
For .NET it would be the Sensor Pack: .NET Thread Tagging

How to troubleshoot
If these Sensor Packs are placed but you still dont see methods invoked on your other threads you either
a) do not have code instrumented on these threads -> make sure you actually have Sensors placed for methods that get executed. In case your threads execute rather fast Auto-Sensors wouldnt pick up any execution.
b) We may not support your ThreadPool -> do you know which ThreadPool Implementation your application uses?

Andi

Comment

People who like this

0 Show 0 · Share
10 |2000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image

Answer by Juan G. · Feb 07, 2012 at 06:54 PM

Hi

We're absolutely sure we're making to place Executor Tagging and Thread Start Tagging.

Instrumented code exists into secondary thread. We're starting purepaths from one method of this code. (That's our workaround).

The application is deployed in Websphere Applications Server 6.1. We think the  ThreadPool Implementation used is "com.ibm.ws.util.ThreadPool" 

Juan

(Excuse my poor english)

Comment

People who like this

0 Show 7 · Share
10 |2000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Juan G. · Feb 07, 2012 at 07:09 PM 0
Share

I see "com.ibm.ws.util.ThreadPool" defined  into "Executor Tagging" but only with the "execute" method included.

My decompiled code show:

class ThreadSecundario extends Thread{
[ ...]    
public void run() {

Maybe is needed instrumenting run() method? How could I do it?

avatar image Andreas G. &. Juan G. · Feb 07, 2012 at 09:05 PM 0
Share

thanks for the information. The execute method is fine as this is used by the "Exectuor Tagging" Sensor Pack which is responsible that we can tag a PurePath into a Thread that is taken out from the com.ibm.ws.util.ThreadPool.
The Sensor Pack "Thread Start Tagging" has a rule for the "run" method on every class that implements java.lang.Runnable

Based on what you tell me we should be able to track calls across your Thread Boundaries.

Lets do one more check.
a) Open your Agents Overview Dashlet
b) Click on your Agent and then switch to the Deployed Sensors Tab in the Pane on the bottom of the dashlet
c) Check if you can find the run method of your ThreadSecundario class as well as the execute method of your com.ibm.ws.util.ThreadPool

Andi

avatar image Juan G. Andreas G. ♦ · Feb 07, 2012 at 10:19 PM 0
Share

Thanks Andi.

The check results:

the execute method of your com.ibm.ws.util.ThreadPool appears deployed

the run method from atae.apli.gestordocumental.base.AtaeSvGestorDocumental$ThreadSecundario doesn't appear deployed, but from this method are starting purepaths.

avatar image Andreas G. &. Juan G. · Feb 07, 2012 at 10:24 PM 0
Share

Can you remove your custom sensor for run? It shouldnt be necessary as our Thread Tagging Sensor shoudl automatically pick it up and should show you the execution of this thread as part of your "initial" PurePath.

avatar image Juan G. Andreas G. ♦ · Feb 07, 2012 at 10:37 PM 0
Share

Sorry Andreas. I was wrong, both methods appear deployed (run and execute). I was looking in a wrong agent.

However, in order to remove our custom sensor, this sensor is new. I configured the sensor this morning, before that, any secondary thread wasn't showed. It's just a workaround.

avatar image Andreas G. &. Juan G. · Feb 07, 2012 at 10:59 PM 0
Share

Okay - thanks for the clarification.
It is good that you have a workaround but I also suggest to open a support ticket so that our engineering team can investigate further why our out-of-the-box support doesnt trace the PurePaths across the tiers.

When you open a ticket please also paste a link to this forum post.

Andi

avatar image Laurent I. Andreas G. ♦ · Feb 10, 2012 at 03:17 PM 0
Share

Hi,

I encounter the exact same issue. I use 4.1 with february patch.

This happens because the application does not start threads but reuses already started threads.

Thus it's not entering "start method"...

I created the issue : https://support.dynatrace.com/supportportal/browse/SUP-8203

Plus, the application is using EDU.oswego package : http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/PooledExecutor.html

Your answer

Hint: You can notify a user about this post by typing @username

Up to 10 attachments (including images) can be used with a maximum of 52.4 MB each and 262.1 MB total.

Welcome to the
Dynatrace Community Forums

Check out the Forum User Guide and Forum Guidelines to learn how to get started.

Community Member of the Month
February 2019

Announcing Dynatrace's Community Member of the Month for February 2019, Larry R.! Click here to read more!

Employee Member of the Month
February 2019

Announcing Dynatrace's Employee Member of the Month for February 2019, Dave M.! Click here to read more!

Live webinar: AIOps done right through enhanced Dynatrace AI root cause detection

Learn the enhanced capabilities of the next generation Dynatrace AI root cause analysis and how to feed it with your own data sources.
Wednesday, February 20, 2019
Register today!

Live webinar: AIOps done right through enhanced Dynatrace AI root cause detection

Learn the enhanced capabilities of the next generation Dynatrace AI root cause analysis and how to feed it with your own data sources.
Wednesday, February 20, 2019
Register today!

NAM 2019 Beta is available

Would you like to have an early taste of what we have cooked up for 2019? We would love to hear your feedback and improve some of the new features. Check NAM 2019 Beta release notes.
Sign up today!

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Forum Tags

nginx java dotnet docker 6.5 ios customization knowledge sharing browser agent mobileapp sensor chart 7.1 hybris 6.3+ production incidents Dynatrace Managed php javascript processes monitoring nodejs uem splunk license framework good to know installation web services plugin splitting rest webserver reports 7.0 kubernetes errors rum mainframe 6.1 account configuration forum user guide security web dashboard agent load window oneagent upgrade diagnostics search scheduler appmonsaas log analytics database performance warehouse services web performance monitoring user sessions test automation transactionflow measures business transaction migration plugins android dashlet server purelytics 6.2 rest api system profile appmon appmon 7 mobile monitoring collector adk messagebroker purepath apache guardian appmon iis 7.2 dashboard mq kibana client continuous delivery unique users postgresql sensors documentation alerting auto-detection 6.3 administration
  • Forums
  • Public Forums
    • Community Connect
    • Dynatrace
      • Dynatrace Open Q&A
    • Application Monitoring & UEM
      • AppMon & UEM Open Q&A
    • Network Application Monitoring
      • NAM Open Q&A
      • Enterprise Synthetic Monitoring
    • Synthetic Classic
      • Synthetic Classic Open Q&A
    • BSM Open Q&A