Expand description
§Trace Semantic Conventions
The trace semantic conventions define a set of standardized attributes to
be used in Span
s.
§Usage
use opentelemetry::KeyValue;
use opentelemetry::{global, trace::Tracer as _};
use opentelemetry_semantic_conventions as semconv;
let tracer = global::tracer("my-component");
let _span = tracer
.span_builder("span-name")
.with_attributes(vec![
KeyValue::new(semconv::trace::NET_PEER_NAME, "example.org"),
KeyValue::new(semconv::trace::NET_PEER_PORT, 80i64),
])
.start(&tracer);
Constants§
- The value of the
AttributesToGet
request parameter. - The JSON-serialized value of each item in the
AttributeDefinitions
request field. - The value of the
ConsistentRead
request parameter. - The JSON-serialized value of each item in the
ConsumedCapacity
response field. - The value of the
Count
response parameter. - The value of the
ExclusiveStartTableName
request parameter. - The JSON-serialized value of each item of the
GlobalSecondaryIndexes
request field. - The JSON-serialized value of each item in the the
GlobalSecondaryIndexUpdates
request field. - The value of the
IndexName
request parameter. - The JSON-serialized value of the
ItemCollectionMetrics
response field. - The value of the
Limit
request parameter. - The JSON-serialized value of each item of the
LocalSecondaryIndexes
request field. - The value of the
ProjectionExpression
request parameter. - The value of the
ProvisionedThroughput.ReadCapacityUnits
request parameter. - The value of the
ProvisionedThroughput.WriteCapacityUnits
request parameter. - The value of the
ScannedCount
response parameter. - The value of the
ScanIndexForward
request parameter. - The value of the
Segment
request parameter. - The value of the
Select
request parameter. - The the number of items in the
TableNames
response parameter. - The keys in the
RequestItems
object field. - The value of the
TotalSegments
request parameter. - The full invoked ARN as provided on the
Context
passed to the function (Lambda-Runtime-Invoked-Function-Arn
header on the/runtime/invocation/next
applicable). - The AWS request ID as returned in the response headers
x-amz-request-id
orx-amz-requestid
. - The S3 bucket name the request refers to. Corresponds to the
--bucket
parameter of the S3 API operations. - The source object (in the form
bucket
/key
) for the copy operation. - The delete request container that specifies the objects to be deleted.
- The S3 object key the request refers to. Corresponds to the
--key
parameter of the S3 API operations. - The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
- Upload ID that identifies the multipart upload.
- Client address - unix domain socket name, IPv4 or IPv6 address.
- Client port number.
- Immediate client peer address - unix domain socket name, IPv4 or IPv6 address.
- Immediate client peer port number.
- The event_id uniquely identifies the event.
- The source identifies the context in which an event happened.
- The version of the CloudEvents specification which the event uses.
- The subject of the event in the context of the event producer (identified by source).
- The event_type contains a value describing the type of event related to the originating occurrence.
- The column number in
code.filepath
best representing the operation. It SHOULD point within the code unit named incode.function
. - The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
- The method or function name, or equivalent (usually rightmost part of the code unit's name).
- The line number in
code.filepath
best representing the operation. It SHOULD point within the code unit named incode.function
. - The "namespace" within which
code.function
is defined. Usually the qualified class or module name, such thatcode.namespace
+ some separator +code.function
form a unique identifier for the code unit. - The consistency level of the query. Based on consistency values from CQL.
- The data center of the coordinating node for a query.
- The ID of the coordinating node for a query.
- Whether or not the query is idempotent.
- The fetch size used for paging, i.e. how many rows will be returned at once.
- The number of times a query was speculatively executed. Not set or
0
if the query was not executed speculatively. - The name of the primary table that the operation is acting upon, including the keyspace name (if applicable).
- The connection string used to connect to the database. It is recommended to remove embedded credentials.
- Unique Cosmos client instance id.
- Cosmos client connection mode.
- Cosmos DB container name.
- CosmosDB Operation Type.
- RU consumed for that operation.
- Request payload size in bytes.
- Cosmos DB status code.
- Cosmos DB sub status code.
- The fully-qualified class name of the Java Database Connectivity (JDBC) driver used to connect.
- The collection being accessed within the database stated in
db.name
. - The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
- This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
- The name of the operation being executed, e.g. the MongoDB command name such as
findAndModify
, or the SQL keyword. - The index of the database being accessed as used in the
SELECT
command, provided as an integer. To be used instead of the genericdb.name
attribute. - The name of the primary table that the operation is acting upon, including the database name (if applicable).
- The database statement being executed.
- An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- Username for accessing the database.
- Peer address, for example IP address or UNIX socket name.
- The domain name of the destination system.
- Peer port number.
- Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
- Actual/assumed role the client is making the request under extracted from token or application security context.
- Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
- The domain identifies the business context for the events.
- The name identifies the event.
- SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
- The exception message.
- A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
- A boolean that is true if the serverless function is executed for the first time (aka cold-start).
- A string containing the schedule period as Cron Expression.
- The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
- The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
- Describes the type of the operation that was performed on the data.
- The invocation ID of the current function invocation.
- The name of the invoked function.
- The cloud provider of the invoked function.
- The cloud region of the invoked function.
- Type of the trigger which caused this function invocation.
- The unique identifier of the feature flag.
- The name of the service provider that performs the flag evaluation.
- SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
- The GraphQL document being executed.
- The name of the operation being executed.
- The type of the operation being executed.
- HTTP_METHODDeprecatedDeprecated, use
http.request.method
instead. - The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- HTTP_REQUEST_CONTENT_LENGTHDeprecatedDeprecated, use
http.request.body.size
instead. - HTTP request method.
- Original HTTP method sent by the client in the request line.
- The ordinal number of request resending attempt (for any reason, including redirects).
- The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- HTTP_RESPONSE_CONTENT_LENGTHDeprecatedDeprecated, use
http.response.body.size
instead. - The matched route (path template in the format used by the respective server framework). See note below.
- HTTP_SCHEMEDeprecatedDeprecated, use
url.scheme
instead. - HTTP_STATUS_CODEDeprecatedDeprecated, use
http.response.status_code
instead. - HTTP_TARGETDeprecatedDeprecated, use
url.path
andurl.query
instead. - HTTP_URLDeprecatedDeprecated, use
url.full
instead. - The basename of the file.
- The basename of the file, with symlinks resolved.
- The full path to the file.
- The full path to the file, with symlinks resolved.
- The stream associated with the log. See below for a list of well-known values.
- A unique identifier for the Log Record.
- Compressed size of the message in bytes.
- MUST be calculated as two different counters starting from
1
one for sent messages and one for received message. - Whether this is a received or sent message.
- Uncompressed size of the message in bytes.
- The number of messages sent, received, or processed in the scope of the batching operation.
- A unique identifier for the client that consumes or produces a message.
- A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
- The message destination name.
- Low cardinality representation of the messaging destination name.
- A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
- Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
- Partition the message is sent to.
- Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from
messaging.message.id
in that they're not unique. If the key isnull
, the attribute MUST NOT be set. - The offset of a record in the corresponding Kafka partition.
- A boolean that is true if the message is a tombstone.
- The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
- A value used by the messaging system as an identifier for the message, represented as a string.
- The compressed size of the message payload in bytes.
- The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported.
- A string identifying the kind of messaging operation as defined in the Operation names section above.
- RabbitMQ message routing key.
- Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
- Model of message consumption. This only applies to consumer spans.
- The delay time level for delay message, which determines the message delay time.
- The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
- It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
- Key(s) of message, another way to mark message besides message id.
- The secondary classifier of message besides topic.
- Type of message.
- Namespace of RocketMQ resources, resources in different namespaces are individual.
- A string identifying the messaging system.
- The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
- The mobile carrier country code.
- The mobile carrier network code.
- The name of the mobile carrier.
- This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- The internet connection type.
- OSI Application Layer or non-OSI equivalent. The value SHOULD be normalized to lowercase.
- Version of the application layer protocol used. See note below.
- OSI Transport Layer or Inter-process Communication method. The value SHOULD be normalized to lowercase.
- OSI Network Layer or non-OSI equivalent. The value SHOULD be normalized to lowercase.
- NET_HOST_NAMEDeprecatedDeprecated, use
server.address
. - NET_HOST_PORTDeprecatedDeprecated, use
server.port
. - NET_PEER_NAMEDeprecatedDeprecated, use
server.address
on client spans andclient.address
on server spans. - NET_PEER_PORTDeprecatedDeprecated, use
server.port
on client spans andclient.port
on server spans. - NET_PROTOCOL_NAMEDeprecatedDeprecated, use
network.protocol.name
. - NET_PROTOCOL_VERSIONDeprecatedDeprecated, use
network.protocol.version
. - NET_SOCK_FAMILYDeprecatedDeprecated, use
network.transport
andnetwork.type
. - NET_SOCK_HOST_ADDRDeprecatedDeprecated, use
server.socket.address
. - NET_SOCK_HOST_PORTDeprecatedDeprecated, use
server.socket.port
. - NET_SOCK_PEER_ADDRDeprecatedDeprecated, use
server.socket.address
on client spans andclient.socket.address
on server spans. - NET_SOCK_PEER_NAMEDeprecatedDeprecated, use
server.socket.domain
on client spans. - NET_SOCK_PEER_PORTDeprecatedDeprecated, use
server.socket.port
on client spans andclient.socket.port
on server spans. - NET_TRANSPORTDeprecatedDeprecated, use
network.transport
. - Parent-child Reference type.
- Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
- Description of the Status if it has a value, otherwise not set.
- The
service.name
of the remote service. SHOULD be equal to the actualservice.name
resource attribute of the remote service if any. - Name of the memory pool.
- The error codes of the Connect request. Error codes are always string values.
- The numeric status code of the gRPC request.
error.code
property of response if it is an error response.error.message
property of response if it is an error response.id
property of request or response. Since protocol allows id to be int, string,null
or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case ofnull
value. Omit entirely if this is a notification.- Protocol version as in
jsonrpc
property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. - The name of the (logical) method being called, must be equal to the $method part in the span name.
- The full (logical) name of the service being called, including its package name, if applicable.
- A string identifying the remoting system. See below for a list of well-known identifiers.
- Logical server hostname, matches server FQDN if available, and IP or socket address if FQDN is not known.
- Logical server port number.
- Physical server IP address or Unix socket address. If set from the client, should simply use the socket's peer address, and not attempt to find any actual server IP (i.e., if set from client, this may represent some proxy server instead of the logical server).
- The domain name of an immediate peer.
- Physical server port.
- Source address, for example IP address or Unix socket name.
- The domain name of the source system.
- Source port number.
- Current "managed" thread ID (as opposed to OS thread ID).
- Current thread name.
- The type of memory.
- The URI fragment component.
- Absolute URL describing a network resource according to RFC3986.
- The URI path component.
- The URI query component.
- The URI scheme component identifying the used protocol.
- Value of the HTTP User-Agent header sent by the client.