Appendix B. User-Defined BCI Settings

This chapter describes the user-defined BCI settings.

Basic Format

To add user-defined settings, the following must be configured in the sm.properties file.

bci.config.file=/data1/apmqam/agent_5x/sm1007/dc_was/sm_properties/extendbci.propertie

The following is the basic configuration format for extendbci.properties.

################################################################################
#####                                                                      #####
#####               SYSMASTER WAS EXTEND BCI CONFIGURATIONS                #####
#####                                                                      #####
################################################################################

###############################################################################
# BCI configuration file
#
# Format information:
#   BCI include packages: "*P*"="partial class name":...
#   BCI include classes: "*C*"="class name":...
#   BCI include class: "BCI class(or interface or undefined) name"="configuration value"
#   BCI exclude packages: "*P*"="partial class name":...
#   BCI exclude classes: "*C*"="class name":...
#
#   "configuration value": "class info":"method info":...
#
#   "class info": "class group","java type",
#                 "attribute"@"value"@...,"attribute"@"value"@...
#
#   "method info": "name","descriptor","level",
#                  "attribute"@"value"@...,"attribute"@"value"@...
#
#   "level": 
#       0(all)
#       1(enabled only when self-matched)
#       2(enabled only when super or interface-matched)
#
#   "attribute": "tag string"@"value",... 
#   class attribute tag string and value:
#       X(method to be excluded):X@"name"@"desc"
#       F(forced instrumentation): F@"type char(S: super, I: interface, W: wildcarded)"
#               Z(method to be excluded by Access): Z@access type@...
#                 (public : 1, private : 2, protected : 4)
#   method attributes and value:
#               T(trace including time check)
#       I(time check)
#               C(collection trace) 
#       O(object trace): O@"class name(or null for all collection object creation)"
#       S(sub method trace): S@"owner"@"name"@"desc"
#       P(parameter): P@"parameter index"
#       R(return): R
#       U(user defined attribute): U@"value"
#               G(user defined start transaction if GEN type)
#
###############################################################################

################################################################################
# Class Info
# full class name = bci type + class type + options(exclude method, exclude method access)
# Method Info
# method name + method description + level + attribute



################################################################################
#Include package name prefix
#
*IP*=


################################################################################
#Include class name
#
*IC*=


################################################################################
#Exclude package name prefix
#
*P*=


################################################################################
#Exclude class name
#
*C*=

Example

################################################################################
# Class Info
# full class name = bci type + class type + options(exclude method, exclude method access)
# Method Info
# method name + method description + level + attribute

com/tmax/apm/TestClass=GEN,C,X@<init>@*,Z@2@4:\
testMethod,(Ljava/lang/String;I[I)V,0,T

com/tmax/system/gateway/socket/client/SocketClientHandler=GEN,C,X@<init>@*,X@hashCode@*, ,Z@2@4:\
handle,*,0,T:\
handleDocument,*,0,T:\
handleSendOnly,*,0,T:\
close,()V,0,T

################################################################################
#Include class name
#
*IC*=Fcd*:*CntlCr:*Org*:Fcd*CntlCr

################################################################################
# Exclude Method Set (Only effect Wild card User Classes)
*EM*=get*:set*:*aaa*:get*set

################################################################################
#Exclude package name prefix
#
*P*=com/tmax/apm/test

################################################################################
#Exclude class name
#
*C*=com/tmax/apm/test/TestApplication$A:com/tmax/apm/test/TestApplication$B