Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I find and configure entry points?

Updated on 6/13/2018

 

Contents:

 

Why is this needed?

 

Use the find-entry-points node property to configure missing entry points for any business transactions (BTs) that are not detected out of the box. This node property enables additional logging about the call stack of the application’s executing code. Use this information to identify potential entry points when the default automatic detection is insufficient, such as when the application to be monitored consists of older Java programs, unsupported frameworks or backends, or other non-J2EE compliant environments.

 

How do I know which POJO to instrument?

Three rules to keep in mind:

  1. Select the POJO at the earliest point possible in the call stack.
  2. Select a POJO that finishes.
    1. You are instrumenting a POJO to measure the time the business transaction takes to execute, so you must select a POJO that finishes.
  3. Select a POJO that results in a meaningful name.
    1. The entry point method determines the name of the BT.

NOTE: Do not pick a method that never ends, such as a run () method that waits on a user request! See: POJO Entry Points.

 

Implementation:

  1. Navigate to node-level agent configuration and set the find-entry-points property to true.
  2. Apply the property either tier-level or node-level.
    • Note: Do not turn on this property tier-level within a production environment. The find-entry-points property is meant to be used under pre-prod and non-prod environments.
  3. Once the property is applied, apply sufficient load on the application and start collecting agent logs from the Controller UI, or view them from agent installation folder. Debug logging is not needed for this property.
  4. A complete call stack from the instrumentor to the top of the thread will dump to the  BusinessTransactions<X>.log file.
    • Example: BusinessTransactions.2017_11_27__12_54_08.0.log
  5. The BT log mixes the output of find-entry-points with the "normal" BT discovery logging.
  6. To distinguish between the two types of call stacks, identify the text after the INFO log level keyword.Screen Shot 2018-06-14 at 11.05.55 AM.png

     

  7. Entire stack trace with eligible entry point prioritized:

    Screen Shot 2018-06-14 at 11.09.52 AM.png

     

     

  8. Based on this output, the user can find eligible candidates and create custom POJO entry points.Screen Shot 2018-06-14 at 11.08.34 AM.png

     

  9. One can create a custom POJO entry point on class com.xyz.abc.domain.pqr.Health and method run.
    • In the above example, 0th is considered as most eligible entry priority. Based on the output, a custom entry point rule can be created on any type (ex: Servlet, EJB, Spring or POJO).
  10. More information: Custom Match Rules.

Note: Setting the property value to true causes verbose logging to be output until the value is switched to false, so it is unwise to leave this property value set to true.

 

 

Limitations

 

If the application has no known exit calls, such as no HTTP, web services, JDBC, etc, then no call stacks are logged when you run find entry points.

 

To work around this limitation, set a custom exit point to force the logging of the associated call stack, then run find entry points again. The log entry at the top of the call stack should be your custom exit point. This works best when you know a method in the business functionality or user request that you are trying to measure. See Configure Custom Exit Points.

 

 

Published on 2/13/2015

Updated for 4.4 on 6/13/2018

Version history
Revision #:
13 of 13
Last update:
‎07-31-2018 09:45 AM
Updated by:
 
Labels (1)