Java trace annotations
Java trace annotations are metadata keys (key-value pairs) automatically created and captured by the Instana Java Tracesensor when monitoring Java applications.
Annotation keys for Java libraries
The following annotations are created in different libraries traced by the Instana Java Trace sensor:
| Technology | Annotation keys |
|---|---|
| Aerospike | aerospike.error, aerospike.op |
| Akka Remote | akka.error, akka.msg, akka.path, akka.recipient, akka.sender |
| Amazon DynamoDB | dynamodb.error, dynamodb.op, dynamodb.region, dynamodb.table |
| Amazon Kinesis | kinesis.error, kinesis.op, kinesis.record, kinesis.shard, kinesis.shardType, kinesis.startSequenceNumber, kinesis.stream |
| Amazon S3 | s3.bucket, s3.error, s3.exists, s3.key, s3.op, s3.region |
| Amazon SNS | sns.error, sns.phone, sns.response.code, sns.subject, sns.target, sns.topic, sns.type |
| Amazon SQS | sqs.error, sqs.group, sqs.queue, sqs.response.code, sqs.size, sqs.sort, sqs.type |
| Apache Axis | http.error, http.header.*, http.header.soapaction, http.host, http.method, http.params, http.size, http.status, http.url, http.wsdl_op, http.wsdl_srv |
| Apache Camel | camel.error, camel.quartz, camel.size, camel.sort, camel.timer, camel.type |
| Apache CXF | cxf.type, http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.size, http.status, http.url, http.wsdl_op, http.wsdl_srv |
| Apache Dubbo | dubbo.consumer.version, dubbo.group, dubbo.interface, dubbo.method, dubbo.path, dubbo.provider.version, rpc.call, rpc.error, rpc.host, rpc.port |
| Apache HBase | hbase.error, hbase.operation, hbase.table |
| Apache HttpClient | http.error, http.header.*, http.host, http.method, http.params, http.size, http.status, http.url |
| Apache Wicket | wicket.ajax, http.error, http.header.*, http.host, http.method, http.params, http.status, http.url |
| Blockhound | sdk.custom.tags.reactor.blockhound.* |
| Camunda | activity.desc, activity.id, activity.name, activity.type, camunda.id.ext, camunda.retries, camunda.topic.name, camunda.worker.id, process.application.name, process.businessKey, process.definitionId, process.id, process.name, process.snapshot.acronym, process.snapshot.name, process.variable.*, rootProcess.id |
| CORBA (Sun) | corba.method, corba.orb |
| Couchbase | couchbase.bucket, couchbase.error, couchbase.hostname, couchbase.indexname, couchbase.type |
| DistributeMe | distributeme.error, distributeme.method, distributeme.service |
| EhCache | action, elements, name |
| EJB | ejb.app, ejb.bean, ejb.connection, ejb.error, ejb.method, ejb.module, ejb.node, ejb.schedule.id |
| Elasticsearch | elasticsearch.action, elasticsearch.id, elasticsearch.index, elasticsearch.query |
| FaunaDB | faunadb.error, faunadb.query |
| FTP | ftp.error, ftp.file, ftp.host, ftp.port, ftp.type |
| Google Cloud Storage | gcs.accessId, gcs.bucket, gcs.destinationBucket, gcs.destinationObject, gcs.entity, gcs.error, gcs.numberOfOperations, gcs.object, gcs.op, gcs.projectId, gcs.range, gcs.sourceBucket, gcs.sourceObject |
| GWT (Google Web Toolkit) | rpc.call, rpc.error |
| Hazelcast | hz.conn, hz.error, hz.name, hz.op |
| Hibernate | error, id, mode, sort, target, type |
| IBM BAW | activity.desc, activity.id, activity.name, activity.type, process.application.name, process.businessKey, process.definitionId, process.id, process.name, process.snapshot.acronym, process.snapshot.name, process.variable.*, rootProcess.id |
| IBM IMS | ims.datastore, ims.error, ims.exec, ims.hostname, ims.interaction.verb, ims.port |
| IBM JCA | jms.destination, jms.error, jms.message, jms.sort, jms.type |
| JBPM | activity.desc, activity.id, activity.name, activity.type, process.businessKey, process.definitionId, process.id, process.name, rootProcess.id |
| JBoss Data Grid | datagrid.cachename, datagrid.clustername, datagrid.connection, datagrid.error, datagrid.operation |
| JBoss Scheduler | jboss.scheduler.error, jboss.scheduler.name, jboss.scheduler.parameters |
| JDBC | jdbc.connection, jdbc.error, jdbc.size, jdbc.statement |
| Jersey (JAX-RS) | http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.status, http.url |
| JMS | jms.destination, jms.error, jms.message, jms.selector, jms.sort, jms.type |
| Kafka | kafka.access, kafka.error, kafka.service |
| Kafka Streams | kafka.stream.access, kafka.stream.function |
| LDAP | ldap.error, ldap.query, ldap.url |
| Log4j | log.message, log.parameters |
| JavaMail | mail.endpoint, mail.error, mail.type |
| Memcached | memcached.connection, memcached.error, memcached.key, memcached.operation, memcache.command |
| Micronaut HTTP | http.error, http.header.*, http.host, http.method, http.params, http.status, http.url |
| MongoDB | mongo.command, mongo.filter, mongo.json, mongo.namespace, mongo.opcode, mongo.service |
| Mule ESB | http.host, http.method, http.params, http.port, http.url, mule.address, mule.error, mule.flow, mule.pattern, mule.protocol |
| Neo4j | neo4j.conn, neo4j.error, neo4j.stmt |
| Play Framework | http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.status, http.url |
| Quartz Scheduler | quartz.error, quartz.group, quartz.name, quartz.type |
| RabbitMQ | rabbitmq.address, rabbitmq.exchange, rabbitmq.key, rabbitmq.size, rabbitmq.sort |
| Ratpack | http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.status, http.url |
| ReactiveMongo | mongo.command, mongo.namespace, mongo.service |
| Redis | redis.command, redis.connection, redis.error |
| RESTEasy | http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.status, http.url |
| RMI | rmi.error, rmi.host, rmi.method |
| Servlet | http.error, http.header.*, http.host, http.method, http.params, http.status, http.url |
| Solace (Spring) | solace.application_message_id, solace.application_message_type, solace.destination, solace.error, solace.op |
| Spring Batch | batch.exitCode, batch.job, batch.parameters |
| Spring Cloud AWS Messaging | sqs.error, sqs.queue, sqs.size, sqs.sort |
| Spring Web | http.context_root, http.error, http.header.*, http.host, http.method, http.params, http.path_tpl, http.status, http.url |
| Spring WebFlux | http.error, http.header.*, http.host, http.hystrix_fallback_uri, http.hystrix_name, http.method, http.params, http.path_tpl, http.route_id, http.route_uri, http.status, http.url |
| Tabex | tabex.con |
| Undertow | http.error, http.header.*, http.host, http.method, http.params, http.status, http.url |
| URL Connection (JDK) | http.error, http.header.*, http.host, http.method, http.params, http.path, http.size, http.status, http.url |
| Vert.x Cluster | vertx.cluster.address, vertx.cluster.sort |
| Vert.x HTTP | http.error, http.header.*, http.host, http.method, http.params, http.port, http.size, http.status, http.url |
| Vert.x Redis | vertx.redis.cmd, vertx.redis.conn, vertx.redis.error |
| WebLogic RPC | rpc.flavor, rpc.call, rpc.error, rpc.host, rpc.port |
| Webmethods Client | http.error, http.method, http.path, http.path_tpl |
Annotation key patterns
| Category | Prefix pattern | Common attributes |
|---|---|---|
| HTTP | http.* |
method, host, url, params, status, error, size, header.*, port, path, path_tpl, context_root, wsdl_srv, wsdl_op, route_id, route_uri, hystrix_name, hystrix_fallback_uri |
| Database | {technology}.* |
command, query, connection, error, namespace, service, filter, json, operation, table, index |
| Messaging | {technology}.* |
sort, destination, message, error, access, service, type, selector |
| Cloud | {service}.* |
op, region, error, table, stream, shard, queue, size |
| BPM | activity.*, process.*, rootProcess.* |
id, name, type, businessKey, definitionId, application.name, snapshot.name, variable.* |
| RPC | {technology}.* |
method, host, error, call, port, path, interface, group, version |
| Caching | {technology}.* |
operation, key, connection, error, command, name |
Note:
- Keys with
*indicate dynamic prefixes where the actual key varies based on the context. http.header.*means HTTP headers use the prefix `http.header.` followed by the header name.bpm.variable.*means BPM variables use the prefix `bpm.variable.` followed by the variable name.- Some technologies share common annotation keys (for example, multiple HTTP-based technologies use
http.*keys).