View Source OpenTelemetry.SemConv.Incubating.MessagingAttributes (OpenTelemetry.SemConv v1.27.0)
OpenTelemetry Semantic Conventions for Messaging attributes.
Summary
Types
A string identifying the type of the messaging operation.
Model of message consumption. This only applies to consumer spans.
Type of message.
Describes the settlement type.
The messaging system as identified by the client instrumentation.
Functions
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.
The name of the consumer group with which a consumer is associated.
A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
The message destination name
The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name
.
The name of the destination subscription from which a message is consumed.
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.
The UTC epoch seconds at which the message has been accepted and stored in the entity.
The ack deadline in seconds set for the modify ack deadline request.
The ack id for a given message.
The delivery attempt for a given message.
The ordering key for a given message. If the attribute is not present, the message does not have an ordering 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.
A boolean that is true if the message is a tombstone.
The offset of a record in the corresponding Kafka partition.
The size of the message body in bytes.
The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
The size of the message body and metadata in bytes.
A value used by the messaging system as an identifier for the message, represented as a string.
The system-specific name of the messaging operation.
A string identifying the type of the messaging operation.
RabbitMQ message routing key.
RabbitMQ message delivery tag
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.
Describes the settlement type.
Number of deliveries that have been attempted for this message.
The UTC epoch seconds at which the message has been accepted and stored in the entity.
The messaging system as identified by the client instrumentation.
Types
@type messaging_operation_type_values() :: %{
publish: :publish,
create: :create,
receive: :receive,
process: :process,
settle: :settle,
deliver: :deliver
}
A string identifying the type of the messaging operation.
Enum Values
:publish
e - One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.:create
e - A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.:receive
e - One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.:process
e - One or more messages are processed by a consumer.:settle
e - One or more messages are settled.:deliver
e - deprecatedDeprecated. Useprocess
instead.
@type messaging_rocketmq_consumption_model_values() :: %{
clustering: :clustering,
broadcasting: :broadcasting
}
Model of message consumption. This only applies to consumer spans.
Enum Values
@type messaging_rocketmq_message_type_values() :: %{
normal: :normal,
fifo: :fifo,
delay: :delay,
transaction: :transaction
}
Type of message.
Enum Values
@type messaging_servicebus_disposition_status_values() :: %{
complete: :complete,
abandon: :abandon,
dead_letter: :dead_letter,
defer: :defer
}
Describes the settlement type.
Enum Values
@type messaging_system_values() :: %{
activemq: :activemq,
aws_sqs: :aws_sqs,
eventgrid: :eventgrid,
eventhubs: :eventhubs,
servicebus: :servicebus,
gcp_pubsub: :gcp_pubsub,
jms: :jms,
kafka: :kafka,
rabbitmq: :rabbitmq,
rocketmq: :rocketmq,
pulsar: :pulsar
}
The messaging system as identified by the client instrumentation.
Enum Values
:activemq
e - Apache ActiveMQ:aws_sqs
e - Amazon Simple Queue Service (SQS):eventgrid
e - Azure Event Grid:eventhubs
e - Azure Event Hubs:servicebus
e - Azure Service Bus:gcp_pubsub
e - Google Cloud Pub/Sub:jms
e - Java Message Service:kafka
e - Apache Kafka:rabbitmq
e - RabbitMQ:rocketmq
e - Apache RocketMQ:pulsar
e - Apache Pulsar
Functions
@spec messaging_batch_message_count() :: :"messaging.batch.message_count"
The number of messages sent, received, or processed in the scope of the batching operation.
Value type
Value must be of type integer()
.
Notes
Instrumentations SHOULD NOT set messaging.batch.message_count
on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count
for batching APIs and SHOULD NOT use it for single-message APIs.
Examples
[0, 1, 2]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_batch_message_count()
:"messaging.batch.message_count"
?MESSAGING_BATCH_MESSAGE_COUNT.
'messaging.batch.message_count'
@spec messaging_client_id() :: :"messaging.client.id"
A unique identifier for the client that consumes or produces a message.
Value type
Value must be of type atom() | String.t()
.
Examples
["client-5", "myhost@8742@s8083jm"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_client_id()
:"messaging.client.id"
?MESSAGING_CLIENT_ID.
'messaging.client.id'
@spec messaging_consumer_group_name() :: :"messaging.consumer.group.name"
The name of the consumer group with which a consumer is associated.
Value type
Value must be of type atom() | String.t()
.
Notes
Semantic conventions for individual messaging systems SHOULD document whether messaging.consumer.group.name
is applicable and what it means in the context of that system.
Examples
["my-group", "indexer"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_consumer_group_name()
:"messaging.consumer.group.name"
?MESSAGING_CONSUMER_GROUP_NAME.
'messaging.consumer.group.name'
@spec messaging_destination_anonymous() :: :"messaging.destination.anonymous"
A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
Value type
Value must be of type boolean()
.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_anonymous()
:"messaging.destination.anonymous"
?MESSAGING_DESTINATION_ANONYMOUS.
'messaging.destination.anonymous'
@spec messaging_destination_name() :: :"messaging.destination.name"
The message destination name
Value type
Value must be of type atom() | String.t()
.
Notes
Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
Examples
["MyQueue", "MyTopic"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_name()
:"messaging.destination.name"
?MESSAGING_DESTINATION_NAME.
'messaging.destination.name'
@spec messaging_destination_partition_id() :: :"messaging.destination.partition.id"
The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name
.
Value type
Value must be of type atom() | String.t()
.
Examples
1
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_partition_id()
:"messaging.destination.partition.id"
?MESSAGING_DESTINATION_PARTITION_ID.
'messaging.destination.partition.id'
@spec messaging_destination_publish_anonymous() ::
:"messaging.destination_publish.anonymous"
@spec messaging_destination_publish_name() :: :"messaging.destination_publish.name"
@spec messaging_destination_subscription_name() ::
:"messaging.destination.subscription.name"
The name of the destination subscription from which a message is consumed.
Value type
Value must be of type atom() | String.t()
.
Notes
Semantic conventions for individual messaging systems SHOULD document whether messaging.destination.subscription.name
is applicable and what it means in the context of that system.
Examples
["subscription-a"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_subscription_name()
:"messaging.destination.subscription.name"
?MESSAGING_DESTINATION_SUBSCRIPTION_NAME.
'messaging.destination.subscription.name'
@spec messaging_destination_template() :: :"messaging.destination.template"
Low cardinality representation of the messaging destination name
Value type
Value must be of type atom() | String.t()
.
Notes
Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
Examples
["/customers/{customerId}"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_template()
:"messaging.destination.template"
?MESSAGING_DESTINATION_TEMPLATE.
'messaging.destination.template'
@spec messaging_destination_temporary() :: :"messaging.destination.temporary"
A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
Value type
Value must be of type boolean()
.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_destination_temporary()
:"messaging.destination.temporary"
?MESSAGING_DESTINATION_TEMPORARY.
'messaging.destination.temporary'
@spec messaging_eventhubs_consumer_group() :: :"messaging.eventhubs.consumer.group"
@spec messaging_eventhubs_message_enqueued_time() ::
:"messaging.eventhubs.message.enqueued_time"
The UTC epoch seconds at which the message has been accepted and stored in the entity.
Value type
Value must be of type integer()
.
Examples
1701393730
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_eventhubs_message_enqueued_time()
:"messaging.eventhubs.message.enqueued_time"
?MESSAGING_EVENTHUBS_MESSAGE_ENQUEUED_TIME.
'messaging.eventhubs.message.enqueued_time'
@spec messaging_gcp_pubsub_message_ack_deadline() ::
:"messaging.gcp_pubsub.message.ack_deadline"
The ack deadline in seconds set for the modify ack deadline request.
Value type
Value must be of type integer()
.
Examples
10
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_gcp_pubsub_message_ack_deadline()
:"messaging.gcp_pubsub.message.ack_deadline"
?MESSAGING_GCP_PUBSUB_MESSAGE_ACK_DEADLINE.
'messaging.gcp_pubsub.message.ack_deadline'
@spec messaging_gcp_pubsub_message_ack_id() :: :"messaging.gcp_pubsub.message.ack_id"
The ack id for a given message.
Value type
Value must be of type atom() | String.t()
.
Examples
ack_id
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_gcp_pubsub_message_ack_id()
:"messaging.gcp_pubsub.message.ack_id"
?MESSAGING_GCP_PUBSUB_MESSAGE_ACK_ID.
'messaging.gcp_pubsub.message.ack_id'
@spec messaging_gcp_pubsub_message_delivery_attempt() ::
:"messaging.gcp_pubsub.message.delivery_attempt"
The delivery attempt for a given message.
Value type
Value must be of type integer()
.
Examples
2
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_gcp_pubsub_message_delivery_attempt()
:"messaging.gcp_pubsub.message.delivery_attempt"
?MESSAGING_GCP_PUBSUB_MESSAGE_DELIVERY_ATTEMPT.
'messaging.gcp_pubsub.message.delivery_attempt'
@spec messaging_gcp_pubsub_message_ordering_key() ::
:"messaging.gcp_pubsub.message.ordering_key"
The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
Value type
Value must be of type atom() | String.t()
.
Examples
ordering_key
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_gcp_pubsub_message_ordering_key()
:"messaging.gcp_pubsub.message.ordering_key"
?MESSAGING_GCP_PUBSUB_MESSAGE_ORDERING_KEY.
'messaging.gcp_pubsub.message.ordering_key'
@spec messaging_kafka_consumer_group() :: :"messaging.kafka.consumer.group"
@spec messaging_kafka_destination_partition() ::
:"messaging.kafka.destination.partition"
@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.
Value type
Value must be of type atom() | String.t()
.
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.
Examples
myKey
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_kafka_message_key()
:"messaging.kafka.message.key"
?MESSAGING_KAFKA_MESSAGE_KEY.
'messaging.kafka.message.key'
@spec messaging_kafka_message_offset() :: :"messaging.kafka.message.offset"
@spec messaging_kafka_message_tombstone() :: :"messaging.kafka.message.tombstone"
A boolean that is true if the message is a tombstone.
Value type
Value must be of type boolean()
.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_kafka_message_tombstone()
:"messaging.kafka.message.tombstone"
?MESSAGING_KAFKA_MESSAGE_TOMBSTONE.
'messaging.kafka.message.tombstone'
@spec messaging_kafka_offset() :: :"messaging.kafka.offset"
The offset of a record in the corresponding Kafka partition.
Value type
Value must be of type integer()
.
Examples
42
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_kafka_offset()
:"messaging.kafka.offset"
?MESSAGING_KAFKA_OFFSET.
'messaging.kafka.offset'
@spec messaging_message_body_size() :: :"messaging.message.body.size"
The size of the message body in bytes.
Value type
Value must be of type integer()
.
Notes
This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
body size should be used.
Examples
1439
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_message_body_size()
:"messaging.message.body.size"
?MESSAGING_MESSAGE_BODY_SIZE.
'messaging.message.body.size'
@spec messaging_message_conversation_id() :: :"messaging.message.conversation_id"
The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
Value type
Value must be of type atom() | String.t()
.
Examples
MyConversationId
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_message_conversation_id()
:"messaging.message.conversation_id"
?MESSAGING_MESSAGE_CONVERSATION_ID.
'messaging.message.conversation_id'
@spec messaging_message_envelope_size() :: :"messaging.message.envelope.size"
The size of the message body and metadata in bytes.
Value type
Value must be of type integer()
.
Notes
This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
size should be used.
Examples
2738
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_message_envelope_size()
:"messaging.message.envelope.size"
?MESSAGING_MESSAGE_ENVELOPE_SIZE.
'messaging.message.envelope.size'
@spec messaging_message_id() :: :"messaging.message.id"
A value used by the messaging system as an identifier for the message, represented as a string.
Value type
Value must be of type atom() | String.t()
.
Examples
452a7c7c7c7048c2f887f61572b18fc2
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_message_id()
:"messaging.message.id"
?MESSAGING_MESSAGE_ID.
'messaging.message.id'
@spec messaging_operation() :: :"messaging.operation"
@spec messaging_operation_name() :: :"messaging.operation.name"
The system-specific name of the messaging operation.
Value type
Value must be of type atom() | String.t()
.
Examples
["ack", "nack", "send"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_operation_name()
:"messaging.operation.name"
?MESSAGING_OPERATION_NAME.
'messaging.operation.name'
@spec messaging_operation_type() :: :"messaging.operation.type"
A string identifying the type of the messaging operation.
Notes
If a custom value is used, it MUST be of low cardinality.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_operation_type()
:"messaging.operation.type"
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_operation_type_values().publish
:publish
iex> %{OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_operation_type() => OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_operation_type_values().publish}
%{:"messaging.operation.type" => :publish}
?MESSAGING_OPERATION_TYPE.
'messaging.operation.type'
?MESSAGING_OPERATION_TYPE_VALUES_PUBLISH.
'publish'
#{?MESSAGING_OPERATION_TYPE => ?MESSAGING_OPERATION_TYPE_VALUES_PUBLISH}.
#{'messaging.operation.type' => 'publish'}
@spec messaging_operation_type_values() :: messaging_operation_type_values()
@spec messaging_rabbitmq_destination_routing_key() ::
:"messaging.rabbitmq.destination.routing_key"
RabbitMQ message routing key.
Value type
Value must be of type atom() | String.t()
.
Examples
myKey
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rabbitmq_destination_routing_key()
:"messaging.rabbitmq.destination.routing_key"
?MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY.
'messaging.rabbitmq.destination.routing_key'
@spec messaging_rabbitmq_message_delivery_tag() ::
:"messaging.rabbitmq.message.delivery_tag"
RabbitMQ message delivery tag
Value type
Value must be of type integer()
.
Examples
123
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rabbitmq_message_delivery_tag()
:"messaging.rabbitmq.message.delivery_tag"
?MESSAGING_RABBITMQ_MESSAGE_DELIVERY_TAG.
'messaging.rabbitmq.message.delivery_tag'
@spec messaging_rocketmq_client_group() :: :"messaging.rocketmq.client_group"
@spec messaging_rocketmq_consumption_model() ::
:"messaging.rocketmq.consumption_model"
Model of message consumption. This only applies to consumer spans.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_consumption_model()
:"messaging.rocketmq.consumption_model"
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_consumption_model_values().clustering
:clustering
iex> %{OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_consumption_model() => OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_consumption_model_values().clustering}
%{:"messaging.rocketmq.consumption_model" => :clustering}
?MESSAGING_ROCKETMQ_CONSUMPTION_MODEL.
'messaging.rocketmq.consumption_model'
?MESSAGING_ROCKETMQ_CONSUMPTION_MODEL_VALUES_CLUSTERING.
'clustering'
#{?MESSAGING_ROCKETMQ_CONSUMPTION_MODEL => ?MESSAGING_ROCKETMQ_CONSUMPTION_MODEL_VALUES_CLUSTERING}.
#{'messaging.rocketmq.consumption_model' => 'clustering'}
@spec messaging_rocketmq_consumption_model_values() :: messaging_rocketmq_consumption_model_values()
@spec messaging_rocketmq_message_delay_time_level() ::
:"messaging.rocketmq.message.delay_time_level"
The delay time level for delay message, which determines the message delay time.
Value type
Value must be of type integer()
.
Examples
3
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_delay_time_level()
:"messaging.rocketmq.message.delay_time_level"
?MESSAGING_ROCKETMQ_MESSAGE_DELAY_TIME_LEVEL.
'messaging.rocketmq.message.delay_time_level'
@spec messaging_rocketmq_message_delivery_timestamp() ::
:"messaging.rocketmq.message.delivery_timestamp"
The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
Value type
Value must be of type integer()
.
Examples
1665987217045
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_delivery_timestamp()
:"messaging.rocketmq.message.delivery_timestamp"
?MESSAGING_ROCKETMQ_MESSAGE_DELIVERY_TIMESTAMP.
'messaging.rocketmq.message.delivery_timestamp'
@spec messaging_rocketmq_message_group() :: :"messaging.rocketmq.message.group"
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.
Value type
Value must be of type atom() | String.t()
.
Examples
myMessageGroup
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_group()
:"messaging.rocketmq.message.group"
?MESSAGING_ROCKETMQ_MESSAGE_GROUP.
'messaging.rocketmq.message.group'
@spec messaging_rocketmq_message_keys() :: :"messaging.rocketmq.message.keys"
Key(s) of message, another way to mark message besides message id.
Value type
Value must be of type [atom() | String.t()]
.
Examples
["keyA", "keyB"]
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_keys()
:"messaging.rocketmq.message.keys"
?MESSAGING_ROCKETMQ_MESSAGE_KEYS.
'messaging.rocketmq.message.keys'
@spec messaging_rocketmq_message_tag() :: :"messaging.rocketmq.message.tag"
The secondary classifier of message besides topic.
Value type
Value must be of type atom() | String.t()
.
Examples
tagA
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_tag()
:"messaging.rocketmq.message.tag"
?MESSAGING_ROCKETMQ_MESSAGE_TAG.
'messaging.rocketmq.message.tag'
@spec messaging_rocketmq_message_type() :: :"messaging.rocketmq.message.type"
Type of message.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_type()
:"messaging.rocketmq.message.type"
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_type_values().normal
:normal
iex> %{OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_type() => OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_message_type_values().normal}
%{:"messaging.rocketmq.message.type" => :normal}
?MESSAGING_ROCKETMQ_MESSAGE_TYPE.
'messaging.rocketmq.message.type'
?MESSAGING_ROCKETMQ_MESSAGE_TYPE_VALUES_NORMAL.
'normal'
#{?MESSAGING_ROCKETMQ_MESSAGE_TYPE => ?MESSAGING_ROCKETMQ_MESSAGE_TYPE_VALUES_NORMAL}.
#{'messaging.rocketmq.message.type' => 'normal'}
@spec messaging_rocketmq_message_type_values() :: messaging_rocketmq_message_type_values()
@spec messaging_rocketmq_namespace() :: :"messaging.rocketmq.namespace"
Namespace of RocketMQ resources, resources in different namespaces are individual.
Value type
Value must be of type atom() | String.t()
.
Examples
myNamespace
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_rocketmq_namespace()
:"messaging.rocketmq.namespace"
?MESSAGING_ROCKETMQ_NAMESPACE.
'messaging.rocketmq.namespace'
@spec messaging_servicebus_destination_subscription_name() ::
:"messaging.servicebus.destination.subscription_name"
@spec messaging_servicebus_disposition_status() ::
:"messaging.servicebus.disposition_status"
Describes the settlement type.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_disposition_status()
:"messaging.servicebus.disposition_status"
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_disposition_status_values().complete
:complete
iex> %{OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_disposition_status() => OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_disposition_status_values().complete}
%{:"messaging.servicebus.disposition_status" => :complete}
?MESSAGING_SERVICEBUS_DISPOSITION_STATUS.
'messaging.servicebus.disposition_status'
?MESSAGING_SERVICEBUS_DISPOSITION_STATUS_VALUES_COMPLETE.
'complete'
#{?MESSAGING_SERVICEBUS_DISPOSITION_STATUS => ?MESSAGING_SERVICEBUS_DISPOSITION_STATUS_VALUES_COMPLETE}.
#{'messaging.servicebus.disposition_status' => 'complete'}
@spec messaging_servicebus_disposition_status_values() :: messaging_servicebus_disposition_status_values()
@spec messaging_servicebus_message_delivery_count() ::
:"messaging.servicebus.message.delivery_count"
Number of deliveries that have been attempted for this message.
Value type
Value must be of type integer()
.
Examples
2
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_message_delivery_count()
:"messaging.servicebus.message.delivery_count"
?MESSAGING_SERVICEBUS_MESSAGE_DELIVERY_COUNT.
'messaging.servicebus.message.delivery_count'
@spec messaging_servicebus_message_enqueued_time() ::
:"messaging.servicebus.message.enqueued_time"
The UTC epoch seconds at which the message has been accepted and stored in the entity.
Value type
Value must be of type integer()
.
Examples
1701393730
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_servicebus_message_enqueued_time()
:"messaging.servicebus.message.enqueued_time"
?MESSAGING_SERVICEBUS_MESSAGE_ENQUEUED_TIME.
'messaging.servicebus.message.enqueued_time'
@spec messaging_system() :: :"messaging.system"
The messaging system as identified by the client instrumentation.
Notes
The actual messaging system may differ from the one known by the client. For example, when using Kafka client libraries to communicate with Azure Event Hubs, the messaging.system
is set to kafka
based on the instrumentation's best knowledge.
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_system()
:"messaging.system"
iex> OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_system_values().activemq
:activemq
iex> %{OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_system() => OpenTelemetry.SemConv.Incubating.MessagingAttributes.messaging_system_values().activemq}
%{:"messaging.system" => :activemq}
?MESSAGING_SYSTEM.
'messaging.system'
?MESSAGING_SYSTEM_VALUES_ACTIVEMQ.
'activemq'
#{?MESSAGING_SYSTEM => ?MESSAGING_SYSTEM_VALUES_ACTIVEMQ}.
#{'messaging.system' => 'activemq'}
@spec messaging_system_values() :: messaging_system_values()