This page describes settings you can use to create custom exit point configurations for specific backends in Java environments.

In general, custom exit rules match calls to custom backends by class and method name. In some cases, you need to configure splitting as well. The following tables give you the class and method names to use for the various types. 

Enter the configuration settings in the corresponding fields in the custom exit point UI. The following screenshot illustrates a sample configuration for an EhCache custom match rule:
Add Custom Exit Point Identification

For more about creating custom exit points, see create a custom exit point.

Oracle Coherence, EhCache, and Memcached backends are detected automatically as high volume exit points. You can create custom exit points for the backends as described here for particular backend splitting and naming results.

Coherence Exit Points

Name of the Exit Point

Type

Method Name

Class Match Criteria

Class/Interface/Superclass/Annotation Name

Method Name

Splitting Configuration

Coherence.Put

Cache


that implements an interface which

com.tangosol.net.NamedCache

put

getCacheName()

Coherence.PutAll

Cache


that implements an interface which

com.tangosol.net.NamedCache

putAll

getCacheName()

Coherence.EntrySet

Cache


that implements an interface which

com.tangosol.net.NamedCache

entrySet

getCacheName()

Coherence.KeySet

Cache


that implements an interface which

com.tangosol.net.NamedCache

keySet

getCacheName()

Coherence.Get

Cache


that implements an interface which

com.tangosol.net.NamedCache

get

getCacheName()

Coherence.Remove

Cache


that implements an interface which

com.tangosol.net.NamedCache

remove

getCacheName()

EhCache Exit Points

Name of the Exit Point

Type

Class Match Criteria

Class/Interface/Superclass/Annotation Name

Method Name

Splitting Configuration

EhCache.Get

Cache

With a class name that

 net.sf.ehcache.Cache

get

 getName()

EhCache.Put

Cache

With a class name that

 net.sf.ehcache.Cache

put

 getName()

EhCache.PutIfAbsent

Cache

With a class name that

 net.sf.ehcache.Cache

putIfAbsent

 getName()

EhCache.PutQuiet

Cache

With a class name that

 net.sf.ehcache.Cache

putQuiet

 getName()

EhCache.Remove

Cache

With a class name that

 net.sf.ehcache.Cache

remove

 getName()

EhCache.RemoveAll

Cache

With a class name that

 net.sf.ehcache.Cache

removeAll

 getName()

EhCache.RemoveQuiet

Cache

With a class name that

 net.sf.ehcache.Cache

removeQuiet

 getName()

EhCache.Replace

Cache

With a class name that

 net.sf.ehcache.Cache

replace

 getName()

LDAP Exit Points

Name of the Exit Point 

Type

Class Match Criteria

Class/Interface/Superclass/Annotation Name  

Method Name

LDAPExitPoint.Bind

LDAP           

With a class name that      

javax.naming.directory.InitialDirContext

bind

LDAPExitPoint.Rebind

LDAP

With a class name that

javax.naming.directory.InitialDirContext

rebind

LDAPExitPoint.Search

LDAP

With a class name that

javax.naming.directory.InitialDirContext

search

LDAPExitPoint.ModifyAttributes

LDAP

With a class name that

javax.naming.directory.InitialDirContext

modifyAttributes

LDAPExitPoint.GetNextBatch

LDAP

With a class name that

com.sun.jndi.ldap.LdapNamingEnumeration

getNextBatch

LDAPExitPoint.NextAux

LDAP

With a class name that

com.sun.jndi.ldap.LdapNamingEnumeration

nextAux

LDAPExitPoint.CreatePooledConnection

LDAP

With a class name that

com.sun.jndi.ldap.LdapClientFactory

createPooledConnection

LDAPExitPoint.Search

LDAP

With a class name that

com.sun.jndi.ldap.LdapClientFactory

search

LDAPExitPoint.Modify

LDAP

With a class name that

com.sun.jndi.ldap.LdapClientFactory

modify

Mail Exit Points

Name of the Exit Point 

Type

Class Match Criteria

Class/Interface/Superclass/Annotation Name 

Method Name

MailExitPoint.Send

Mail Server

With a class name that

javax.mail.Transport

send

MailExitPoint.SendMessage

Mail Server

With a class name that

javax.mail.Transport

sendMessage

Memcached Exit Points

Name of the Exit Point  

 Type

Class Match Criteria

Class/Interface/Superclass/Annotation Name  

Method Name

Memcached.Add

 Cache

With a class name that

net.spy.memcached.MemcachedClient

add

Memcached.Set

 Cache

With a class name that

net.spy.memcached.MemcachedClient

set

Memcached.Replace

 Cache

With a class name that

net.spy.memcached.MemcachedClient

replace

Memcached.CompareAndSwap

 Cache

With a class name that

net.spy.memcached.MemcachedClient

cas

Memcached.Get

 Cache

With a class name that

net.spy.memcached.MemcachedClient

get

Memcached.Remove

 Cache

With a class name that

net.spy.memcached.MemcachedClient


remove

MongoDB Exit Points

Name of Exit Point 

 Type

Class Match Criteria

Class/Interface/Superclass/ Annotation Name 

Method Name

Splitting Config/Custom Exit Point Identifier

Snapshot Data Operation on Invoked Object

Collect Data From

Getter Chain Operation on Invoked Object 

MongoDB.Insert

JDBC

With a class name that

com.mongodb.DBCollection

insert

Invoked Object

getDB().getName()

Parameter_0.toString()

MongoDB.Find

JDBC 

With a class name that

com.mongodb.DBCollection

find

Invoked Object

getDB().getName()

Parameter_0.toString()

MongoDB.Update

JDBC

With a class name that

com.mongodb.DBCollection

update

Invoked Object

getDB().getName()

Parameter_0.toString()

MongoDB.Remove

JDBC

With a class name that

com.mongodb.DBCollection

remove

Invoked Object

getDB().getName()

Parameter_0.toString()

MongoDB.Apply

JDBC

With a class name that

com.mongodb.DBCollection

apply

Invoked Object

getDB().getName()

Parameter_0.toString()

Avoiding high overhead

AppDynamics recommends that you avoid instrumenting highly-used methods, such as the find() method, because the activity around these methods can cause an undesired amount of overhead on the system.

Sample MongoDB Exit Point Configuration

Add Custom Exit Point Identification

SAP Exit Points

Name of the Exit Point

Type

Class Match Criteria

Class/Interface/Superclass/Annotation Name 

Method Name

SAP.Execute

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

execute

SAP.Connect

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

connect

SAP.Disconnect

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

disconnect

SAP.Reset

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

reset

SAP.CreateTID

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

createTID

SAP.ConfirmTID

SAP

With a class name that

com.sap.mw.jco.rfc.MiddlewareRFC$Client

confirmTID