package solace.messaging.proto.broker.trace.receive.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message SpanData

receive_v1.proto:26

A message will be compatible with this specification if its topic matches: _telemetry/broker/trace/receive/v1[/additional/topic/levels] Note that the topic above allows for additional topic levels to be added in the future. Receiving clients must not assume there are no additional topic levels. This message describes telemetry data that a Solace PubSub+ broker captures when a received message is identified as a message to be traced. Fields with names that end in "time_unix_nano" are 64-bit timestamps, in nanoseconds, since midnight, Jan. 1, 1970 UTC. Notes on the field numbers used: - Field numbers 1-15 are used for attributes that are expected to be present on the wire with every single message not containing an error_description. Special priority is given to fields that can be repeated. - Field numbers 16+ are used for other attributes. Next available field ID: 40

enum SpanData.DeliveryMode

receive_v1.proto:201

Used in: SpanData

message SpanData.EnqueueEvent

receive_v1.proto:331

An enqueue event represents the broker's decision to enqueue a message when processing a received message. If there is no error_description, the broker has successfully processed the message and the enqueue events indicate where the message has been enqueued. The presence of an error_description indicates the message will not be enqueued to dest even though the message matched the destination. If rejects_all_enqueues is set, it means the message is not enqueued to any destinations, regardless of what other enqueue events may indicate and the message is rejected.

Used in: SpanData

message SpanData.TransactionEvent

receive_v1.proto:255

When a message has a transaction event, it indicates the message is part of a transaction. The timestamp indicates when the *initial* decision was made for this particular message as part of the transaction operation. It doesn't indicate the final state of the transaction. This isn't known until all messages that are part of the transaction have been processed. Note it is possible that, for example, after deciding a message will be committed that a subsequent message in the transaction will cause the transaction to fail. This will result in a successful receive span with a COMMIT transaction event with no error. The fact that the message is not successfully processed will be indicated by a child span of this span. At the current time, these subsequent spans are not yet generated and will be added in a future release. In the meantime, the transaction_id can be used to find out if there were any errored messages in the transaction. A single errored message indicates the entire transaction failed. Also note that since the receive span is only generated either on commit or when the message is discarded, certain transaction operations are only observed in failed receive spans. For example, when XA End or XA Prepare operations succeed, the message is neither discarded nor committed. It is only if these operations fail that the transaction is rolled back and an errored receive span is generated.

Used in: SpanData

enum SpanData.TransactionEvent.Initiator

receive_v1.proto:296

Used in: TransactionEvent

message SpanData.TransactionEvent.LocalTransactionId

receive_v1.proto:309

Used in: TransactionEvent

enum SpanData.TransactionEvent.Type

receive_v1.proto:257

Used in: TransactionEvent

message SpanData.TransactionEvent.Xid

receive_v1.proto:303

Used in: TransactionEvent

message SpanData.UserPropertyValue

receive_v1.proto:207

Used in: SpanData