최초 업로드
This commit is contained in:
0
java/cfg/agent/cfg.reload
Normal file
0
java/cfg/agent/cfg.reload
Normal file
1
java/cfg/agent/db.alias
Normal file
1
java/cfg/agent/db.alias
Normal file
@@ -0,0 +1 @@
|
||||
# ip.port.databasename=alias
|
||||
412
java/cfg/agent/java.conf
Normal file
412
java/cfg/agent/java.conf
Normal file
@@ -0,0 +1,412 @@
|
||||
#################### Transport Options ####################
|
||||
# eg) 127.0.0.1:1314
|
||||
RECEIVER_ADDR=
|
||||
|
||||
# default 1000ms (Min 500, Max 60000)
|
||||
RECEIVER_RECONNECT_DELAY_TIME=
|
||||
|
||||
|
||||
#################### Runtime Immutable Options ####################
|
||||
# default 200
|
||||
TXN_BUFFER_COUNT=
|
||||
|
||||
# default 256
|
||||
MTD_STACK_SIZE=
|
||||
|
||||
# default false
|
||||
USE_RUNTIME_REDEFINE=
|
||||
|
||||
# default true
|
||||
USE_RUNTIME_REDEFINE_HTTP_REMOTE=
|
||||
|
||||
# default false
|
||||
REMOVE_JDBC_ADVICE=
|
||||
|
||||
# default false
|
||||
REMOVE_JDBC_BIND_ADVICE=
|
||||
|
||||
# default false
|
||||
DISABLE_SQL_SID=
|
||||
|
||||
# default false
|
||||
USE_ORACLE_RAC=
|
||||
|
||||
# default false
|
||||
USE_TIBERO_TAC=
|
||||
|
||||
# default false
|
||||
DISABLE_CLASS_SOURCE=
|
||||
|
||||
# default false
|
||||
DISABLE_CLASS_META_CACHING=
|
||||
|
||||
|
||||
#################### Runtime Changeable Options ####################
|
||||
# eg) thread name pattern (startsWith)
|
||||
EXCLUDE_THREAD=
|
||||
|
||||
# default false
|
||||
DISABLE_EXCLUDE_THREAD=
|
||||
|
||||
# eg) gif, js, css, xml, jpg, jpeg, png, ico, woff, woff2
|
||||
EXCLUDE_SERVICE=gif, js, css, xml, jpg, jpeg, png, ico, woff, woff2
|
||||
|
||||
# eg) gif, js, css
|
||||
EXCLUDE_SERVICE_AT_END_TIME=
|
||||
|
||||
# eg) prefix1, prefix2
|
||||
EXCLUDE_TXCODE=
|
||||
|
||||
# eg) type.Exception
|
||||
EXCLUDE_EXCEPTION=weblogic.servlet.jsp.AddToMapException
|
||||
|
||||
# eg) type.Exception
|
||||
INCLUDE_EXCEPTION=
|
||||
|
||||
# eg) type.Exception
|
||||
INCLUDE_EXCEPTION_FOR_ALARM=
|
||||
|
||||
# default 0
|
||||
TXN_ELAPSE_TIME=
|
||||
|
||||
# ${TXNNAME}:${TXNTIME(ms)},${TXNNAME}:${TXNTIME(ms)}
|
||||
CURR_TRACE_TXN=*:3000
|
||||
|
||||
# txn name 0:default, 1:parameter, 2:param_nouri, 3:attribute
|
||||
TRX_NAME_TYPE=
|
||||
|
||||
# txn key
|
||||
TRX_NAME_KEY=
|
||||
|
||||
# default false
|
||||
TRX_NAME_USE_ENCODING=
|
||||
|
||||
# default ISO-8859-1
|
||||
TRX_NAME_ENCODING_FROM=
|
||||
|
||||
# default UTF-8
|
||||
TRX_NAME_ENCODING_TO=
|
||||
|
||||
# default UTF-8
|
||||
REQ_SET_ENCODING_TO=
|
||||
|
||||
# default false
|
||||
USE_TRX_NAME_WHEN_LEAVE=
|
||||
|
||||
# default false
|
||||
ENABLE_TRACE_JSP_CLASS=
|
||||
|
||||
# eg) replace number patterns [0-9]+
|
||||
REPLACE_URL_PATTERNS=
|
||||
|
||||
# default 0
|
||||
TXN_NAME_SET_INDEX=
|
||||
|
||||
# default 0
|
||||
TXN_NAME_SET_INDEX2=
|
||||
|
||||
# default 0
|
||||
TXN_NAME_APPEND_INDEX=
|
||||
|
||||
# txn login name 0:default, 1:attribute, 2:cookie
|
||||
TRX_LOGIN_TYPE=
|
||||
|
||||
# txn login key
|
||||
TRX_LOGIN_KEY=
|
||||
|
||||
# default false
|
||||
ENABLE_ENCRYPT_LOGIN_NAME=
|
||||
|
||||
# default empty string
|
||||
TRX_IP_KEY=
|
||||
|
||||
# txn error 0: default, 1: response(500), 2: response(400)
|
||||
TRX_ERR_TYPE=
|
||||
|
||||
# default empty string
|
||||
TRX_ERR_STATUS=
|
||||
|
||||
# 0: none(default), 1: error thread dump, 2: all thread dump
|
||||
TRX_ERR_STATUS_TYPE=
|
||||
|
||||
# default true
|
||||
DISABLE_WEBID=
|
||||
|
||||
# default false
|
||||
USE_SESSIONID_FOR_WEBID=
|
||||
|
||||
# default false
|
||||
ENABLE_WEB_ID_WHEN_NO_USERAGENT=
|
||||
|
||||
# default false
|
||||
ENABLE_UPDATE_WEBID_COOKIE_TIME=
|
||||
|
||||
# default false
|
||||
TRACE_THREAD_NAME=
|
||||
|
||||
# default false
|
||||
DISABLE_ROOT_METHOD=
|
||||
|
||||
# default true
|
||||
TRACE_DBPOOL_NAME=
|
||||
|
||||
# default false
|
||||
USE_METHOD_SEQ=
|
||||
|
||||
# default false
|
||||
METHOD_DEBUG=
|
||||
|
||||
# default 0
|
||||
MTD_ELAPSE_TIME=
|
||||
|
||||
# default 2500
|
||||
MTD_BUFFER_SIZE=
|
||||
|
||||
# default 100
|
||||
MTD_EXCEPTION_BUFFER_SIZE=
|
||||
|
||||
# default 100
|
||||
MTD_STACK_BUFFER_SIZE=
|
||||
|
||||
# default 256
|
||||
MTD_ERROR_LIMIT=
|
||||
|
||||
# default 100000
|
||||
MTD_LIMIT=
|
||||
|
||||
# default false
|
||||
MTD_PARAM_TRACE=
|
||||
|
||||
# default false
|
||||
RMI_GET_PARAM=
|
||||
|
||||
# default 0ms
|
||||
ACTIVE_ELAPSE_TIME=
|
||||
|
||||
# default 200
|
||||
ACTIVE_MAX_COUNT=
|
||||
|
||||
# default false
|
||||
USE_ETOE_ONLY=
|
||||
|
||||
# default true
|
||||
RT_RMI=
|
||||
|
||||
# default ext
|
||||
RT_RMI_VENDOR=
|
||||
|
||||
# default 0ms
|
||||
RT_RMI_ELAPSE_TIME=
|
||||
|
||||
# default 0x00 eg) FILE_OPEN,FILE_CLOSE
|
||||
RT_FILE=
|
||||
|
||||
# default 0x10 eg) SOCKET_OPEN,SOCKET_CLOSE
|
||||
RT_SOCKET=
|
||||
|
||||
# default false
|
||||
USE_MTD_EXT=
|
||||
|
||||
# default false
|
||||
USE_XRT_HANDLE=
|
||||
|
||||
# default false
|
||||
USE_INACTIVE_SOCKET_RT=
|
||||
|
||||
# default false
|
||||
USE_TRACE_COLLECTION_LEAK=
|
||||
|
||||
# default 1000
|
||||
TRACE_COLLECTION_SIZE=
|
||||
|
||||
# default 10000
|
||||
TRACE_COLLECTION_STACKTRACE_SIZE=
|
||||
|
||||
# default 600000ms(10minutes)
|
||||
TRACE_COLLECTION_REPORT_PERIOD=
|
||||
|
||||
# default true
|
||||
TRACE_JDBC=
|
||||
|
||||
# default false
|
||||
DISABLE_SQL=
|
||||
|
||||
# default false
|
||||
DISABLE_SQL_BIND=
|
||||
|
||||
# default false
|
||||
DISABLE_SQL_FETCH=
|
||||
|
||||
# default 20
|
||||
LIMIT_SQL=
|
||||
|
||||
# default false
|
||||
USE_SQL_SEQ=
|
||||
|
||||
# default 0(ms)
|
||||
SQL_DETAIL_ELAPSE_LIMIT=
|
||||
|
||||
# default 20000
|
||||
SQL_CACHE_MAX_COUNT=
|
||||
|
||||
# default false
|
||||
COMPRESS_SQL=
|
||||
|
||||
# default false
|
||||
CONVERT_SQL_ASCII_TO_KSC5601=
|
||||
|
||||
# default null
|
||||
CONVERT_SQL_ASCII_TO=
|
||||
|
||||
# default null
|
||||
CONVERT_SQL_TEXT_ENCODING_FROM=
|
||||
|
||||
# default null
|
||||
CONVERT_SQL_TEXT_ENCODING_TO=
|
||||
|
||||
# default 2048, max 8192
|
||||
BIND_SIZE=
|
||||
|
||||
# default 1024
|
||||
MONGO_BIND_SIZE=
|
||||
|
||||
# default 50ms
|
||||
BIND_ELAPSE_TIME=
|
||||
|
||||
# default false
|
||||
ENABLE_ENCRYPT_SQL_BIND=
|
||||
|
||||
# default false
|
||||
TRACE_FETCH_METHOD=
|
||||
|
||||
# default false
|
||||
TRACE_MONGO_FETCH=
|
||||
|
||||
# default 0
|
||||
THROW_TXN_FETCH_COUNT=
|
||||
|
||||
# default 0
|
||||
THROW_SQL_FETCH_COUNT=
|
||||
|
||||
# eg) gif, js, css
|
||||
THROW_EXCLUDE_SERVICE=
|
||||
|
||||
# default 2000
|
||||
CONNECTION_LIMIT=
|
||||
|
||||
# default false
|
||||
GET_SID_WHEN_STMT=
|
||||
|
||||
# default 600000ms(10minutes)
|
||||
GET_SID_WHEN_STMT_LIMIT=
|
||||
|
||||
# default false
|
||||
CHANGE_DB2_SID_QUERY=
|
||||
|
||||
# default false
|
||||
USE_TRACE_ORACLE=
|
||||
|
||||
# default false
|
||||
USE_TRACE_ORACLE_CLEAR_PING=
|
||||
|
||||
# default false
|
||||
USE_TRACE_TIBERO=
|
||||
|
||||
# default true
|
||||
USE_JMX=
|
||||
|
||||
# default false
|
||||
TRACE_METHOD_MEMORY=
|
||||
|
||||
# default false
|
||||
TRACE_METHOD_CPUTIME=
|
||||
|
||||
# default false
|
||||
TXN_MEMORY=
|
||||
|
||||
# default false
|
||||
TXN_CPU_TIME=
|
||||
|
||||
# default false
|
||||
TXN_CPU_CORE=
|
||||
|
||||
# error.jsp
|
||||
REDIRECT_URL=
|
||||
|
||||
# default empty string
|
||||
PLC_MESSAGE=
|
||||
|
||||
# default empty string
|
||||
RUM_MESSAGE=
|
||||
|
||||
# default 3600
|
||||
RUM_SCRIPT_INJECTION_CLIENT_RESET_SECOND=
|
||||
|
||||
# default -1
|
||||
RUM_SCRIPT_INJECTION_CLIENT_COUNT=
|
||||
|
||||
# default false
|
||||
USE_TRACE_CLIENT_TIME=
|
||||
|
||||
# default empty string
|
||||
TRACE_CLIENT_TIME_POSTFIX=
|
||||
|
||||
# eg) 192.168.0.10:8082
|
||||
TRACE_CLIENT_TIME_ADDR=
|
||||
|
||||
# default false
|
||||
RESP_HTML_SCRIPT=
|
||||
|
||||
# default 50ms
|
||||
RESP_HTML_ELAPSE_TIME=
|
||||
|
||||
# eg) .*\.jsp
|
||||
RESP_HTML_SCRIPT_TARGET=.*\.jsp
|
||||
|
||||
# default 1,2,3, 1: Environment, 2: InetAddress, 3: Command
|
||||
HOSTNAME_COLLECT_TYPE_PRIORITY=
|
||||
|
||||
# default 50
|
||||
ACTIVE_STACK_MAX_LINE=
|
||||
|
||||
# default 10
|
||||
ACTIVE_STACK_INTERVAL_ELAPSE=
|
||||
|
||||
# default 0sec
|
||||
APP_SLEEP=
|
||||
|
||||
# default true
|
||||
ENABLE_RELOAD_ADVICE=
|
||||
|
||||
# ${ALERT}:${RESTART}:${LEVEL},${ALERT}:${RESTART}:${LEVEL}
|
||||
LOG_ALERT=1:java.lang.OutOfMemoryError,2:container {0} booted
|
||||
|
||||
# default false
|
||||
RESP_HEADER_TID=
|
||||
|
||||
# default false
|
||||
TRACE_SIMPLE_METHOD=
|
||||
|
||||
# default 60KB
|
||||
MTD_MAX_SIZE=
|
||||
|
||||
# default false
|
||||
USE_METHOD_LIST=
|
||||
|
||||
# default false
|
||||
USE_JAR_LIST=
|
||||
|
||||
# default log eg) log or AbsolutePath
|
||||
LOG_PATH=
|
||||
|
||||
# default -1
|
||||
LOG_MAX_COUNT=
|
||||
|
||||
# default false
|
||||
EXEM_RUN_ON_CONTAINER=
|
||||
|
||||
# default empty string
|
||||
EXEM_GROUP_ID=
|
||||
|
||||
# default 0x000000000 eg) RMI,HTML,RESPONSE,CLASS,GC,UDP,TCP,TRACE,DEBUG
|
||||
DEBUG=0x000000000
|
||||
1
java/cfg/file.history
Normal file
1
java/cfg/file.history
Normal file
@@ -0,0 +1 @@
|
||||
#D:\dump1.txt
|
||||
14
java/cfg/local.advice
Normal file
14
java/cfg/local.advice
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
### 작성방법
|
||||
# 패키지 및 클래스 구분자는 slash(/)이며 클래스와 메소드는 dot(.)으로 구분한다.
|
||||
# 강제포함, 제외, 포함 순으로 높은 우선순위를 갖는다.
|
||||
# 강제포함은 exclamation mark(!), 제외는 dash(-)를 접두사로 붙여 표기한다.
|
||||
# 와일드카드 문자(*)를 포함해 startWith, endWith 연산을 수행할 수 있다.
|
||||
# 로드된 전체 클래스를 대상으로한 설정은 안정성 문제로 인해 동적 적용되지 않는다.
|
||||
|
||||
### 작성예시
|
||||
# com/inzent.*
|
||||
# -com/inzent/igate.*
|
||||
# !com/inzent/igate/util.*
|
||||
|
||||
!javax/servlet/http/HttpServlet.*
|
||||
0
java/cfg/param.runtime
Normal file
0
java/cfg/param.runtime
Normal file
23
java/cfg/plc.list
Normal file
23
java/cfg/plc.list
Normal file
@@ -0,0 +1,23 @@
|
||||
########################################### PLC 기능 ###########################################
|
||||
|
||||
### 작성방법
|
||||
# [숫자] : 제어 기준 수치(기준 트랜잭션수)
|
||||
# 접두사 ^(caret) : 차단할 트랜잭션명
|
||||
# 접두사 .*(dot asterisk) : 와일드 카드
|
||||
# 제어 기준은 여러 개를 입력할 수 있으며, 그 기준은 이 파일의 위에서 아래순으로 우선 적용된다.
|
||||
|
||||
### 작성예시
|
||||
# [200]
|
||||
# ^.*/select
|
||||
#
|
||||
# [100]
|
||||
# ^.*oracle/select
|
||||
# .*postgres/select
|
||||
#
|
||||
# [50]
|
||||
# ^.*postgres/select
|
||||
#
|
||||
# 액티브 트랜잭션 수가 200 이상이면 /select로 끝나는 모든 트랜잭션을 차단한다.
|
||||
# 액티브 트랜잭션 수가 100 이상이면 oracle/select로 끝나는 모든 트랜잭션을 차단한다.
|
||||
# 액티브 트랜잭션 수가 100 이상이면 postgres/select로 끝나는 트랜잭션은 허용한다.
|
||||
# 액티브 트랜잭션 수가 50 이상이면 postgres/select로 끝나는 모든 트랜잭션을 차단한다.
|
||||
96
java/cfg/x.advice
Normal file
96
java/cfg/x.advice
Normal file
@@ -0,0 +1,96 @@
|
||||
appService@com.exem.weave.servlet.XmAPPService
|
||||
httpCall@com.exem.weave.io.XmHttpCall
|
||||
httpCallHeader@com.exem.weave.io.XmHttpCallHeader
|
||||
httpRequest@com.exem.weave.io.XmHttpRequest
|
||||
xCall@com.exem.weave.io.XmXCall
|
||||
xInbound@com.exem.weave.io.XmXInbound
|
||||
xOutbound@com.exem.weave.io.XmXOutbound
|
||||
xReply@com.exem.weave.io.XmXReply
|
||||
service@com.exem.weave.servlet.XmService
|
||||
kepco@com.exem.weave.servlet.XmTxnKepco
|
||||
|
||||
########## APPLICATION ##########
|
||||
#appService=
|
||||
|
||||
#websphere 8.5 browser response time
|
||||
#service=com/ibm/ws/webcontainer/filter/WebAppFilterManager.invokeFilters(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lcom/ibm/wsspi/webcontainer/servlet/IServletContext;Lcom/ibm/wsspi/webcontainer/RequestProcessor;Ljava/util/EnumSet;)Z
|
||||
|
||||
## Spring Cloud Gateway ##
|
||||
#appService=org/springframework/cloud/gateway/filter/NettyRoutingFilter.filter(Lorg/springframework/web/server/ServerWebExchange;Lorg/springframework/cloud/gateway/filter/GatewayFilterChain;)Lreactor/core/publisher/Mono;
|
||||
|
||||
########## HTTP ##########
|
||||
httpCall=weblogic/net/http/HttpClient.parseHTTP(Lweblogic/net/http/MessageHeader;)V
|
||||
httpRequest=weblogic/net/http/HttpURLConnection.writeRequests()V
|
||||
httpCall=org/apache/commons/httpclient/HttpClient.executeMethod(Lorg/apache/commons/httpclient/HostConfiguration;Lorg/apache/commons/httpclient/HttpMethod;Lorg/apache/commons/httpclient/HttpState;)I
|
||||
httpCall=org/apache/http/impl/client/InternalHttpClient.doExecute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse;
|
||||
httpCall=org/apache/http/impl/client/MinimalHttpClient.doExecute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse;
|
||||
httpCall=org/apache/commons/httpclient/HttpMethodBase.execute(Lorg/apache/commons/httpclient/HttpState;Lorg/apache/commons/httpclient/HttpConnection;)I
|
||||
|
||||
## soap ##
|
||||
httpCall=org/apache/soap/util/net/HTTPUtils.post(Ljava/net/URL;Lorg/apache/soap/transport/TransportMessage;ILjava/lang/String;II)Lorg/apache/soap/transport/TransportMessage;
|
||||
## soap-2.3.jar higher ##
|
||||
#httpCall=org/apache/soap/util/net/HTTPUtils.post(Ljava/net/URL;Lorg/apache/soap/transport/TransportMessage;ILjava/lang/String;IILjava/lang/Boolean;)Lorg/apache/soap/transport/TransportMessage;
|
||||
## apache axis ##
|
||||
httpCall=org/apache/axis/client/Call.setRequestMessage(Lorg/apache/axis/Message;)V
|
||||
## reactor netty / jetty (webflux) ##
|
||||
httpCall=reactor/netty/http/client/HttpClientConnect.connect()Lreactor/core/publisher/Mono;
|
||||
httpCall=org/eclipse/jetty/client/HttpRequest.send(Lorg/eclipse/jetty/client/api/Response$CompleteListener;)V
|
||||
## Spring AsyncRestTemplate ##
|
||||
httpCall=org/springframework/web/client/AsyncRestTemplate$AsyncRequestCallbackAdapter.doWithRequest(Lorg/springframework/http/client/AsyncClientHttpRequest;)V
|
||||
## apache httpasyncclient ##
|
||||
httpCall=org/apache/http/impl/nio/client/CloseableHttpAsyncClient.execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/concurrent/FutureCallback;)Ljava/util/concurrent/Future;
|
||||
httpCall=org/apache/http/impl/nio/client/CloseableHttpAsyncClient.execute(Lorg/apache/http/nio/protocol/HttpAsyncRequestProducer;Lorg/apache/http/nio/protocol/HttpAsyncResponseConsumer;Lorg/apache/http/concurrent/FutureCallback;)Ljava/util/concurrent/Future;
|
||||
## okhttp ##
|
||||
httpCallHeader=okhttp3/Request$Builder.build()Lokhttp3/Request;
|
||||
httpCall=okhttp3/RealCall.execute()Lokhttp3/Response;
|
||||
httpCall=okhttp3/RealCall.enqueue(Lokhttp3/Callback;)V
|
||||
## spring cloud zuul (restclient) ##
|
||||
httpCallHeader=com/netflix/client/http/HttpRequest$Builder.build()Lcom/netflix/client/http/HttpRequest;
|
||||
httpCall=org/apache/http/impl/client/AbstractHttpClient.doExecute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse;
|
||||
|
||||
########## TMAX ##########
|
||||
xCall=tmax/webt/WebtRemoteService.tpcall(Ljava/lang/String;Ltmax/webt/WebtBuffer;Ltmax/webt/WebtAttribute;)Ltmax/webt/WebtBuffer;
|
||||
xCall=tmax/webt/WebtRemoteService.tpacall(Ljava/lang/String;Ltmax/webt/WebtBuffer;Ltmax/webt/WebtAttribute;Ltmax/webt/WebtMessageHandler;)I
|
||||
#xOutbound=tmax/webt/io/WebtOutputStream.getSerializedPacket(Ltmax/webt/WebtBuffer;)[B
|
||||
#xReply=tmax/webt/WebtRemoteService.tpgetrply(ILtmax/webt/WebtAttribute;)Ltmax/webt/WebtBuffer;
|
||||
|
||||
########## TUXEDO ##########
|
||||
xCall=weblogic/wtc/gwt/TuxedoConnection.tpcall(Ljava/lang/String;Lweblogic/wtc/jatmi/TypedBuffer;I)Lweblogic/wtc/jatmi/Reply;
|
||||
xCall=weblogic/wtc/gwt/TuxedoConnection.tpacall(Ljava/lang/String;Lweblogic/wtc/jatmi/TypedBuffer;ILweblogic/wtc/jatmi/TpacallAsyncReply;)Lweblogic/wtc/jatmi/CallDescriptor;
|
||||
#xOutbound=weblogic/wtc/jatmi/TuxedoArrayOutputStream.getByteArrayReference()[B
|
||||
#xReply=weblogic/wtc/gwt/TuxedoConnection.tpgetrply(Lweblogic/wtc/jatmi/CallDescriptor;I)Lweblogic/wtc/jatmi/Reply;
|
||||
|
||||
########## SAP ##########
|
||||
xCall=com/sap/conn/jco/rt/AbapFunction.execute(Lcom/sap/conn/jco/JCoDestination;)V
|
||||
xCall=com/sap/conn/jco/rt/AbapFunction.execute(Lcom/sap/conn/jco/JCoDestination;Ljava/lang/String;)V
|
||||
xCall=com/sap/conn/jco/rt/AbapFunction.execute(Lcom/sap/conn/jco/JCoDestination;Ljava/lang/String;Ljava/lang/String;)V
|
||||
#xOutbound=com/sap/conn/rfc/driver/CpicDriver.write([BIZ)I
|
||||
#xReply=com/sap/conn/rfc/engine/RfcIoOpenCntl.RfcReceive([Lcom/sap/conn/rfc/api/IRfcParameter;[Lcom/sap/conn/rfc/api/IRfcParameter;[Lcom/sap/conn/rfc/api/IRfcTable;Lcom/sap/conn/jco/JCoRepository;)V
|
||||
|
||||
########## RabbitMQ ##########
|
||||
rabbitMQPublish@com.exem.weave.io.XmRabbitMQPublish
|
||||
rabbitMQPublish=com/rabbitmq/client/impl/AMQChannel.transmit(Lcom/rabbitmq/client/impl/AMQCommand;)V
|
||||
|
||||
########## Kafka ##########
|
||||
kafkaProduce@com.exem.weave.io.XmKafkaProduce
|
||||
kafkaProduce=org/apache/kafka/clients/producer/KafkaProducer.doSend(Lorg/apache/kafka/clients/producer/ProducerRecord;Lorg/apache/kafka/clients/producer/Callback;)Ljava/util/concurrent/Future;
|
||||
kafkaAppend@com.exem.weave.io.XmKafkaRecordAppend
|
||||
kafkaAppend=org/apache/kafka/clients/producer/internals/RecordAccumulator.append(Ljava/lang/String;IJ[B[B[Lorg/apache/kafka/common/header/Header;Lorg/apache/kafka/clients/producer/internals/RecordAccumulator$AppendCallbacks;JZJLorg/apache/kafka/common/Cluster;)Lorg/apache/kafka/clients/producer/internals/RecordAccumulator$RecordAppendResult;
|
||||
#appService=org/springframework/kafka/listener/adapter/RecordMessagingMessageListenerAdapter.onMessage(Lorg/apache/kafka/clients/consumer/ConsumerRecord;Lorg/springframework/kafka/support/Acknowledgment;Lorg/apache/kafka/clients/consumer/Consumer;)V
|
||||
appService=org/apache/kafka/clients/consumer/internals/Fetcher.parseRecord(Lorg/apache/kafka/common/TopicPartition;Lorg/apache/kafka/common/record/RecordBatch;Lorg/apache/kafka/common/record/Record;)Lorg/apache/kafka/clients/consumer/ConsumerRecord;
|
||||
#appService=appService=org/apache/kafka/clients/consumer/internals/CompletedFetch.parseRecord(Lorg/apache/kafka/clients/consumer/internals/Deserializers;Lorg/apache/kafka/common/TopicPartition;Ljava/util/Optional;Lorg/apache/kafka/common/record/TimestampType;Lorg/apache/kafka/common/record/Record;)Lorg/apache/kafka/clients/consumer/ConsumerRecord;
|
||||
|
||||
########## Camel ##########
|
||||
#camelSedaCall@com.exem.weave.io.XmCamelSedaProduce
|
||||
#camelSedaCall=org/apache/camel/component/seda/SedaProducer.process(Lorg/apache/camel/Exchange;Lorg/apache/camel/AsyncCallback;)Z
|
||||
|
||||
camelProduce@com.exem.weave.io.XmCamelProduce
|
||||
camelProduce=org/apache/camel/component/seda/SedaProducer.prepareCopy(Lorg/apache/camel/Exchange;Z)Lorg/apache/camel/Exchange;
|
||||
|
||||
#appService=org/apache/camel/support/processor/DelegateSyncProcessor.process(Lorg/apache/camel/Exchange;Lorg/apache/camel/AsyncCallback;)Z
|
||||
appService=org/apache/camel/processor/SendProcessor.process(Lorg/apache/camel/Exchange;Lorg/apache/camel/AsyncCallback;)Z
|
||||
|
||||
########## Redis ##########
|
||||
redisCall@com.exem.weave.io.XmRedisCommand
|
||||
redisCall=io/lettuce/core/RedisChannelHandler.dispatch(Lio/lettuce/core/protocol/RedisCommand;)Lio/lettuce/core/protocol/RedisCommand;
|
||||
redisCall=redis/clients/jedis/Connection.sendCommand(Lredis/clients/jedis/CommandArguments;)V
|
||||
147
java/data/exem_api_em.js
Normal file
147
java/data/exem_api_em.js
Normal file
@@ -0,0 +1,147 @@
|
||||
|
||||
(function () {
|
||||
var _XM_TID = '%{XM_TID}';
|
||||
var _XM_TRACE_ELAPSE = '%{XM_TRACE_ELAPSE}';
|
||||
var _XM_CLIENT_API = '_XM_CLIENT_API%{XM_CLIENT_API}';
|
||||
var _XM_CLIENT_ADDR = '%{XM_CLIENT_ADDR}';
|
||||
var _XM_TID_HEADER = 'X-Xm-Tid';
|
||||
var _XM_TRACE_ELAPSE_HEADER = 'X-Xm-ElapseTime';
|
||||
|
||||
|
||||
var openProxied = window.XMLHttpRequest.prototype.open;
|
||||
window.XMLHttpRequest.prototype.open = function () {
|
||||
if (arguments[1].indexOf(_XM_CLIENT_API) == -1) {
|
||||
if (document.removeEventListener) {
|
||||
this.removeEventListener("loadstart", _xm_loadstart);
|
||||
this.removeEventListener("loadend", _xm_loadend);
|
||||
}
|
||||
else {
|
||||
this.detachEvent("loadstart", _xm_loadstart);
|
||||
this.detachEvent("loadend", _xm_loadend);
|
||||
}
|
||||
if (this.addEventListener) {
|
||||
this.addEventListener("loadstart", _xm_loadstart);
|
||||
this.addEventListener("loadend", _xm_loadend);
|
||||
}
|
||||
else if (this.attachEvent) {
|
||||
this.attachEvent("onloadstart", _xm_loadstart);
|
||||
this.attachEvent("onloadend", _xm_loadend);
|
||||
}
|
||||
}
|
||||
return openProxied.apply(this, [].slice.call(arguments));
|
||||
};
|
||||
|
||||
var _xm_loadstart = function () {
|
||||
var eventProxied = this.onreadystatechange;
|
||||
this.onreadystatechange = function () {
|
||||
if (this.readyState === XMLHttpRequest.DONE) {
|
||||
this._xm_clientinfo.es = Date.now();
|
||||
}
|
||||
|
||||
if (eventProxied != null && typeof eventProxied != 'undefined') {
|
||||
eventProxied.apply(this, [].slice.call(arguments));
|
||||
}
|
||||
|
||||
if (this.readyState === XMLHttpRequest.DONE) {
|
||||
this._xm_clientinfo.ee = Date.now();
|
||||
}
|
||||
};
|
||||
this._xm_clientinfo = __xm_create_clientinfo();
|
||||
this._xm_clientinfo.ss = Date.now();
|
||||
this._xm_clientinfo.se = Date.now();
|
||||
};
|
||||
|
||||
var _xm_loadend = function () {
|
||||
if (typeof this._xm_clientinfo == 'undefined') return;
|
||||
if (this._xm_clientinfo.es == 0) {
|
||||
this._xm_clientinfo.es = Date.now();
|
||||
this._xm_clientinfo.ee = Date.now();
|
||||
}
|
||||
this._xm_clientinfo.tid = this.getResponseHeader(_XM_TID_HEADER);
|
||||
var traceElapseTime = this.getResponseHeader(_XM_TRACE_ELAPSE_HEADER);
|
||||
|
||||
if (typeof traceElapseTime == 'undefined' || typeof this._xm_clientinfo.tid == 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (traceElapseTime > this._xm_clientinfo.ee - this._xm_clientinfo.ss) {
|
||||
return;
|
||||
}
|
||||
|
||||
var _xm_clientinfo = this._xm_clientinfo;
|
||||
__xm_send_post(_xm_clientinfo);
|
||||
};
|
||||
|
||||
function __xm_create_clientinfo() {
|
||||
var clientinfo = {};
|
||||
clientinfo.tid = 0;
|
||||
clientinfo.ss = 0;
|
||||
clientinfo.se = 0;
|
||||
clientinfo.es = 0;
|
||||
clientinfo.ee = 0;
|
||||
return clientinfo;
|
||||
}
|
||||
|
||||
function __xm_send_post(clientinfo) {
|
||||
try{
|
||||
var queryParameters = 'tid=' + clientinfo.tid + '&ss=' + clientinfo.ss + "&se=" + clientinfo.se;
|
||||
queryParameters += '&es=' + clientinfo.es + "&ee=" + clientinfo.ee;
|
||||
|
||||
var xmlhttp;
|
||||
if (window.XMLHttpRequest) {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
} else {
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
|
||||
if(_XM_CLIENT_ADDR == "") {
|
||||
xmlhttp.open('GET', './'+_XM_CLIENT_API+'?' + queryParameters, true);
|
||||
}else{
|
||||
xmlhttp.open('GET', 'http://' + _XM_CLIENT_ADDR + '/' + _XM_CLIENT_API + '?' + queryParameters, true);
|
||||
}
|
||||
|
||||
xmlhttp.send(null);
|
||||
|
||||
if (true) {
|
||||
var sendElapseTime = clientinfo.se - clientinfo.ss;
|
||||
var recvElapseTime = clientinfo.ee - clientinfo.es;
|
||||
var serverElapseTime = clientinfo.es - clientinfo.se;
|
||||
|
||||
console.log('__xm_send_post serverElapseTime=' + serverElapseTime + ', sendElapseTime=' + sendElapseTime + ', recvElapseTime=' + recvElapseTime);
|
||||
}
|
||||
}
|
||||
catch(e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
var _xm_window_load = function () {
|
||||
//return;
|
||||
setTimeout(function () {
|
||||
var timing = window.performance.timing;
|
||||
var clientinfo = __xm_create_clientinfo();
|
||||
clientinfo.ss = timing.navigationStart;
|
||||
clientinfo.se = timing.connectEnd;
|
||||
clientinfo.es = timing.responseEnd;
|
||||
clientinfo.ee = timing.loadEventEnd;
|
||||
clientinfo.tid = _XM_TID;
|
||||
|
||||
if (_XM_TRACE_ELAPSE > clientinfo.ee - clientinfo.ss) {
|
||||
return;
|
||||
}
|
||||
|
||||
__xm_send_post(clientinfo);
|
||||
}, 0);
|
||||
};
|
||||
|
||||
if (!window.performance || !window.performance.timing) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.addEventListener) {
|
||||
this.addEventListener("load", _xm_window_load);
|
||||
}
|
||||
else if (this.attachEvent) {
|
||||
this.attachEvent("onload", _xm_window_load);
|
||||
}
|
||||
})();
|
||||
30
java/data/xm_plc_message.html
Normal file
30
java/data/xm_plc_message.html
Normal file
@@ -0,0 +1,30 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Message (InterMax)</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding: 100px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 32pt;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#messagediv {
|
||||
font-size:14pt;
|
||||
color:red;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
border: 1px solid black;
|
||||
margin-top: 100px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- <h1>${title}</h1> -->
|
||||
<div id="messagediv">%{XM_PLC_MESSAGE}</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
28
java/data/xm_rum_message.html
Normal file
28
java/data/xm_rum_message.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Message (InterMax)</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding: 100px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 32pt;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#messagediv {
|
||||
font-size:14pt;
|
||||
color:red;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
border: 1px solid black;
|
||||
margin-top: 100px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>InterMax Rum Message</h1>
|
||||
<div id="messagediv">%{XM_RUM_MESSAGE}</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
java/lib/exem-java-agent.jar
Normal file
BIN
java/lib/exem-java-agent.jar
Normal file
Binary file not shown.
BIN
java/lib/exem-java-common.jar
Normal file
BIN
java/lib/exem-java-common.jar
Normal file
Binary file not shown.
BIN
java/lib/exem-java-ext.jar
Normal file
BIN
java/lib/exem-java-ext.jar
Normal file
Binary file not shown.
BIN
java/lib/exem-java-pool.jar
Normal file
BIN
java/lib/exem-java-pool.jar
Normal file
Binary file not shown.
29
java/license/asm-LICENSE.txt
Normal file
29
java/license/asm-LICENSE.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
ASM is released under the following 3-Clause BSD License:
|
||||
|
||||
ASM: a very small and fast Java bytecode manipulation framework
|
||||
Copyright (c) 2000-2011 INRIA, France Telecom
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holders nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
7
java/pkg_version.bat
Normal file
7
java/pkg_version.bat
Normal file
@@ -0,0 +1,7 @@
|
||||
@echo off
|
||||
|
||||
set PRODUCT_NAME=exemONE
|
||||
set MODULE_NAME=exem-java-agent
|
||||
set VERSION=1.0.17
|
||||
|
||||
echo %PRODUCT_NAME% %MODULE_NAME% ver %VERSION%
|
||||
7
java/pkg_version.sh
Normal file
7
java/pkg_version.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
PRODUCT_NAME="exemONE"
|
||||
MODULE_NAME="exem-java-agent"
|
||||
VERSION="1.0.17"
|
||||
|
||||
echo ${PRODUCT_NAME} ${MODULE_NAME} ver ${VERSION}
|
||||
Reference in New Issue
Block a user