ARM 应用程序属性和事务上下文数据
请求指标提供内置检测来监视事务流。可以将请求指标收集的数据发送到受支持的应用程序响应测量 (ARM) 代理程序。
ARM 应用程序属性
下表显示当请求指标初始化 ARM 4.0 代理程序时的 ARM 应用程序属性。
身份属性名 | 值 |
---|---|
单元名 | 服务器所属单元的名称。 |
版本 | WebSphere® Application Server 的版本。 |
应用程序属性 | 值 |
---|---|
已注册的应用程序名称 | WebSphere:<server_type> <server_type> 可以是 APPLICATION_SERVER、ONDEMAND_ROUTER 或 PROXY_SERVER。 |
应用程序组 | <server_name> |
应用程序实例 | <node_name>.<server_name> |
String serverType; // the server type like APPLICATION_SERVER
String version; // WebSphere version
String sCellName; // the cell name of dMgr
String sAppInstance. // <short_node_name>.<short_server_name>
String sServerInstance; // short server name
String sWasName = "WebSphere:" + serverType;
String[] IDNAMES = new String[]{"Cell Name", "Version"};
ArmIdentityProperties appIdentity = txFactory.newArmIdentityProperties(IDNAMES, new String[]{sCellName, version}, null);
ArmApplicationDefinition appDef = txFactory.newArmApplicationDefinition( sWasName, appIdentity, null );
ArmApplication app = txFactory.newArmApplication(appDef, sServerInstance, sAppInstance, null );
ARM 事务类型
String[] contextNames; // the names for the context data like Port, QueryString, URI, EJBName
String tranIdentityName; // the transaction types shown in the following table like URI, EJB.
String appDef; // defined and created in above code snippet under ARM application properties
String app; // defined and created in above code snippet under ARM application properties
ArmIdentityPropertiesTransaction props = armFactory.newArmIdentityPropertiesTransaction( null, null, contextNames, null );
ArmTransactionDefinition atd = armFactory.newArmTransactionDefinition(appDef, identityName, props, (ArmID)null);
ArmTransaction at = txFactory.newArmTransaction(app, atd );
统一资源标识 (URI)
此事务类型是用于 servlet 和 JavaServer Page (JSP) 请求的统一资源标识 (URI)。以下所有事务类型和上下文名称可用于所有类型的服务器。
事务类型:URI | |
---|---|
上下文名称 | 描述 |
Port | 请求所到达的 TCP/IP 端口,指定为十进制值的字符串表示。 示例:9080 |
QueryString | 动态 URI 的一部分,它在 URI 字符串的查询段中包含请求的搜索参数,不包括问号 (?)。 示例:selection=EJB&lookup=GBL&trans=CMT |
URI | 使用的 servlet 和 JSP 文件的入局请求 URI。 示例:/hitcount |
Enterprise JavaBeans (EJB)
此 EJB 事务类型和上下文名称仅可用于应用程序服务器。
事务类型:EJB | |
---|---|
上下文名称 | 描述 |
EJBName | 标准 EJB 类名,后跟方法名,用句点(.)连接它们。例如,com.mypackge.MyEJBClass.mymethod。 示例:com.ibm.defaultapplication.IncrementBean.create |
ApplicationName | 包含企业 bean 的 Java™ 2 Platform Enterprise Edition (J2EE) 应用程序名称。 示例:DefaultApplication |
ModuleName | 包含企业 bean 的 J2EE 模块名称。 示例:Increment.jar |
servlet 过滤器
servlet 过滤器事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,不会检测 servlet 过滤器。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型 servlet 过滤器 | |
---|---|
上下文名称 | 描述 |
FilterName | servlet 的 servlet 过滤器名称。 示例:ALoginFilter |
Java 数据库连接 (JDBC)
JDBC 事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JDBC 是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JDBC | |
---|---|
上下文名称 | 描述 |
ClassName | JDBC 调用的接口名称。此名称不是实际的类名。 示例:java.sql.PreparedStatement |
MethodName | JDBC 调用的方法名称。 示例:executeUpdate() |
Java EE 连接器体系结构 (JCA)
JCA 事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JCA 是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JCA | |
---|---|
上下文名称 | 描述 |
ClassName | JCA 调用的类名。 示例:javax.resource.spi.ManagedConnection |
MethodName | JCA 调用的方法名称。 示例:getConnection(Subject, ConnectionRequestInfo) |
Web Service 提供程序
Web Service 提供程序事务类型用于服务器端 Web Service 请求。此事务类型和 Wsdlport 以及 Operation 上下文名称在所有类型的服务器中都可用。Transport、NameSpace 和 InputMessage 上下文名称仅在应用程序服务器中可用。
事务类型:Web Service 提供程序 | |
---|---|
上下文名称 | 描述 |
WsdlPort | 与 Web Service 相关联的 WSDL 端口名称。 示例:AccountManager |
操作 | 与 Web Service 相关联的操作名称。 示例:createNewAccount |
传输 | 与 Web Service 相关联的传输名称。 示例:http |
NameSpace | 与 Web Service 相关联的名称空间。 示例:http://accountmanager.mycorp.com |
InputMessage | 与 Web Service 相关联的输入消息名称。 示例:createNewAccountRequest |
Web Service 请求者
Web Service 请求者事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,Web Service 请求者是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:Web Service 请求者 | |
---|---|
上下文名称 | 描述 |
WsdlPort | 与 Web Service 相关联的 Web 服务描述语言 (WSDL) 端口名称。 示例:AccountManager |
操作 | 与 Web Service 相关联的操作名称。 示例:createNewAccount |
传输 | 与 Web Service 相关联的传输名称。 示例:http |
参数 | Web Service 请求的参数。 示例:customerName,addressStreet,addressCity,addressState,addressZip |
Java 消息服务 (Java Message Service, JMS)
JMS 事务类型仅用于缺省消息传递中消息驱动的 bean (MDB) 方案,包括系统集成总线 (SIB) 层和 MQ。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JMS | |
---|---|
上下文名称 | 描述 |
DestinationName | Java™ 消息服务 (JMS) 的目标队列名称或主题名称。 示例:MyBusiness.Topic.Space |
MessageSelector | JMS 的消息选择器。 |
提供程序 | 提供程序指缺省消息传递、SIB 或 MQ。 示例:缺省消息传递 |
JMS 发送和接收
JMS 发送和接收事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JMS 发送和接收是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JMS 发送/接收 | |
---|---|
上下文名称 | 描述 |
ClassName | 执行调用的 JMS 提供程序中的类名。 示例:com.ibm.ws.sib.api.jms.impl.JmsTopicPublisherImpl |
MethodName | 执行调用的 JMS 提供程序中的方法名。 示例:sendMessage |
服务集成总线 (SIB) 发送和接收
SIB 发送和接收事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,SIB 发送和接收是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:SIB 发送/接收 | |
---|---|
上下文名称 | 描述 |
ClassName | 执行调用的 SIB 层中的类名。 示例:com.ibm.ws.sib.processor.impl.ProducerSessionImpl |
MethodName | 执行调用的 SIB 层中的方法名。 示例:send |
BusName | 对其进行此调用的服务集成总线的名称。 |
DestinationName | 对其进行此调用的服务集成目标的名称。 |
SIB 消息驱动的 bean (MDB)
SIB MDB 事务类型仅可用于应用程序服务器。
事务类型:SIB MDB。 | |
---|---|
上下文名称 | 描述 |
BusName | MDB 正在侦听的目标所在的 SIB 的名称。 |
DestinationName | 此 MDB 也侦听的 SIB 的名称。 |
MessageSelector | 此 MDB 使用的消息选择器。 |
MdbDiscriminator | 此 MDB 使用的鉴别器。 |
提供程序 | 此 MDB 所用于的提供程序类型。 示例:缺省消息传递或 SIB |
SIB 调解
SIB 调解事务类型和上下文名称仅可用于应用程序服务器。
事务类型:SIB 调解 | |
---|---|
上下文名称 | 描述 |
ClassName | 执行调用的类名。 |
MethodName | 执行调用的方法名。 |
MediationName | JMS 的调解名称。 示例:myMediation |
BusName | JMS 的服务集成总线名称。 示例:thisBusName |
DestinationName | JMS 的目标名称。 示例:myMessageQueue |
异步 bean
异步 bean 事务类型用于未设置 LONGRUNNING_HINT 的异步 bean 计时器、警报、延迟启动和 EE 并行任务。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:异步 bean | |
---|---|
上下文名称 | 描述 |
类型 | 异步 bean 任务的类型。 示例:COMMONJ_TIMER |
ClassName | 执行异步 bean 任务的类名。 示例:com.mycorp.MyTaskClass |
Java 命名和目录接口 (JNDI)
JNDI 事务类型仅在 DEBUG 跟踪级别可用。对于其他跟踪级别,将不会检测 JNDI 调用。此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JNDI | |
---|---|
上下文名称 | 描述 |
JNDIName | JNDI 查询名称。 示例:ejbJndiName |
Portlet
portlet 事务类型和上下文名称仅可用于应用程序服务器。
事务类型:Portlet | |
---|---|
上下文名称 | 描述 |
方法 | 当前利用的 Portlet 的方法,它可以是操作或呈示。 |
WindowID | 当前利用的 Portlet 的窗口标识。 |
URI(这是一个 ARM 事务上下文属性名,不应与在 WebSphere servlet 事务上指定的显式 ARM 事务 URI 属性混淆,并且特别不应与 Enterprise Workload Manager (EWLM)“EWLM: URI”策略过滤器混淆。) | 当前 Portlet 请求的上下文路径。 |
基于 HTTP 和 SOAP 协议的 ARM 相关因子
对于 HTTP 入站,WebSphere Application Server 会检查大小写敏感的 HTTP 头 “ARM_CORRELATOR” 以查找入局 ARM 相关因子。应用程序服务器不允许基于出站 HTTP 的 ARM 相关因子流。
- element =“arm_correlator”;
- namespace URI = “http://websphere.ibm.com”,
- prefix = “reqmetrics”;
- actor URI = “reqmetricsURI”;
- element =“arm_correlator”;
- namespace URI = “http://websphere.ibm.com”,
- prefix = “reqmetrics”;
- actor URI = “reqmetricsURI”;
<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<reqmetrics:arm_correlator soapenv:actor="reqmetricsURI" xmlns:reqmetrics="http://websphere.ibm.com">
37000000000000000000
</reqmetrics:arm_correlator>
</soapenv:Header>