DX Application Performance Management

 View Only
  • 1.  Tracer vs. TracerDifferentMethods vs. TracerDifferentInstances

    Posted Nov 07, 2014 02:59 PM

    I am looking for some colour around the differences between the DifferentInstances, DifferenceMethods and normal versions of a tracer. Taking the verbiage from the tracer type definitions we have:

     

    • BlamePointTracer -- This tracer will factor in every method invocation
    • BlamePointTracerDifferentInstances -- This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes
    • BlamePointTracerDifferentMethods -- This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass

     

    The specific use case I have is tracing the execute method of classes that implement the org.quartz.Job interface. I know in similar cases I sometimes seen method calls being double counted with BlamePointTracer and it feels like DifferentInstance may be the fix. I have a pbd that looks like this, but I am really not sure that BlamePointTracerDifferentInstances is the right one. Can anyone expand a little on the differences?


    SetFlag: QuartzJobTracing
    TurnOn: QuartzJobTracing
    
    IdentifyInheritedAs: org.quartz.Job QuartzJobTracing
    TraceOneMethodIfFlagged: QuartzJobTracing execute BlamePointTracerDifferentInstances "Quartz Jobs|{classname}|execute"
    TraceOneMethodIfFlagged: QuartzJobTracing execute ExceptionErrorReporter "Quartz Jobs|{classname}|execute:Errors Per Interval"
    


  • 2.  Re: Tracer vs. TracerDifferentMethods vs. TracerDifferentInstances

    Posted Nov 10, 2014 03:38 AM

    If i dont underrstand bad

    Suppose you have class class1 method  one (String str) , method one (String str,int num) and  method two.

    Suppose that  you have different instances in class1 with all methods, so whenever you call one (String) and if one calls to one (String, int) or two, you wont be able of looking any call into this, so one or two wont have any information and you wont see it in the transaction tracert, but you will see the number in the investigator. yes no???

     

    so if you have different methods you wont see in  the tt the call to the second one  (String, int) but you will see the call to method two.