The Application Real-Time Monitoring Service (ARMS) 4.x agent captures span attributes and resources for each instrumented framework. By default, the agent records a subset of the attributes defined in the OpenTelemetry Semantic Conventions to minimize data volume.
To record the full set of OpenTelemetry-standard attributes, enable the Record OTel Spec conventional attributes switch on the Custom Configuration page.
The following tables list all attributes and resources the ARMS 4.x agent attaches to spans, organized by framework.
Common span attributes
These attributes appear on all spans regardless of framework.
| Attribute | Description | Example | Notes |
|---|
rpc.type | Numeric call type of the span. | 0, 40, 60 | Internal use. Subject to change. |
serviceType | Numeric service type of the span. | 1000, 1010 | Internal use. Subject to change. |
ali.trace.flag | Alibaba Cloud observability product that collected the trace. Valid values: arms (ARMS), x-trace (Managed Service for OpenTelemetry). | arms | Internal use. Subject to change. |
component.name | Framework or component that produced the span. | mysql, http | For all valid values, see Application Monitoring metrics. |
hasInternalSpan | Whether the span contains a child span with spanKind set to Internal. | 1 | Present only on LocalRootSpan. |
otel.scope.name | Instrumentation plugin that generated the span. | io.opentelemetry.jdbc | - |
otel.scope.version | Version of the instrumentation plugin. | 1.28.0-SNAPSHOT | - |
root.service.id | ARMS application ID of the first service in the trace. | aokcd***@b57c445****** | - |
sample.service.id | ARMS application ID of the service that made the sampling decision. | aokcd***@b57c445****** | Not always the entry service. For details, see Trace sampling modes (for agent versions 3.2.8 and later). |
sample.reason | Sampling policy that matched when the sampling decision was made. | s4 | For details, see Sampling tags. |
ppid | ARMS application ID of the upstream (caller) service. | aokcd***@b57c445****** | - |
thread.name | Name of the thread that executed the operation. | http-nio-8080-exec-162 | - |
thread.id | ID of the thread that executed the operation. | 12783 | - |
trace.protocol.type | Trace context propagation protocol. | EagleEye, W3C | Present only on LocalRootSpan. |
Common resources
Resources describe the process or host that produced the span. They remain constant for the lifetime of the agent.
| Resource | Description | Example | Notes |
|---|
host.name | Hostname of the machine running the application. | mall-gateway-54c647a51d-db78a | Added in agent version 4.5.0. |
agentVersion | ARMS agent version. | 4.5.0_3d5f5f7 | - |
acs.arms.service.id | ARMS internal service ID. | gauui7wh2@8a8763fbd23c898cd52*** | Internal use. Subject to change. |
acs.arms.workspace | ARMS workspace name. | default-cms-1324351***-cn-hangzhou | Internal use. Subject to change. |
arms.appId | ARMS application ID. | gauui7wh2@8a8763fbd23c898cd52*** | Internal use. Subject to change. |
clusterId | Container Service for Kubernetes (ACK) cluster ID. | c98cd52967df89a8e9*** | Kubernetes only. Read from the KUBERNETES_CLUSTER_ID environment variable. |
ipv4 | IP address of the application. | 127.0.0.1 | - |
namespace | Kubernetes namespace. | default | Kubernetes only. Read from the KUBERNETES_POD_NAMESPACE environment variable. |
workloadKind | Kubernetes workload type. | Deployment | Kubernetes only. Read from the ARMS_WORKLOADKIND environment variable. |
workloadName | Kubernetes workload name. | mall-gateway | Kubernetes only. Read from the ARMS_WORKLOADNAME environment variable. |
HTTP span attributes
Common
| Attribute | Description | Example |
|---|
http.method | HTTP request method. | GET, POST |
http.status_code | HTTP response status code. | 200, 404, 500 |
status | Converged HTTP status code. Individual 4xx and 5xx codes are grouped into 4xx and 5xx. | 200, 4xx, 5xx |
Server span
| Attribute | Description | Example |
|---|
http.path | Actual URL path of the incoming request. | /api/v1/user |
http.route | Route template registered by the framework. | /api/v1/{userId} |
http.params | Query string (the portion of the URL after ?). | userId=123 |
Note: http.route and http.path differ when a framework uses path parameters. For example, if a Spring MVC controller declares the path /api/v1/{userId}, http.route records the template /api/v1/{userId} while http.path records the resolved path such as /api/v1/42.
Client span
| Attribute | Description | Example |
|---|
destId | Host and port of the downstream service. | 127.0.0.1 |
endpoint | URL path of the outgoing request. | /api/v1/user |
RPC span attributes
| Attribute | Description | Example |
|---|
rpc.system | RPC framework. | Dubbo, gRPC |
rpc.service | Fully qualified service name. | com.test.TestService |
rpc.method | Method name. | sayHello |
destId | Address of the remote peer. | 127.0.0.1:20880 |
Scheduled task span attributes
| Attribute | Description | Example |
|---|
job.system | Scheduling framework. | SchedulerX, XXLJob |
job.id | Task ID. | 2847 |
job.name | Task name. | testJob |
job.result.status | Execution result. | success |
Messaging span attributes
Common
| Attribute | Description | Example |
|---|
messaging.system | Messaging framework. | RocketMQ, Kafka |
messaging.operation | Action performed on the message. | publish, receive, process |
messaging.message.payload_size_bytes | Message body size in bytes. | 137 |
messaging.destination.name | Topic name. | user_order |
destId | Address of the message broker. | rmq-********-vpc.cn-beijing.rmq.aliyuncs.com:8080 |
endpoint | Broker address combined with the topic, in the format ${destId}@${messaging.destination.name}. | rmq-********-vpc.cn-beijing.rmq.aliyuncs.com:8080@user_order |
RocketMQ
| Attribute | Description | Example |
|---|
messaging.consume.delay_ms | Consumption delay in milliseconds. | 128 |
Kafka
| Attribute | Description | Example |
|---|
messaging.kafka.destination.partition | Partition that contains the message. | 5 |
messaging.kafka.message.offset | Offset of the message within the partition. | 42 |
messaging.kafka.message.key | Message key. | mykey |
Database and NoSQL span attributes
Common
| Attribute | Description | Example |
|---|
db.name | Database name, parsed from the connection string. Empty if the connection string does not include a database name. | test |
net.peer.name | Host and port from the database connection string. | *****.mysql.rds.aliyuncs.com:3306 |
sql | Database statement. Parameterized values are replaced with ?. | SELECT * FROM user WHERE user_id=? |
db.statement.id | 16-character encoded ID of the database statement. | 5a620e8cf06156a5 |
opType | Operation type. | SELECT |
response.size | Response size in bytes. | 54 |
Legacy attributes
The following attributes are redundant and kept only for backward compatibility. They will be removed in a future release.
| Attribute | Description | Equivalent |
|---|
destId | Database name. | Same as db.name. |
endpoint | Database connection string. | Same as net.peer.name. |
out.ids | Database connection string. | Same as net.peer.name. |
MongoDB
| Attribute | Description | Example |
|---|
db.mongodb.collection | Target collection name. | user |
Redis
| Attribute | Description | Example |
|---|
redis.command.key | Key accessed by the command. | key |