62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
<!--- Hugo front matter used to generate the website version of this page:
|
|
linkTitle: Google Cloud Pub/Sub
|
|
--->
|
|
|
|
# Semantic Conventions for Google Cloud Pub/Sub
|
|
|
|
**Status**: [Experimental][DocumentStatus]
|
|
|
|
The Semantic Conventions for [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) extend and override the [Messaging Semantic Conventions](README.md) that describe common messaging operations attributes in addition to the Semantic Conventions described on this page.
|
|
|
|
`messaging.system` MUST be set to `"gcp_pubsub"`.
|
|
|
|
## Span attributes
|
|
|
|
For Google Cloud Pub/Sub, the following additional attributes are defined:
|
|
|
|
<!-- semconv messaging.gcp_pubsub(full,tag=tech-specific) -->
|
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
|
|---|---|---|---|---|---|
|
|
| [`messaging.gcp_pubsub.message.ordering_key`](../attributes-registry/messaging.md) | string | The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. | `ordering_key` | `Conditionally Required` If the message type has an ordering key set. |  |
|
|
<!-- endsemconv -->
|
|
|
|
## Examples
|
|
|
|
### Asynchronous Batch Publish Example
|
|
|
|
Given is a process P that asynchronously publishes 2 messages in a batch to a topic T on Pub/Sub.
|
|
|
|
```mermaid
|
|
flowchart LR;
|
|
subgraph PRODUCER
|
|
direction LR
|
|
CA[Span Create A]
|
|
CB[Span Create B]
|
|
P[Span Publish A B]
|
|
end
|
|
CA-. link .-P;
|
|
CB-. link .-P;
|
|
|
|
classDef producer fill:green
|
|
class P,CA,CB producer
|
|
classDef normal fill:green
|
|
class PA,PB,D1 normal
|
|
linkStyle 0,1 color:green,stroke:green
|
|
```
|
|
|
|
| Field or Attribute | Span Create A | Span Create B | Span Publish A B |
|
|
|-|-|-|-|
|
|
| Span name | `T create` | `T create` | `publish` |
|
|
| Parent | | | |
|
|
| Links | | | Span Create A, Span Create B |
|
|
| SpanKind | `PRODUCER` | `PRODUCER` | `CLIENT` |
|
|
| Status | `Ok` | `Ok` | `Ok` |
|
|
| `messaging.batch.message_count` | | | 2 |
|
|
| `messaging.destination.name` | `"T"` | `"T"` | `"T"` |
|
|
| `messaging.operation` | `"create"` | `"create"` | `"publish"` |
|
|
| `messaging.message.id` | `"a1"` | `"a2"` | |
|
|
| `messaging.message.envelope.size` | `1` | `1` | |
|
|
| `messaging.system` | `"gcp_pubsub"` | `"gcp_pubsub"` | `"gcp_pubsub"` |
|
|
|
|
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
|