Java EE 5 SDK

com.sun.appserv.management.monitor
Interface CallFlowMonitor

All Superinterfaces:
AMX, AMXMBeanLogging, Monitoring, NotificationBroadcaster, NotificationEmitter

public interface CallFlowMonitor
extends Monitoring

Provides CallFlow Monitoring information as well as enables/disables CallFlow Monitoring.


Field Summary
static String APPLICATION_NAME_KEY
          Name of application invoked to service a request.
static String BEAN_MANAGED_PERSISTENCE
          Bean Managed Persistence Component Type
static String CALL_STACK_METHOD_END
          Value of type of a row returned by queryCallStackForRequest(java.lang.String) method.
static String CALL_STACK_METHOD_START
          Value of type of a row returned by queryCallStackForRequest(java.lang.String) method.
static String CALL_STACK_REQUEST_END
          Value of type of a row returned by queryCallStackForRequest(java.lang.String) method.
static String CALL_STACK_REQUEST_START
          Value of type of a row returned by queryCallStackForRequest(java.lang.String) method.
static String CALL_STACK_ROW_TYPE_KEY
          This is the key for the row type returned by the queryCallStackForRequest(java.lang.String) method.
static String CLIENT_HOST_KEY
          The client host from where the request came in.
static String COMPONENT_NAME_KEY
          Name of component invoked to service a request.
static String COMPONENT_TYPE_KEY
          The type of the component where the call is in.
static String CONNECTOR_CONTAINER_TYPE
          Used in queryPieInformation(java.lang.String).
static String CONTAINER_MANAGED_PERSISTENCE
          Container Managed Persistence Component Type
static String CONTAINER_TYPE_KEY
          The type of the container where the call originated
static String EJB_APPLICATION
          EJB Application Container
static String EJB_APPLICATION_TYPE
          Used in queryPieInformation(java.lang.String).
static String EJB_CONTAINER
          EJB Container
static String EJB_CONTAINER_TYPE
          Used in queryPieInformation(java.lang.String).
static String EXCEPTION_KEY
          Exception (if any) for the request.
static String J2EE_TYPE
          The j2eeType as returned by AMX.getJ2EEType().
static String MESSAGE_DRIVEN_BEAN
          Message Driven Bean Component Type
static String METHOD_NAME_KEY
          Name of the method invoked to service a request.
static String MODULE_NAME_KEY
          Name of the module invoked to service a request.
static String ORB
          ORB Container
static String ORB_LAYER_EJB_CONTAINER_TYPE
          Used in queryPieInformation(java.lang.String).
static String OTHER
          OTHER Container, containers that are not monitored for callflow
static String REMOTE_ASYNC_MESSAGE
          Remote Aysnchronous Message Request Type.
static String REMOTE_EJB
          Remote EJB Request Type
static String REMOTE_WEB
          Remote Web Request Type
static String REMOTE_WEB_SERVICE
          Remote Web Service Request Type
static String REQUEST_ID_KEY
          Key accessing a container-generated Unique ID used by queryCallStackForRequest(java.lang.String) and queryPieInformation(java.lang.String)
static String REQUEST_TYPE_KEY
          The type of the Incoming request.
static String RESPONSE_TIME_KEY
          Response time for a particular request.
static String SERVLET
          Servlet Component Type
static String SERVLET_FILTER
          Servlet Filter Component Type
static String STATEFUL_SESSION_BEAN
          Stateful Session Bean Component Type
static String STATELESS_SESSION_BEAN
          Stateless Session Bean Component Type
static String STATUS_KEY
          Status of the request.
static String THREAD_ID_KEY
          Thread ID used for a particular request.
static String TIME_STAMP_KEY
          TimeStamp obtained from System.nanoTime()
static String TIME_STAMP_MILLIS_KEY
           
static String TIMER_EJB
          Timer EJB Request Type
static String TRANSACTION_ID_KEY
          Transaction ID for a particular request
static String USER_KEY
          Username of the Caller making a request.
static String WEB_APPLICATION
          WEB Application Container
static String WEB_APPLICATION_TYPE
          Used in queryPieInformation(java.lang.String).
static String WEB_CONTAINER
          Web Container
static String WEB_CONTAINER_TYPE
          Used in queryPieInformation(java.lang.String).
 
Fields inherited from interface com.sun.appserv.management.base.AMX
FULL_TYPE_DELIM, GROUP_CONFIGURATION, GROUP_JSR77, GROUP_MONITORING, GROUP_OTHER, GROUP_UTILITY, J2EE_TYPE_KEY, JMX_DOMAIN, NAME_KEY, NO_NAME, NOTIFICATION_PREFIX, NULL_NAME
 
Method Summary
 void clearData()
          Deletes all the data that was collected during the last callflow run from the database
 boolean deleteRequestIDs(String[] requestId)
          Delete a list of request ids.
 String getCallerIPFilter()
          Gets the at-source IP filter set up on this particular Server Instance.
 String getCallerPrincipalFilter()
          Gets the at-source Principal filter for this particular Server Instance.
 boolean getEnabled()
           
 List<Map<String,String>> queryCallStackForRequest(String requestID)
          Returns CallStackInformation for a particular RequestID.
 String[] queryComponentTypeKeys()
          Returns a list of component types BEAN_MANAGED_PERSISTENCE CONTAINER_MANAGED_PERSISTENCE MESSAGE_DRIVEN_BEAN SERVLET SERVLET_FILTER STATEFUL_SESSION_BEAN STATELESS_SESSION_BEAN
 String[] queryContainerTypeOrApplicationTypeKeys()
          Returns a list of Container types WEB_CONTAINER EJB_CONTAINER ORB WEB_APPLICATION EJB_APPLICATION OTHER
 Map<String,String> queryPieInformation(String requestID)
          Returns the "PIE" information for a requestID.
 List<Map<String,String>> queryRequestInformation()
          Gets information for requests.
 String[] queryRequestTypeKeys()
          Returns a list of all request types REMOTE_ASYNC_MESSAGE REMOTE_EJB REMOTE_WEB REMOTE_WEB_SERVICE TIMER_EJB
 void setCallerIPFilter(String filter)
          Sets the at-source IP filter for this particular Server Instance.
 void setCallerPrincipalFilter(String filter)
          Sets the at-source Principal filter for this particular Server Instance.
 void setEnabled(boolean enabled)
          Turns CallFlow On or Off
 
Methods inherited from interface com.sun.appserv.management.monitor.Monitoring
getServerRootMonitor
 
Methods inherited from interface com.sun.appserv.management.base.AMX
getContainer, getDomainRoot, getFullType, getGroup, getJ2EEType, getName, isDAS
 
Methods inherited from interface javax.management.NotificationEmitter
removeNotificationListener
 
Methods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener
 
Methods inherited from interface com.sun.appserv.management.base.AMXMBeanLogging
getMBeanLoggerName, getMBeanLogLevel, setMBeanLogLevel
 

Field Detail

J2EE_TYPE

static final String J2EE_TYPE
The j2eeType as returned by AMX.getJ2EEType().

See Also:
Constant Field Values

REQUEST_ID_KEY

static final String REQUEST_ID_KEY
Key accessing a container-generated Unique ID used by queryCallStackForRequest(java.lang.String) and queryPieInformation(java.lang.String)

See Also:
Constant Field Values

TIME_STAMP_KEY

static final String TIME_STAMP_KEY
TimeStamp obtained from System.nanoTime()

See Also:
Constant Field Values

TIME_STAMP_MILLIS_KEY

static final String TIME_STAMP_MILLIS_KEY
See Also:
Constant Field Values

REQUEST_TYPE_KEY

static final String REQUEST_TYPE_KEY
The type of the Incoming request. An incoming request is the container that the request came into the Appserver. Container types are the following types

See Also:
Constant Field Values

REMOTE_ASYNC_MESSAGE

static final String REMOTE_ASYNC_MESSAGE
Remote Aysnchronous Message Request Type. Typically incoming MESSAGE_DRIVEN_BEAN Calls

See Also:
Constant Field Values

REMOTE_EJB

static final String REMOTE_EJB
Remote EJB Request Type

See Also:
Constant Field Values

REMOTE_WEB

static final String REMOTE_WEB
Remote Web Request Type

See Also:
Constant Field Values

REMOTE_WEB_SERVICE

static final String REMOTE_WEB_SERVICE
Remote Web Service Request Type

See Also:
Constant Field Values

TIMER_EJB

static final String TIMER_EJB
Timer EJB Request Type

See Also:
Constant Field Values

COMPONENT_TYPE_KEY

static final String COMPONENT_TYPE_KEY
The type of the component where the call is in. Container types are the following types

See Also:
Constant Field Values

SERVLET

static final String SERVLET
Servlet Component Type

See Also:
Constant Field Values

SERVLET_FILTER

static final String SERVLET_FILTER
Servlet Filter Component Type

See Also:
Constant Field Values

STATELESS_SESSION_BEAN

static final String STATELESS_SESSION_BEAN
Stateless Session Bean Component Type

See Also:
Constant Field Values

STATEFUL_SESSION_BEAN

static final String STATEFUL_SESSION_BEAN
Stateful Session Bean Component Type

See Also:
Constant Field Values

BEAN_MANAGED_PERSISTENCE

static final String BEAN_MANAGED_PERSISTENCE
Bean Managed Persistence Component Type

See Also:
Constant Field Values

CONTAINER_MANAGED_PERSISTENCE

static final String CONTAINER_MANAGED_PERSISTENCE
Container Managed Persistence Component Type

See Also:
Constant Field Values

MESSAGE_DRIVEN_BEAN

static final String MESSAGE_DRIVEN_BEAN
Message Driven Bean Component Type

See Also:
Constant Field Values

CONTAINER_TYPE_KEY

static final String CONTAINER_TYPE_KEY
The type of the container where the call originated

See Also:
Constant Field Values

WEB_CONTAINER

static final String WEB_CONTAINER
Web Container

See Also:
Constant Field Values

EJB_CONTAINER

static final String EJB_CONTAINER
EJB Container

See Also:
Constant Field Values

ORB

static final String ORB
ORB Container

See Also:
Constant Field Values

WEB_APPLICATION

static final String WEB_APPLICATION
WEB Application Container

See Also:
Constant Field Values

EJB_APPLICATION

static final String EJB_APPLICATION
EJB Application Container

See Also:
Constant Field Values

OTHER

static final String OTHER
OTHER Container, containers that are not monitored for callflow

See Also:
Constant Field Values

USER_KEY

static final String USER_KEY
Username of the Caller making a request.

See Also:
Constant Field Values

STATUS_KEY

static final String STATUS_KEY
Status of the request.

See Also:
Constant Field Values

CLIENT_HOST_KEY

static final String CLIENT_HOST_KEY
The client host from where the request came in.

See Also:
Constant Field Values

METHOD_NAME_KEY

static final String METHOD_NAME_KEY
Name of the method invoked to service a request.

See Also:
Constant Field Values

COMPONENT_NAME_KEY

static final String COMPONENT_NAME_KEY
Name of component invoked to service a request.

See Also:
Constant Field Values

MODULE_NAME_KEY

static final String MODULE_NAME_KEY
Name of the module invoked to service a request.

See Also:
Constant Field Values

APPLICATION_NAME_KEY

static final String APPLICATION_NAME_KEY
Name of application invoked to service a request.

See Also:
Constant Field Values

RESPONSE_TIME_KEY

static final String RESPONSE_TIME_KEY
Response time for a particular request.

See Also:
Constant Field Values

THREAD_ID_KEY

static final String THREAD_ID_KEY
Thread ID used for a particular request.

See Also:
Constant Field Values

TRANSACTION_ID_KEY

static final String TRANSACTION_ID_KEY
Transaction ID for a particular request

See Also:
Constant Field Values

EXCEPTION_KEY

static final String EXCEPTION_KEY
Exception (if any) for the request. String reprsentation of Throwable

See Also:
Constant Field Values

CALL_STACK_ROW_TYPE_KEY

static final String CALL_STACK_ROW_TYPE_KEY
This is the key for the row type returned by the queryCallStackForRequest(java.lang.String) method. There are four types of rows returned each signifying the RequestStart, MethodStart, MethodEnd and RequestEnd information. The values of the CallStackRowType are as follows

See Also:
Constant Field Values

CALL_STACK_REQUEST_START

static final String CALL_STACK_REQUEST_START
Value of type of a row returned by queryCallStackForRequest(java.lang.String) method. Keyed by CALL_STACK_ROW_TYPE_KEY This represents information pertaining to start of a incoming request in the container.

See Also:
Constant Field Values

CALL_STACK_REQUEST_END

static final String CALL_STACK_REQUEST_END
Value of type of a row returned by queryCallStackForRequest(java.lang.String) method. Keyed by CALL_STACK_ROW_TYPE_KEY This represents information pertaining to end of a incoming request in the container.

See Also:
Constant Field Values

CALL_STACK_METHOD_START

static final String CALL_STACK_METHOD_START
Value of type of a row returned by queryCallStackForRequest(java.lang.String) method. Keyed by CALL_STACK_ROW_TYPE_KEY This represents information pertaining to start of a method for a incoming request in the container.

See Also:
Constant Field Values

CALL_STACK_METHOD_END

static final String CALL_STACK_METHOD_END
Value of type of a row returned by queryCallStackForRequest(java.lang.String) method. Keyed by CALL_STACK_ROW_TYPE_KEY This represents information pertaining to method end of a incoming request in the container.

See Also:
Constant Field Values

EJB_CONTAINER_TYPE

static final String EJB_CONTAINER_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in the EJB Container

See Also:
Constant Field Values

WEB_CONTAINER_TYPE

static final String WEB_CONTAINER_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in the Web Container

See Also:
Constant Field Values

ORB_LAYER_EJB_CONTAINER_TYPE

static final String ORB_LAYER_EJB_CONTAINER_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in the ORB layer in EJB Container.

See Also:
Constant Field Values

EJB_APPLICATION_TYPE

static final String EJB_APPLICATION_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in a users EJB application code. This time is different from the time spent in the EJB or ORB Container code.

See Also:
Constant Field Values

WEB_APPLICATION_TYPE

static final String WEB_APPLICATION_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in a users Web Application code. This time is different from the time spent in the Web Container code.

See Also:
Constant Field Values

CONNECTOR_CONTAINER_TYPE

static final String CONNECTOR_CONTAINER_TYPE
Used in queryPieInformation(java.lang.String). Denotes the time spent by a particular request in the connector layer.

See Also:
Constant Field Values
Method Detail

getEnabled

boolean getEnabled()
Returns:
true if the callflow tracking is on, false otherwise

setEnabled

void setEnabled(boolean enabled)
Turns CallFlow On or Off

Parameters:
enabled - true to enable call flow tracking

clearData

void clearData()
Deletes all the data that was collected during the last callflow run from the database


deleteRequestIDs

boolean deleteRequestIDs(String[] requestId)
Delete a list of request ids.

Parameters:
requestId - an array of request ids. Request IDs are obtained using the REQUEST_ID_KEY from queryRequestInformation()

queryRequestInformation

List<Map<String,String>> queryRequestInformation()
Gets information for requests. Each row in the list is a Map of key=value pairs, each key and value is a @link java.lang.String respectively. The keys are of the type

Returns:
List>, a list of Maps each encapsulating all information represented by the keys

queryCallStackForRequest

List<Map<String,String>> queryCallStackForRequest(String requestID)
Returns CallStackInformation for a particular RequestID. This list is sorted on time to return a logical flow of calls through various containers for a particular requestID. Each row in the list is a Map of key=value pairs, each key and value is a @link java.lang.String respectively. The keys are of the type

Parameters:
requestID - obtained on calling #getRequestInformation
Returns:
List>, a list of Maps each encapsulating all information represented by the keys

queryPieInformation

Map<String,String> queryPieInformation(String requestID)
Returns the "PIE" information for a requestID. The "PIE" is a simple Map with key=value pairs indicating the time spent for each call in a particular container/ The keys are of the types
  • CONTAINER_TYPE_KEY . There are four types
  • The values for the keys are String representation of time spent in each container. Time is obtained using System.currentTimeMillis()

    Parameters:
    requestID - ID of the request whose PIE information is to be obtained.
    Returns:
    Map

    getCallerIPFilter

    String getCallerIPFilter()
    Gets the at-source IP filter set up on this particular Server Instance. An At-source filter, filters the Call Flow Data at Data Collection Time. of the type of filter and value is a String value.

    Returns:
    String the string representation of the IP filter set for this instance.

    setCallerIPFilter

    void setCallerIPFilter(String filter)
    Sets the at-source IP filter for this particular Server Instance.

    Parameters:
    filter - The ip address to filter on.

    getCallerPrincipalFilter

    String getCallerPrincipalFilter()
    Gets the at-source Principal filter for this particular Server Instance.

    Returns:
    String The Principal Name that is filtered for.

    setCallerPrincipalFilter

    void setCallerPrincipalFilter(String filter)
    Sets the at-source Principal filter for this particular Server Instance.

    Parameters:
    filter - The Principal Name to filter on.

    queryRequestTypeKeys

    String[] queryRequestTypeKeys()
    Returns a list of all request types


    queryComponentTypeKeys

    String[] queryComponentTypeKeys()
    Returns a list of component types
  • BEAN_MANAGED_PERSISTENCE
  • CONTAINER_MANAGED_PERSISTENCE
  • MESSAGE_DRIVEN_BEAN
  • SERVLET
  • SERVLET_FILTER
  • STATEFUL_SESSION_BEAN
  • STATELESS_SESSION_BEAN

  • queryContainerTypeOrApplicationTypeKeys

    String[] queryContainerTypeOrApplicationTypeKeys()
    Returns a list of Container types
  • WEB_CONTAINER
  • EJB_CONTAINER
  • ORB
  • WEB_APPLICATION
  • EJB_APPLICATION
  • OTHER

  • Java EE 5 SDK

    Submit a bug or feature

    Copyright 2006 Sun Microsystems, Inc. All rights reserved.