You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: bump semconvgen from 0.4.1 -> 0.11.1
I couldn't find any huge changes from the release notes; it seems the
generated wording was improved in some cases. Regardless, let us not
drift too far behind.
* feat!: update for semantic conventions @ v1.10.0
The most notable thing here is that the delta between 1.8.0 and 1.10.0
results in a few fields going away. This will be a breaking change for
anyone who happens to be depending upon these fields:
- `DB_CASSANDRA_KEYSPACE`
- `DB_HBASE_NAMESPACE`
Users should instead use `DB_NAME`, according to
[open-telemetry/opentelemetry-specification#1973](open-telemetry/opentelemetry-specification#1973).
Otherwise, we get the standard deal:
- A plethora of new, exciting fields!
- Reworded explanatory text!
Overall, not a terribly exciting change, but we must often take joy in
the small things, and I choose to do so here!
Co-authored-by: Francis Bogsanyi <[email protected]>
Copy file name to clipboardExpand all lines: semantic_conventions/lib/opentelemetry/semantic_conventions/resource.rb
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -91,6 +91,10 @@ module Resource
91
91
# @note It's recommended this value represents a human readable version of the device model rather than a machine readable alternative
92
92
DEVICE_MODEL_NAME='device.model.name'
93
93
94
+
# The name of the device manufacturer
95
+
# @note The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`
96
+
DEVICE_MANUFACTURER='device.manufacturer'
97
+
94
98
# The name of the single function that this runtime instance executes
95
99
# @note This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) span attributes)
# The [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) contains a value describing the type of event related to the originating occurrence
24
+
CLOUDEVENTS_EVENT_TYPE='cloudevents.event_type'
25
+
26
+
# The [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject) of the event in the context of the event producer (identified by source)
# @note The causal relationship between a child Span and a parent Span
31
+
OPENTRACING_REF_TYPE='opentracing.ref_type'
32
+
14
33
# An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers
15
34
DB_SYSTEM='db.system'
16
35
@@ -23,8 +42,8 @@ module Trace
23
42
# The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect
# If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, 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)
27
-
# @note In some SQL databases, the database name to be used is called "schema name"
45
+
# 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)
46
+
# @note 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)
28
47
DB_NAME='db.name'
29
48
30
49
# The database statement being executed
@@ -51,16 +70,13 @@ module Trace
51
70
# @note If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard)
52
71
DB_MSSQL_INSTANCE_NAME='db.mssql.instance_name'
53
72
54
-
# The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute
55
-
DB_CASSANDRA_KEYSPACE='db.cassandra.keyspace'
56
-
57
73
# The fetch size used for paging, i.e. how many rows will be returned at once
58
74
DB_CASSANDRA_PAGE_SIZE='db.cassandra.page_size'
59
75
60
76
# The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html)
# The name of the primary table that the operation is acting upon, including the schema name (if applicable)
79
+
# The name of the primary table that the operation is acting upon, including the keyspace name (if applicable)
64
80
# @note 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
65
81
DB_CASSANDRA_TABLE='db.cassandra.table'
66
82
@@ -76,16 +92,13 @@ module Trace
76
92
# The data center of the coordinating node for a query
# The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute
80
-
DB_HBASE_NAMESPACE='db.hbase.namespace'
81
-
82
95
# The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute
83
96
DB_REDIS_DATABASE_INDEX='db.redis.database_index'
84
97
85
98
# The collection being accessed within the database stated in `db.name`
86
99
DB_MONGODB_COLLECTION='db.mongodb.collection'
87
100
88
-
# The name of the primary table that the operation is acting upon, including the schema name (if applicable)
101
+
# The name of the primary table that the operation is acting upon, including the database name (if applicable)
89
102
# @note 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
90
103
DB_SQL_TABLE='db.sql.table'
91
104
@@ -109,15 +122,24 @@ module Trace
109
122
# whether it will escape the scope of a span.
110
123
# However, it is trivial to know that an exception
111
124
# will escape, if one checks for an active exception just before ending the span,
112
-
# as done in the [example above](#exception-end-example).
125
+
# as done in the [example above](#recording-an-exception).
113
126
#
114
127
# It follows that an exception may still escape the scope of the span
115
128
# even if the `exception.escaped` attribute was not set or set to false,
116
129
# since the event might have been recorded at a time where it was not
117
130
# clear whether the exception will escape
118
131
EXCEPTION_ESCAPED='exception.escaped'
119
132
120
-
# Type of the trigger on which the function is executed
133
+
# Type of the trigger which caused this function execution
134
+
# @note For the server/consumer span on the incoming side,
135
+
# `faas.trigger` MUST be set.
136
+
#
137
+
# Clients invoking FaaS instances usually cannot set `faas.trigger`,
138
+
# since they would typically need to look in the payload to determine
139
+
# the event type. If clients set it, it should be the same as the
140
+
# trigger that corresponding incoming would have (i.e., this has
141
+
# nothing to do with the underlying transport used to make the API
142
+
# call to invoke the lambda, which is often HTTP)
121
143
FAAS_TRIGGER='faas.trigger'
122
144
123
145
# The execution ID of the current function execution
@@ -145,7 +167,8 @@ module Trace
145
167
# The full request target as passed in a HTTP request line or equivalent
146
168
HTTP_TARGET='http.target'
147
169
148
-
# The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is empty or not present, this attribute should be the same
170
+
# The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). An empty Host header should also be reported, see note
171
+
# @note When the header is present but empty the attribute SHOULD be set to the empty string. Note that this is a valid situation that is expected in certain cases, according the aforementioned [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is not set the attribute MUST NOT be set
149
172
HTTP_HOST='http.host'
150
173
151
174
# The URI scheme identifying the used protocol
@@ -173,6 +196,9 @@ module Trace
173
196
# The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used
# The ordinal number of request re-sending attempt
200
+
HTTP_RETRY_COUNT='http.retry_count'
201
+
176
202
# The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead)
177
203
# @note `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus preferred to supply the raw data that is available
178
204
HTTP_SERVER_NAME='http.server_name'
@@ -181,7 +207,17 @@ module Trace
181
207
HTTP_ROUTE='http.route'
182
208
183
209
# The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For))
184
-
# @note This is not necessarily the same as `net.peer.ip`, which would identify the network-level peer, which may be a proxy
210
+
# @note This is not necessarily the same as `net.peer.ip`, which would
211
+
# identify the network-level peer, which may be a proxy.
212
+
#
213
+
# This attribute should be set when a source of information different
214
+
# from the one used for `net.peer.ip`, is available even if that other
215
+
# source just confirms the same value as `net.peer.ip`.
216
+
# Rationale: For `net.peer.ip`, one typically does not know if it
217
+
# comes from a proxy, reverse proxy, or the actual client. Setting
218
+
# `http.client_ip` when it's the same as `net.peer.ip` means that
219
+
# one is at least somewhat confident that the address is not that of
220
+
# the closest proxy
185
221
HTTP_CLIENT_IP='http.client_ip'
186
222
187
223
# Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host
@@ -375,6 +411,9 @@ module Trace
375
411
# A string identifying the kind of message consumption as defined in the [Operation names](#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
376
412
MESSAGING_OPERATION='messaging.operation'
377
413
414
+
# 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
0 commit comments