View Source OpenTelemetry.SemanticConventions.Trace (opentelemetry_semantic_conventions v0.1.0)
Link to this section Summary
Functions
The JSON-serialized value of each item in the AttributeDefinitions
request field
The value of the AttributesToGet
request parameter
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 in the the GlobalSecondaryIndexUpdates
request field
The JSON-serialized value of each item of the GlobalSecondaryIndexes
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 ScanIndexForward
request parameter
The value of the ScannedCount
response 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 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 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 in code.function
The "namespace" within which code.function
is defined. Usually the qualified class or module name, such that code.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
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 generic db.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
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
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 execution ID of the current function execution
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 execution
The GraphQL document being executed
The name of the operation being executed
The type of the operation being executed
The IP address of the original client behind all proxies, if known (e.g. from X-Forwarded-For)
Kind of HTTP protocol used
HTTP request method
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
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
The ordinal number of request re-sending attempt
The matched route (path template in the format used by the respective server framework). See note below
The URI scheme identifying the used protocol
The full request target as passed in a HTTP request line or equivalent
Full HTTP request URL in the form scheme://host[:port]/path?query[#fragment]
. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless
Value of the HTTP User-Agent header sent by the client
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 identifier for the consumer receiving a message. For Kafka, set it to {messaging.kafka.consumer_group} - {messaging.kafka.client_id}
, if both are present, or only messaging.kafka.consumer_group
. For brokers, such as RabbitMQ and Artemis, set it to the client_id
of the client consuming the message
The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID"
The message destination name. This might be equal to the span name but is required nevertheless
The kind of message destination
Client Id for the Consumer or Producer that is handling the message
Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers
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 is null
, the attribute MUST NOT be set
Partition the message is sent to
A boolean that is true if the message is a tombstone
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 message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case
The name of the transport protocol
The version of the transport protocol
RabbitMQ message routing key
Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind
The unique identifier for each client
Model of message consumption. This only applies to consumer spans
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
A boolean that is true if the message destination is temporary
Connection string
Application layer protocol used. The value SHOULD be normalized to lowercase
Version of the application layer protocol used. See note below
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 currently being used by the host
Name of the local HTTP server that received the request
Port of the local HTTP server that received the request
Name of the database host
Logical remote port number
Protocol address family which is used for communication
Local socket address. Useful in case of a multi-IP host
Local socket port number
Remote socket peer address: IPv4 or IPv6 for internet protocols, path for local communication, etc
Remote socket peer name
Remote socket peer port
Transport protocol used. See note below
Parent-child Reference type
The service.name
of the remote service. SHOULD be equal to the actual service.name
resource attribute of the remote service if any
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 of null
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 operation corresponding to the request, as returned by the AWS SDK
The name of the service to which a request is made, as returned by the AWS SDK
The value aws-api
Current "managed" thread ID (as opposed to OS thread ID)
Current thread name
The schema url for telemetry resources.
Link to this section Functions
@spec aws_dynamodb_attribute_definitions() :: :"aws.dynamodb.attribute_definitions"
The JSON-serialized value of each item in the AttributeDefinitions
request field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_attribute_definitions()
:"aws.dynamodb.attribute_definitions"
@spec aws_dynamodb_attributes_to_get() :: :"aws.dynamodb.attributes_to_get"
The value of the AttributesToGet
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_attributes_to_get()
:"aws.dynamodb.attributes_to_get"
@spec aws_dynamodb_consistent_read() :: :"aws.dynamodb.consistent_read"
The value of the ConsistentRead
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_consistent_read()
:"aws.dynamodb.consistent_read"
@spec aws_dynamodb_consumed_capacity() :: :"aws.dynamodb.consumed_capacity"
The JSON-serialized value of each item in the ConsumedCapacity
response field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_consumed_capacity()
:"aws.dynamodb.consumed_capacity"
@spec aws_dynamodb_count() :: :"aws.dynamodb.count"
The value of the Count
response parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_count()
:"aws.dynamodb.count"
@spec aws_dynamodb_exclusive_start_table() :: :"aws.dynamodb.exclusive_start_table"
The value of the ExclusiveStartTableName
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_exclusive_start_table()
:"aws.dynamodb.exclusive_start_table"
@spec aws_dynamodb_global_secondary_index_updates() ::
:"aws.dynamodb.global_secondary_index_updates"
The JSON-serialized value of each item in the the GlobalSecondaryIndexUpdates
request field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_global_secondary_index_updates()
:"aws.dynamodb.global_secondary_index_updates"
@spec aws_dynamodb_global_secondary_indexes() ::
:"aws.dynamodb.global_secondary_indexes"
The JSON-serialized value of each item of the GlobalSecondaryIndexes
request field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_global_secondary_indexes()
:"aws.dynamodb.global_secondary_indexes"
@spec aws_dynamodb_index_name() :: :"aws.dynamodb.index_name"
The value of the IndexName
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_index_name()
:"aws.dynamodb.index_name"
@spec aws_dynamodb_item_collection_metrics() ::
:"aws.dynamodb.item_collection_metrics"
The JSON-serialized value of the ItemCollectionMetrics
response field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_item_collection_metrics()
:"aws.dynamodb.item_collection_metrics"
@spec aws_dynamodb_limit() :: :"aws.dynamodb.limit"
The value of the Limit
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_limit()
:"aws.dynamodb.limit"
@spec aws_dynamodb_local_secondary_indexes() ::
:"aws.dynamodb.local_secondary_indexes"
The JSON-serialized value of each item of the LocalSecondaryIndexes
request field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_local_secondary_indexes()
:"aws.dynamodb.local_secondary_indexes"
@spec aws_dynamodb_projection() :: :"aws.dynamodb.projection"
The value of the ProjectionExpression
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_projection()
:"aws.dynamodb.projection"
@spec aws_dynamodb_provisioned_read_capacity() ::
:"aws.dynamodb.provisioned_read_capacity"
The value of the ProvisionedThroughput.ReadCapacityUnits
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_provisioned_read_capacity()
:"aws.dynamodb.provisioned_read_capacity"
@spec aws_dynamodb_provisioned_write_capacity() ::
:"aws.dynamodb.provisioned_write_capacity"
The value of the ProvisionedThroughput.WriteCapacityUnits
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_provisioned_write_capacity()
:"aws.dynamodb.provisioned_write_capacity"
@spec aws_dynamodb_scan_forward() :: :"aws.dynamodb.scan_forward"
The value of the ScanIndexForward
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_scan_forward()
:"aws.dynamodb.scan_forward"
@spec aws_dynamodb_scanned_count() :: :"aws.dynamodb.scanned_count"
The value of the ScannedCount
response parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_scanned_count()
:"aws.dynamodb.scanned_count"
@spec aws_dynamodb_segment() :: :"aws.dynamodb.segment"
The value of the Segment
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_segment()
:"aws.dynamodb.segment"
@spec aws_dynamodb_select() :: :"aws.dynamodb.select"
The value of the Select
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_select()
:"aws.dynamodb.select"
@spec aws_dynamodb_table_count() :: :"aws.dynamodb.table_count"
The the number of items in the TableNames
response parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_table_count()
:"aws.dynamodb.table_count"
@spec aws_dynamodb_table_names() :: :"aws.dynamodb.table_names"
The keys in the RequestItems
object field
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_table_names()
:"aws.dynamodb.table_names"
@spec aws_dynamodb_total_segments() :: :"aws.dynamodb.total_segments"
The value of the TotalSegments
request parameter
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_dynamodb_total_segments()
:"aws.dynamodb.total_segments"
@spec aws_lambda_invoked_arn() :: :"aws.lambda.invoked_arn"
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)
notes
Notes
This may be different from faas.id
if an alias is involved
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.aws_lambda_invoked_arn()
:"aws.lambda.invoked_arn"
@spec cloudevents_event_id() :: :"cloudevents.event_id"
The event_id uniquely identifies the event
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.cloudevents_event_id()
:"cloudevents.event_id"
@spec cloudevents_event_source() :: :"cloudevents.event_source"
The source identifies the context in which an event happened
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.cloudevents_event_source()
:"cloudevents.event_source"
@spec cloudevents_event_spec_version() :: :"cloudevents.event_spec_version"
The version of the CloudEvents specification which the event uses
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.cloudevents_event_spec_version()
:"cloudevents.event_spec_version"
@spec cloudevents_event_subject() :: :"cloudevents.event_subject"
The subject of the event in the context of the event producer (identified by source)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.cloudevents_event_subject()
:"cloudevents.event_subject"
@spec cloudevents_event_type() :: :"cloudevents.event_type"
The event_type contains a value describing the type of event related to the originating occurrence
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.cloudevents_event_type()
:"cloudevents.event_type"
@spec code_filepath() :: :"code.filepath"
The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.code_filepath()
:"code.filepath"
@spec code_function() :: :"code.function"
The method or function name, or equivalent (usually rightmost part of the code unit's name)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.code_function()
:"code.function"
@spec code_lineno() :: :"code.lineno"
The line number in code.filepath
best representing the operation. It SHOULD point within the code unit named in code.function
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.code_lineno()
:"code.lineno"
@spec code_namespace() :: :"code.namespace"
The "namespace" within which code.function
is defined. Usually the qualified class or module name, such that code.namespace
+ some separator + code.function
form a unique identifier for the code unit
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.code_namespace()
:"code.namespace"
@spec db_cassandra_consistency_level() :: :"db.cassandra.consistency_level"
The consistency level of the query. Based on consistency values from CQL
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_consistency_level()
:"db.cassandra.consistency_level"
@spec db_cassandra_coordinator_dc() :: :"db.cassandra.coordinator.dc"
The data center of the coordinating node for a query
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_coordinator_dc()
:"db.cassandra.coordinator.dc"
@spec db_cassandra_coordinator_id() :: :"db.cassandra.coordinator.id"
The ID of the coordinating node for a query
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_coordinator_id()
:"db.cassandra.coordinator.id"
@spec db_cassandra_idempotence() :: :"db.cassandra.idempotence"
Whether or not the query is idempotent
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_idempotence()
:"db.cassandra.idempotence"
@spec db_cassandra_page_size() :: :"db.cassandra.page_size"
The fetch size used for paging, i.e. how many rows will be returned at once
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_page_size()
:"db.cassandra.page_size"
@spec db_cassandra_speculative_execution_count() ::
:"db.cassandra.speculative_execution_count"
The number of times a query was speculatively executed. Not set or 0
if the query was not executed speculatively
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_speculative_execution_count()
:"db.cassandra.speculative_execution_count"
@spec db_cassandra_table() :: :"db.cassandra.table"
The name of the primary table that the operation is acting upon, including the keyspace name (if applicable)
notes
Notes
This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement
just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_cassandra_table()
:"db.cassandra.table"
@spec db_connection_string() :: :"db.connection_string"
The connection string used to connect to the database. It is recommended to remove embedded credentials
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_connection_string()
:"db.connection_string"
@spec db_jdbc_driver_classname() :: :"db.jdbc.driver_classname"
The fully-qualified class name of the Java Database Connectivity (JDBC) driver used to connect
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_jdbc_driver_classname()
:"db.jdbc.driver_classname"
@spec db_mongodb_collection() :: :"db.mongodb.collection"
The collection being accessed within the database stated in db.name
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_mongodb_collection()
:"db.mongodb.collection"
@spec db_mssql_instance_name() :: :"db.mssql.instance_name"
The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance
notes
Notes
If setting a db.mssql.instance_name
, net.peer.port
is no longer required (but still recommended if non-standard)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_mssql_instance_name()
:"db.mssql.instance_name"
@spec db_name() :: :"db.name"
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)
notes
Notes
In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_name()
:"db.name"
@spec db_operation() :: :"db.operation"
The name of the operation being executed, e.g. the MongoDB command name such as findAndModify
, or the SQL keyword
notes
Notes
When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement
just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_operation()
:"db.operation"
@spec db_redis_database_index() :: :"db.redis.database_index"
The index of the database being accessed as used in the SELECT
command, provided as an integer. To be used instead of the generic db.name
attribute
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_redis_database_index()
:"db.redis.database_index"
@spec db_sql_table() :: :"db.sql.table"
The name of the primary table that the operation is acting upon, including the database name (if applicable)
notes
Notes
It is not recommended to attempt any client-side parsing of db.statement
just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_sql_table()
:"db.sql.table"
@spec db_statement() :: :"db.statement"
The database statement being executed
notes
Notes
The value may be sanitized to exclude sensitive information
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_statement()
:"db.statement"
@spec db_system() :: :"db.system"
An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_system()
:"db.system"
@spec db_user() :: :"db.user"
Username for accessing the database
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.db_user()
:"db.user"
@spec enduser_id() :: :"enduser.id"
Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.enduser_id()
:"enduser.id"
@spec enduser_role() :: :"enduser.role"
Actual/assumed role the client is making the request under extracted from token or application security context
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.enduser_role()
:"enduser.role"
@spec enduser_scope() :: :"enduser.scope"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.enduser_scope()
:"enduser.scope"
@spec exception_escaped() :: :"exception.escaped"
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
notes
Notes
An exception is considered to have escaped (or left) the scope of a span,
if that span is ended while the exception is still logically "in flight".
This may be actually "in flight" in some languages (e.g. if the exception
is passed to a Context manager's __exit__
method in Python) but will
usually be caught at the point of recording the exception in most languages.
It is usually not possible to determine at the point where an exception is thrown whether it will escape the scope of a span. However, it is trivial to know that an exception will escape, if one checks for an active exception just before ending the span, as done in the example above.
It follows that an exception may still escape the scope of the span
even if the exception.escaped
attribute was not set or set to false,
since the event might have been recorded at a time where it was not
clear whether the exception will escape
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.exception_escaped()
:"exception.escaped"
@spec exception_message() :: :"exception.message"
The exception message
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.exception_message()
:"exception.message"
@spec exception_stacktrace() :: :"exception.stacktrace"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.exception_stacktrace()
:"exception.stacktrace"
@spec exception_type() :: :"exception.type"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.exception_type()
:"exception.type"
@spec faas_coldstart() :: :"faas.coldstart"
A boolean that is true if the serverless function is executed for the first time (aka cold-start)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_coldstart()
:"faas.coldstart"
@spec faas_cron() :: :"faas.cron"
A string containing the schedule period as Cron Expression
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_cron()
:"faas.cron"
@spec faas_document_collection() :: :"faas.document.collection"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_document_collection()
:"faas.document.collection"
@spec faas_document_name() :: :"faas.document.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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_document_name()
:"faas.document.name"
@spec faas_document_operation() :: :"faas.document.operation"
Describes the type of the operation that was performed on the data
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_document_operation()
:"faas.document.operation"
@spec faas_document_time() :: :"faas.document.time"
A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_document_time()
:"faas.document.time"
@spec faas_execution() :: :"faas.execution"
The execution ID of the current function execution
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_execution()
:"faas.execution"
@spec faas_invoked_name() :: :"faas.invoked_name"
The name of the invoked function
notes
Notes
SHOULD be equal to the faas.name
resource attribute of the invoked function
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_invoked_name()
:"faas.invoked_name"
@spec faas_invoked_provider() :: :"faas.invoked_provider"
The cloud provider of the invoked function
notes
Notes
SHOULD be equal to the cloud.provider
resource attribute of the invoked function
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_invoked_provider()
:"faas.invoked_provider"
@spec faas_invoked_region() :: :"faas.invoked_region"
The cloud region of the invoked function
notes
Notes
SHOULD be equal to the cloud.region
resource attribute of the invoked function
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_invoked_region()
:"faas.invoked_region"
@spec faas_time() :: :"faas.time"
A string containing the function invocation time in the ISO 8601 format expressed in UTC
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_time()
:"faas.time"
@spec faas_trigger() :: :"faas.trigger"
Type of the trigger which caused this function execution
notes
Notes
For the server/consumer span on the incoming side,
faas.trigger
MUST be set.
Clients invoking FaaS instances usually cannot set faas.trigger
,
since they would typically need to look in the payload to determine
the event type. If clients set it, it should be the same as the
trigger that corresponding incoming would have (i.e., this has
nothing to do with the underlying transport used to make the API
call to invoke the lambda, which is often HTTP)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.faas_trigger()
:"faas.trigger"
@spec graphql_document() :: :"graphql.document"
The GraphQL document being executed
notes
Notes
The value may be sanitized to exclude sensitive information
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.graphql_document()
:"graphql.document"
@spec graphql_operation_name() :: :"graphql.operation.name"
The name of the operation being executed
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.graphql_operation_name()
:"graphql.operation.name"
@spec graphql_operation_type() :: :"graphql.operation.type"
The type of the operation being executed
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.graphql_operation_type()
:"graphql.operation.type"
@spec http_client_ip() :: :"http.client_ip"
The IP address of the original client behind all proxies, if known (e.g. from X-Forwarded-For)
notes
Notes
This is not necessarily the same as net.sock.peer.addr
, which would
identify the network-level peer, which may be a proxy.
This attribute should be set when a source of information different
from the one used for net.sock.peer.addr
, is available even if that other
source just confirms the same value as net.sock.peer.addr
.
Rationale: For net.sock.peer.addr
, one typically does not know if it
comes from a proxy, reverse proxy, or the actual client. Setting
http.client_ip
when it's the same as net.sock.peer.addr
means that
one is at least somewhat confident that the address is not that of
the closest proxy
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_client_ip()
:"http.client_ip"
@spec http_flavor() :: :"http.flavor"
Kind of HTTP protocol used
notes
Notes
If net.transport
is not specified, it can be assumed to be IP.TCP
except if http.flavor
is QUIC
, in which case IP.UDP
is assumed
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_flavor()
:"http.flavor"
@spec http_method() :: :"http.method"
HTTP request method
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_method()
:"http.method"
@spec http_request_content_length() :: :"http.request_content_length"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_request_content_length()
:"http.request_content_length"
@spec http_response_content_length() :: :"http.response_content_length"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_response_content_length()
:"http.response_content_length"
@spec http_retry_count() :: :"http.retry_count"
The ordinal number of request re-sending attempt
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_retry_count()
:"http.retry_count"
@spec http_route() :: :"http.route"
The matched route (path template in the format used by the respective server framework). See note below
notes
Notes
'http.route' MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_route()
:"http.route"
@spec http_scheme() :: :"http.scheme"
The URI scheme identifying the used protocol
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_scheme()
:"http.scheme"
@spec http_status_code() :: :"http.status_code"
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_status_code()
:"http.status_code"
@spec http_target() :: :"http.target"
The full request target as passed in a HTTP request line or equivalent
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_target()
:"http.target"
@spec http_url() :: :"http.url"
Full HTTP request URL in the form scheme://host[:port]/path?query[#fragment]
. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless
notes
Notes
http.url
MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/
. In such case the attribute's value should be https://www.example.com/
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_url()
:"http.url"
@spec http_user_agent() :: :"http.user_agent"
Value of the HTTP User-Agent header sent by the client
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.http_user_agent()
:"http.user_agent"
@spec message_compressed_size() :: :"message.compressed_size"
Compressed size of the message in bytes
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.message_compressed_size()
:"message.compressed_size"
@spec message_id() :: :"message.id"
MUST be calculated as two different counters starting from 1
one for sent messages and one for received message
notes
Notes
This way we guarantee that the values will be consistent between different implementations
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.message_id()
:"message.id"
@spec message_type() :: :"message.type"
Whether this is a received or sent message
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.message_type()
:"message.type"
@spec message_uncompressed_size() :: :"message.uncompressed_size"
Uncompressed size of the message in bytes
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.message_uncompressed_size()
:"message.uncompressed_size"
@spec messaging_consumer_id() :: :"messaging.consumer_id"
The identifier for the consumer receiving a message. For Kafka, set it to {messaging.kafka.consumer_group} - {messaging.kafka.client_id}
, if both are present, or only messaging.kafka.consumer_group
. For brokers, such as RabbitMQ and Artemis, set it to the client_id
of the client consuming the message
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_consumer_id()
:"messaging.consumer_id"
@spec messaging_conversation_id() :: :"messaging.conversation_id"
The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID"
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_conversation_id()
:"messaging.conversation_id"
@spec messaging_destination() :: :"messaging.destination"
The message destination name. This might be equal to the span name but is required nevertheless
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_destination()
:"messaging.destination"
@spec messaging_destination_kind() :: :"messaging.destination_kind"
The kind of message destination
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_destination_kind()
:"messaging.destination_kind"
@spec messaging_kafka_client_id() :: :"messaging.kafka.client_id"
Client Id for the Consumer or Producer that is handling the message
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_kafka_client_id()
:"messaging.kafka.client_id"
@spec messaging_kafka_consumer_group() :: :"messaging.kafka.consumer_group"
Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_kafka_consumer_group()
:"messaging.kafka.consumer_group"
@spec messaging_kafka_message_key() :: :"messaging.kafka.message_key"
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 is null
, the attribute MUST NOT be set
notes
Notes
If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_kafka_message_key()
:"messaging.kafka.message_key"
@spec messaging_kafka_partition() :: :"messaging.kafka.partition"
Partition the message is sent to
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_kafka_partition()
:"messaging.kafka.partition"
@spec messaging_kafka_tombstone() :: :"messaging.kafka.tombstone"
A boolean that is true if the message is a tombstone
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_kafka_tombstone()
:"messaging.kafka.tombstone"
@spec messaging_message_id() :: :"messaging.message_id"
A value used by the messaging system as an identifier for the message, represented as a string
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_message_id()
:"messaging.message_id"
@spec messaging_message_payload_compressed_size_bytes() ::
:"messaging.message_payload_compressed_size_bytes"
The compressed size of the message payload in bytes
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_message_payload_compressed_size_bytes()
:"messaging.message_payload_compressed_size_bytes"
@spec messaging_message_payload_size_bytes() ::
:"messaging.message_payload_size_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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_message_payload_size_bytes()
:"messaging.message_payload_size_bytes"
@spec messaging_operation() :: :"messaging.operation"
A string identifying the kind of message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_operation()
:"messaging.operation"
@spec messaging_protocol() :: :"messaging.protocol"
The name of the transport protocol
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_protocol()
:"messaging.protocol"
@spec messaging_protocol_version() :: :"messaging.protocol_version"
The version of the transport protocol
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_protocol_version()
:"messaging.protocol_version"
@spec messaging_rabbitmq_routing_key() :: :"messaging.rabbitmq.routing_key"
RabbitMQ message routing key
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rabbitmq_routing_key()
:"messaging.rabbitmq.routing_key"
@spec messaging_rocketmq_client_group() :: :"messaging.rocketmq.client_group"
Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_client_group()
:"messaging.rocketmq.client_group"
@spec messaging_rocketmq_client_id() :: :"messaging.rocketmq.client_id"
The unique identifier for each client
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_client_id()
:"messaging.rocketmq.client_id"
@spec messaging_rocketmq_consumption_model() ::
:"messaging.rocketmq.consumption_model"
Model of message consumption. This only applies to consumer spans
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_consumption_model()
:"messaging.rocketmq.consumption_model"
@spec messaging_rocketmq_message_keys() :: :"messaging.rocketmq.message_keys"
Key(s) of message, another way to mark message besides message id
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_message_keys()
:"messaging.rocketmq.message_keys"
@spec messaging_rocketmq_message_tag() :: :"messaging.rocketmq.message_tag"
The secondary classifier of message besides topic
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_message_tag()
:"messaging.rocketmq.message_tag"
@spec messaging_rocketmq_message_type() :: :"messaging.rocketmq.message_type"
Type of message
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_message_type()
:"messaging.rocketmq.message_type"
@spec messaging_rocketmq_namespace() :: :"messaging.rocketmq.namespace"
Namespace of RocketMQ resources, resources in different namespaces are individual
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_rocketmq_namespace()
:"messaging.rocketmq.namespace"
@spec messaging_system() :: :"messaging.system"
A string identifying the messaging system
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_system()
:"messaging.system"
@spec messaging_temp_destination() :: :"messaging.temp_destination"
A boolean that is true if the message destination is temporary
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_temp_destination()
:"messaging.temp_destination"
@spec messaging_url() :: :"messaging.url"
Connection string
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.messaging_url()
:"messaging.url"
@spec net_app_protocol_name() :: :"net.app.protocol.name"
Application layer protocol used. The value SHOULD be normalized to lowercase
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_app_protocol_name()
:"net.app.protocol.name"
@spec net_app_protocol_version() :: :"net.app.protocol.version"
Version of the application layer protocol used. See note below
notes
Notes
net.app.protocol.version
refers to the version of the protocol used and might be different from the protocol client's version. If the HTTP client used has a version of 0.27.2
, but sends HTTP version 1.1
, this attribute should be set to 1.1
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_app_protocol_version()
:"net.app.protocol.version"
@spec net_host_carrier_icc() :: :"net.host.carrier.icc"
The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_carrier_icc()
:"net.host.carrier.icc"
@spec net_host_carrier_mcc() :: :"net.host.carrier.mcc"
The mobile carrier country code
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_carrier_mcc()
:"net.host.carrier.mcc"
@spec net_host_carrier_mnc() :: :"net.host.carrier.mnc"
The mobile carrier network code
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_carrier_mnc()
:"net.host.carrier.mnc"
@spec net_host_carrier_name() :: :"net.host.carrier.name"
The name of the mobile carrier
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_carrier_name()
:"net.host.carrier.name"
@spec net_host_connection_subtype() :: :"net.host.connection.subtype"
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
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_connection_subtype()
:"net.host.connection.subtype"
@spec net_host_connection_type() :: :"net.host.connection.type"
The internet connection type currently being used by the host
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_connection_type()
:"net.host.connection.type"
@spec net_host_name() :: :"net.host.name"
Name of the local HTTP server that received the request
notes
Notes
Determined by using the first of the following that applies
- The primary server name of the matched virtual host. MUST only include host identifier.
- Host identifier of the request target if it's sent in absolute-form.
- Host identifier of the
Host
header
SHOULD NOT be set if only IP address is available and capturing name would require a reverse DNS lookup
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_host_name()
:"net.host.name"
@spec net_host_port() :: :"net.host.port"
Port of the local HTTP server that received the request
notes
Notes
Determined by using the first of the following that applies
Port identifier of the primary server host of the matched virtual host.
Port identifier of the request target if it's sent in absolute-form.
Port identifier of the
Host
headeriex> require OpenTelemetry.SemanticConventions.Trace ...> OpenTelemetry.SemanticConventions.Trace.net_host_port() :"net.host.port"
@spec net_peer_name() :: :"net.peer.name"
Name of the database host
notes
Notes
net.peer.name
SHOULD NOT be set if capturing it would require an extra DNS lookup
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_peer_name()
:"net.peer.name"
@spec net_peer_port() :: :"net.peer.port"
Logical remote port number
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_peer_port()
:"net.peer.port"
@spec net_sock_family() :: :"net.sock.family"
Protocol address family which is used for communication
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_family()
:"net.sock.family"
@spec net_sock_host_addr() :: :"net.sock.host.addr"
Local socket address. Useful in case of a multi-IP host
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_host_addr()
:"net.sock.host.addr"
@spec net_sock_host_port() :: :"net.sock.host.port"
Local socket port number
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_host_port()
:"net.sock.host.port"
@spec net_sock_peer_addr() :: :"net.sock.peer.addr"
Remote socket peer address: IPv4 or IPv6 for internet protocols, path for local communication, etc
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_peer_addr()
:"net.sock.peer.addr"
@spec net_sock_peer_name() :: :"net.sock.peer.name"
Remote socket peer name
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_peer_name()
:"net.sock.peer.name"
@spec net_sock_peer_port() :: :"net.sock.peer.port"
Remote socket peer port
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_sock_peer_port()
:"net.sock.peer.port"
@spec net_transport() :: :"net.transport"
Transport protocol used. See note below
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.net_transport()
:"net.transport"
@spec opentracing_ref_type() :: :"opentracing.ref_type"
Parent-child Reference type
notes
Notes
The causal relationship between a child Span and a parent Span
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.opentracing_ref_type()
:"opentracing.ref_type"
@spec peer_service() :: :"peer.service"
The service.name
of the remote service. SHOULD be equal to the actual service.name
resource attribute of the remote service if any
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.peer_service()
:"peer.service"
@spec rpc_grpc_status_code() :: :"rpc.grpc.status_code"
The numeric status code of the gRPC request
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_grpc_status_code()
:"rpc.grpc.status_code"
@spec rpc_jsonrpc_error_code() :: :"rpc.jsonrpc.error_code"
error.code
property of response if it is an error response
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_jsonrpc_error_code()
:"rpc.jsonrpc.error_code"
@spec rpc_jsonrpc_error_message() :: :"rpc.jsonrpc.error_message"
error.message
property of response if it is an error response
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_jsonrpc_error_message()
:"rpc.jsonrpc.error_message"
@spec rpc_jsonrpc_request_id() :: :"rpc.jsonrpc.request_id"
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 of null
value. Omit entirely if this is a notification
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_jsonrpc_request_id()
:"rpc.jsonrpc.request_id"
@spec rpc_jsonrpc_version() :: :"rpc.jsonrpc.version"
Protocol version as in jsonrpc
property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_jsonrpc_version()
:"rpc.jsonrpc.version"
@spec rpc_method() :: :"rpc.method"
The name of the operation corresponding to the request, as returned by the AWS SDK
notes
Notes
This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function
attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_method()
:"rpc.method"
@spec rpc_service() :: :"rpc.service"
The name of the service to which a request is made, as returned by the AWS SDK
notes
Notes
This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace
attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_service()
:"rpc.service"
@spec rpc_system() :: :"rpc.system"
The value aws-api
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.rpc_system()
:"rpc.system"
@spec thread_id() :: :"thread.id"
Current "managed" thread ID (as opposed to OS thread ID)
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.thread_id()
:"thread.id"
@spec thread_name() :: :"thread.name"
Current thread name
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.thread_name()
:"thread.name"
@spec trace_schema_url() :: String.t()
The schema url for telemetry resources.
iex> require OpenTelemetry.SemanticConventions.Trace
...> OpenTelemetry.SemanticConventions.Trace.trace_schema_url()
"https://opentelemetry.io/schemas/1.13.0"