Commit Graph

94 Commits

Author SHA1 Message Date
Trask Stalnaker d31b014b1f
Make `url.query` conditionally required for HTTP spans (#118) 2023-06-19 10:34:08 -07:00
Liudmila Molkova 614dbefc77 BREAKING: Introduce common `url.*` attributes, and improve use of namespacing under `http.*` (#3355) 2023-05-08 19:55:53 -07:00
Trask Stalnaker 9e3e528ccc BREAKING: Rename remaining network attributes from `net.*` to `network.*` and align definitions with ECS (#3426) 2023-05-08 17:46:55 -07:00
Liudmila Molkova 5b8861e8c5 BREAKING: Replace `net.peer.*`/`net.host.*` with `client.*`/`server.*` (and `source.*`/`destination.*`) (#3402) 2023-05-08 16:19:51 -07:00
Johannes Tax 15f3e529f1 BREAKING: Remove `messaging.consumer.id`, make `messaging.client_id` generic (#3336)
Fixes #2015

## Changes

Based on discussions in the messaging workgroup and in issue #2015, this
PR proposes to remove `messaging.consumer.id`, and to replace both
`messaging.kafka.client_id` and `messaging.rocketmq.client_id` with a
generic `messaging.client_id`.

`messaging.consumer.id` is defined to always be set to the `client_id`
of the used messaging system, except for Kafka, where it was defined to
be a combination of `messaging.kafka.client_id` and
`messaging.kafka.consumer.group`, or just the latter if
`messaging.kafka.client_id` is not available. With this definition, the
semantics of `consumer.id` are different between messaging systems, and
even different for different Kafka scenarios.

The proposed `messaging.client_id` has consistent semantics ("an unique
client id, when it is available"), and can be used instead of
`messaging.consumer.id` in almost all cases.

In addition to have consistent semantics, this also simplifies the
semantic conventions, as instead of

`messaging.consumer.id`
`messaging.kafka.client_id`
`messaging.rocketmq.client_id`

there is now just:

`messaging.client_id`.
2023-04-24 17:13:21 -06:00
avzis 46e47de82d Change `db.statement` to only be collected if there is sanitization (#3127) 2023-04-06 10:35:33 -07:00
Trask Stalnaker 189cb12e7a Add warning about net.* attributes which are used by HTTP semconv (#3278)
Fixes #3260

(a first try at least)

## Changes

Splits `net.*` attributes into two sections, and adds this warning to
the attributes in the first section:

> **Warning** Most of the attributes in this section are in use by the
HTTP semantic conventions.
Once the HTTP semantic conventions are declared stable, changes to the
attributes in this section will only be allowed
if they do not cause breaking changes to HTTP semantic conventions.

Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
Co-authored-by: Carlos Alberto Cortez <calberto.cortez@gmail.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
2023-04-06 10:05:07 -04:00
David Phillips 7138e40aec Add Trino to db.system semantic conventions (#3347) 2023-04-05 21:07:06 +02:00
Sourabh Jain e857d8146d Cosmos DB attributes: fixes UserAgent description (#3338) 2023-03-29 09:44:40 -07:00
Alexander Wert efa4181f83 Added AWS S3 semantic conventions (#3251) 2023-03-22 08:29:16 -07:00
Sourabh Jain 006e3b4091 Add Cosmosdb attributes for open telemetry (#3097) 2023-03-21 10:49:17 -07:00
Liudmila Molkova 139842c9e0 BREAKING: remove messaging.destination.kind and messaging.source.kind values (#3214)
Fixes #3170, #3265, #3249

## Changes

~~We currently allow `topic` or `queue` on `messaging.destination.kind`.
While it's common in messaging world to have one or another, messaging
semantic conventions can be applied to AMPQ communication (which does
not have topic/queue terminology), [socket.io](https://socket.io/), and
potentially other less traditional messaging use-cases.~~

It's unclear how `messaging.destination.kind` and
`messaging.source.kind` could be used. The distinction between queue and
topic is significant for messaging and distributed systems, but not for
tracing.

In either case, tracing backends should expect to process traces from 0+
messaging and 0+ messaging consumers. In either case, message consumers
can be simultaneous or consequent and there could be many of them.

The only known case (Solace) where it could be useful is when messaging
system allows having queues and topic with the same name on the same
broker, and it could be used to distinguish one from another.

Based on messaging SIG discussion, the attributes are removed for the
time being until we understand if and how they are useful.

Depending on messaging system queues or topics behavior vary a lot and
in future it would makes more sense to represent actual behavior with
individual attributes such as:
- auto-settlement (at-most-once or at least once guarantees)
- settlement for individual messages or offsets
- broadcast or unicast
- etc
2023-03-21 10:51:55 -06:00
Trask Stalnaker b7e8b54419 BREAKING rename `net.app.protocol.(name|version)` to `net.protocol.(name|version)` and replace `http.flavor` with `net.protocol.(name|version)` (#3272) 2023-03-10 10:15:15 -08:00
Jamie Danielson 40a91717ba Show relationship between http target and route in example usage (#3292)
## Changes

Clarify relationship between `http.target` and `http.route` by using the
same pattern in the example usage. Having different patterns for the
attribute values distorts the relationship between the two attributes.

A similar pattern is seen in the docs for
[`aws-lambda.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/instrumentation/aws-lambda.md#api-gateway-request-proxy-lambda-tracing-passive),
where `http.target` is `/pets/10` and `http.route` is `/pets/{petId}`.
It's a minor adjustment but should help provide clarity for new users.

---------

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2023-03-08 09:12:28 -08:00
Trask Stalnaker 489fea52c8 net.peer.name clarification for HTTP client semconv (#3276)
Fixes #3273

## Changes

Clarifies that if an HTTP client request is explicitly made to an IP
address, e.g. `http://x.x.x.x:8080`, then
`net.peer.name` SHOULD be the IP address `x.x.x.x`.
2023-03-06 09:33:35 -06:00
Trask Stalnaker c9ff781e94 Make net.sock.host.port conditionally required (#3246) 2023-03-02 14:01:52 -08:00
Trask Stalnaker 6d7b233c80 Rename http.user_agent to user_agent.original (#3190)
Fixes #3180

## Changes

Renames `http.user_agent` to `user_agent.original`.
2023-03-02 14:47:29 -06:00
Trask Stalnaker 47cabcf799 Rename Optional attribute requirement level to Opt-In (#3228) 2023-03-01 15:13:24 -08:00
Tyler Benson 2447fb063f Expand scope of `faas.id` to `cloud.resource_id` (#3188)
## Changes
As per the discussion on #3188, we determined it is better to move
rather than remove as this attribute is still important for some systems
despite it containing duplicated information.
2023-02-27 12:13:13 -06:00
Joshua Carpeggiani 0f2a834cda Add Connect RPC to semantic conventions (#3116)
* Add connect_rpc to rpc.yaml

* Add connect rpc into rpc-metrics and rpc markdown

* Add Connect RPC change to CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
2023-02-21 09:50:35 -05:00
Tyler Benson 0d0b9d0a7d Rename `faas.execution` to `faas.invocation_id` and change units for `faas.max_memory` (#3209) 2023-02-20 09:29:24 -06:00
Liudmila Molkova 3a0a197f4c Use attribute_group for cross-signal HTTP attributes (#3183) 2023-02-13 16:00:14 -08:00
Trask Stalnaker 2165c692f9 Http route should contain application root (#3164) 2023-02-06 12:50:01 -08:00
Michael Murphy b45d32f1ed Add cloud spanner and mssql compact to db specifications (#3105) 2023-01-23 16:18:51 -06:00
v-electrolux 708df51809 Add ClickHouse in the database group (#3011) 2023-01-03 19:40:09 -06:00
jordigh 4de43114a4 Suggest column # as an extra source code attribute (#3029) 2023-01-02 18:01:32 -06:00
Liudmila Molkova a7ede6fbfa Refactor messaging attributes and specify per-message attributes (#2957) 2022-12-22 17:04:53 -06:00
Michael Beemer 0adf032cf1 Add feature flagging semantic conventions (#2529) 2022-12-01 12:13:48 -08:00
Mateusz Rzeszutek e37e300610 Add `messaging.kafka.message.offset` attribute (#2982) 2022-12-01 19:21:38 +01:00
Aaron Ai 63343b5fbb Add more semantic convention attributes for Apache RocketMQ (#2881) 2022-11-08 16:48:17 +01:00
Bogdan Drutu bfda5b34b7 Define semantic conventions yaml for non-otlp conventions (#2850)
* Define semantic conventions yaml for non-otlp conventions

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Update semantic_conventions/trace/exporter/exporter.yaml

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update semantic_conventions/scope/exporter/exporter.yaml

Co-authored-by: Joao Grassi <joao@joaograssi.com>

* Rename otel to otel_span

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
Co-authored-by: Joao Grassi <joao@joaograssi.com>
2022-10-25 08:46:06 -07:00
Mateusz Rzeszutek 34093ed204 Clarify the HTTP client `http.retry_count` spec (#2743) 2022-10-18 10:46:16 -07:00
Mikel Blanchard 3ce713d52b [Logs] Add semantic conventions for writing exceptions (#2819) 2022-09-29 21:38:40 -07:00
sharp-pixel c26020299c Add OpenSearch in the database group (#2718) 2022-08-11 20:40:03 +02:00
Liudmila Molkova 298c566cf9 Remove alternative attribute sets from HTTP semantic conventions (#2469) 2022-07-27 11:31:21 -07:00
Nathan Stocks 6a3df0d52d Add 'type' to all groups (#2693) 2022-07-27 11:30:47 +02:00
Liudmila Molkova 216beba6cc Define net.sock attributes and clarify logical net.peer|host.name attributes (#2614) 2022-07-13 10:01:44 -07:00
Liudmila Molkova 31a6ecd386 FaaS conventions: make faas.document.time and faas.time attributes recommended (#2627) 2022-06-28 16:38:13 +02:00
Liudmila Molkova d27ed53892 cloudevents: relax requirement level for type and version (#2618) 2022-06-21 13:29:53 +02:00
Lauri Tulmin 9448396526 Add semantic conventions for GraphQL (#2456)
Add semantic conventions for GraphQL span name and attributes.

Related issues #1670
2022-06-15 15:09:08 -04:00
Liudmila Molkova 3f7b7d02f9 Adopt attribute requirement levels in semantic conventions (#2594) 2022-06-14 08:02:55 -07:00
Johannes Tax 35b2b57587 Add semantic convention attributes for capturing the application layer protocol (#2602) 2022-06-10 19:09:54 -07:00
ladd 6d6aa8df6e Add HTTP/3 (#2507) 2022-04-27 14:09:05 -07:00
Trask Stalnaker 33b2703c32 Add net.host.name and net.host.ip to rpc server (#2447) 2022-04-01 22:40:05 -07:00
Trask Stalnaker fc0090a6ef Move net.peer.name from http common to http client (#2446) 2022-04-01 22:29:15 -07:00
Trask Stalnaker 7c1aa90f27 Add rpc.system value for Apache Dubbo (#2453)
* Add rpc.system value for Apache Dubbo

* Generate table
2022-03-30 15:21:53 -07:00
Reiley Yang 2d4de7fdf2 Fix links (#2426) 2022-03-21 23:05:45 -07:00
Joao Grassi 003dee810b Introduce new semantic conventions for CloudEvents (#1978)
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Johannes Tax <johannes@johannes.tax>
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
2022-03-10 19:11:32 +01:00
Denis Ivanov 20fda6a90e Define span structure for HTTP retries and redirects (#2078)
This PR clarifies semantic conventions for HTTP retries and redirects and defines a span structure and linking as well as span attributes for retries. Changes were discussed recently at Instrumentation SIG meetings.

This change addresses a scenario which is in the scope for bringing the existing HTTP semantic conventions for tracing to an initial stable state, see related [otep #174](https://github.com/open-telemetry/oteps/pull/174).
2022-03-08 20:22:45 -05:00
Trask Stalnaker 3aa566575f Add table for well-known rpc.system values (#2377) 2022-03-03 14:38:54 +01:00