Commit Graph

470 Commits

Author SHA1 Message Date
Josh Suereth b5bcbccc17
Add a tool that allows us to quickly update specification URLs to a s… (#9)
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
Co-authored-by: Johannes Tax <johannes@johannes.tax>
Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
2023-05-16 12:25:46 -04:00
Armin Ruech 3bb601c243
Update team names following #25 (#29) 2023-05-15 09:16:04 -07:00
Josh Suereth c0731b9ae9
Remove tech committee from maintainers. Semconv will have its own set. (#25) 2023-05-15 11:15:34 -04:00
Mike Dame 5b25f380cb
Add CHANGELOG.md (#18) 2023-05-15 10:11:50 -04:00
Liudmila Molkova c5f7a17b34
Editorial: minor fixes for HTTP spec (#16) 2023-05-12 12:21:55 -07:00
Josh Suereth 7c606855bf
Add CODEOWNERS and automation around ownership (#7)
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
2023-05-11 13:14:38 -04:00
Josh Suereth 9976b2abba
Add pull request checks back for links/markdown. (#5) 2023-05-11 12:57:26 -04:00
Josh Suereth ba20753993
Remove no-changes allowed header from new repository. (#6) 2023-05-11 11:46:04 -04:00
Armin Ruech 0ff54340ef
Fix contributor names and teams (#8)
Fixed the team names, some links, as well as @MovieStoreGuy's and my
name 🙂
2023-05-11 11:44:08 -04:00
Josh Suereth 4c14e25241 Add readme/contributing. 2023-05-11 08:24:31 -04:00
Josh Suereth 554a97dde2 Put hiatus on semantic conventions until they are in the new repository. (#3489)
As per OTEP:
https://github.com/open-telemetry/oteps/blob/main/text/0227-separate-semantic-conventions.md
2023-05-11 05:59:41 -06:00
Tyler Benson f6bee62bfd Add requirement to use X-Ray propagation for aws-sdk client calls (#3212) 2023-05-08 21:22:58 -07:00
Mike Dame 56c77bacd6 Add detail for GCP Cloud Run Job execution (#3378) 2023-05-08 21:18:54 -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
Robert Toyonaga 239caf82ac Add JVM runtime metric source API notes (#3463)
Fixes #3418

## Changes

Add notes on where the JVM runtime metrics come from.

---------

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
2023-05-08 14:26:28 -05:00
Trask Stalnaker 3f8cd16996 Transition plan for HTTP breaking changes where both old and new attributes can be sent for a while (#3443) 2023-05-08 12:00:16 -07:00
jack-berg 8f0a652071 JVM gc duration unit and bucket boundaries (#3458) 2023-05-03 09:47:34 -07:00
Trask Stalnaker ed7b11c28d Add explicit status to all sub-sections in "Mixed" document (#3460) 2023-05-01 08:48:20 -07:00
Cijo Thomas a2e3100848 Add Rust to the telemetry.sdk.language resource convention (#3448) 2023-04-26 12:42:23 -07:00
jack-berg 31485588b2 Move configuration documents to configuration folder (#3434) 2023-04-25 14:51:27 -07:00
Robert Pająk 2ef975b7b2 Refactor Telemetry SDK resource detector description (#3392) 2023-04-25 08:00:38 -06: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
Trask Stalnaker 92a5b9ef64 Fix JVM buffer pool attribute description (#3423)
Follow-up to #3413

---------

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
2023-04-21 09:59:59 -05:00
Trask Stalnaker e4613f98af Converts JVM metrics to yaml (#3413)
Converts JVM metrics to yaml
2023-04-20 13:56:48 -05:00
Matthew Wear aa873f0a9b add k8s.cluster.uid resource attribute semconv (#3267)
Fixes #3266

## Changes

Kubernetes doesn't have a formal way to identify a cluster, but a
pseudo-id can be derived by taking the `uid` of the `kube-system`
namespace. This PR adds a convention for `k8s.cluster.uid` to be set to
the `kube-system` namespace uid.
2023-04-18 15:21:28 -06:00
Trask Stalnaker bce030702e Adds a note about not splitting UpDownCounter timeseries (#3367) 2023-04-18 09:14:04 -07:00
Trask Stalnaker bb42c33451 Change http.server.duration and http.client.duration units to seconds (#3390) 2023-04-14 20:46:53 -07:00
jack-berg 3250d03e49 Specify seconds unit for measuring durations (#3388) 2023-04-14 10:34:54 -07:00
Trask Stalnaker 7a74f7ae79 Clarification about when to use UCUM c/s variant (#3393) 2023-04-14 09:32:04 -07:00
Trask Stalnaker b94251d236 Mark "Instrumentation Units" and "Instrumentation Types" sections of the general metric semantic conventions as stable (#3294) 2023-04-14 09:18:01 -07:00
Mateusz Rzeszutek 711413a4d7 HTTP client span clarification (#3290)
Related to
https://github.com/open-telemetry/opentelemetry-specification/issues/3155
and
https://github.com/open-telemetry/opentelemetry-specification/pull/3234

## Changes

This PR contains the less controversial parts of
https://github.com/open-telemetry/opentelemetry-specification/pull/3234;
it describes how the `http.resend_count` attribute should be used, and
proposes two ways of instrumenting HTTP clients.
2023-04-14 09:16:33 -06:00
Tyler Yahn cf52340b6a Add recommendation to use non-prefixed units for metric instruments (#3312) 2023-04-12 15:56:32 -07:00
Liudmila Molkova 6544326ec3 Editorial: add attribute_group type to log.record (#3374) 2023-04-12 11:14:21 -07:00
Bertrand Martin 6080d1a569 Issues #3132, #3133: Semconv for hardware metrics, network metrics and attributes (#3344)
Fixes #3132, #3133

## Changes

In semantic conventions for hardware metrics:

* Updated network adapter description
* Changed `type` to `hw.error.type` for the `hw.errors` metric
2023-04-11 17:18:48 -06:00
Sebastien Rosset 26b305941d Update the description of the `host.image` attribute (#3194) 2023-04-11 18:29:16 +02:00
Christian Neumüller 07721f339c Add back refs to cloud.resource_id lost in FaaS renaming. (#3329)
These places were removed when #3188 in its original form removed
faas.id without replacement and weren't added back after changing it to
introduce cloud.resource_id instead.

Editorial change, no CHANGELOG or issue.
2023-04-11 07:13:14 -06:00
Alan West df32f2ef4c Clarify parameters for emtting a log record (#3354)
Supersedes #3350

Clarifies the parameters for emitting a log record.

Context was particularly confusing. Context is not a property of the
`LogRecord` data model. Cleans up section of bridge API spec that seems
to suggest that Context is a field of `LogRecord`. Also, clarifies that
Context can be associated with an emitted LogRecord. We have similar
language in the trace API that leaves room for languages to achieve this
in an idiomatic way. See


d25734a47e/specification/trace/api.md?plain=1#L365-L370

---------

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-04-08 10:42:13 -05:00
Trask Stalnaker 096a73fb29 BREAKING: Remove http.status_code attribute from the http.server.active_requests metric (#3366) 2023-04-06 21:36:41 -07:00
avzis 46e47de82d Change `db.statement` to only be collected if there is sanitization (#3127) 2023-04-06 10:35:33 -07:00
Severin Neumann 0902d5f429 Add semantic conventions for log record ID (#3047)
Fixes #597

## Changes

- Add a section for "generic attributes" to the log semconv
- Add an attribute `log_record.id` making use of ULID as discussed in
#597

Some additional notes:
- I kept the PR small, so I left out some other potential attributes,
e.g. something for pre-existing ID (like windows event logs) or for
storing the used logging/eventing system or even something like a
"signature" that might be worth discussing, etc.
- I followed the structure of "generic attributes" from the spans
semconv
- I took some of the existing wording from #597 &
https://github.com/open-telemetry/oteps/pull/97#discussion_r421865344 to
describe the field

---------

Signed-off-by: svrnm <neumanns@cisco.com>
Co-authored-by: Joao Grassi <joao@joaograssi.com>
Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
2023-04-06 13:14:26 -04: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
Josh Suereth dcd39bf86e Mark `service` and `telemetry.sdk` resource attributes as stable. (#3202)
## Changes

This PR marks the set of resource semantic conventions, which a relied
upon in stable API / SDK specification, as stable themselves.

- Add a caveat that changing `service.*` and `telemetry.*` names need
MORE than just schema file changes.
- Mark core Resource attribute semconv document as MIXED stability
- Update key sections for Resource attribute semconv as stable
- Mark `telemetry.sdk` and `service` attribute groups as stable.
- Move `telemetry.auto` and `service.*` "contentious" attributes into
`{section}_experimental.yaml` file. This retains the reserved name, but
does not mark the convention as stable, allowing us to ensure stable
portions of our specification refer to stable semconv.
- Update examples for `service.instance.id` to include an example of the
preferred style instance id before the fallback.

Related issues #3177

## Usage in the Specification

One reason we should mark these attributes as stable is because they are
referenced from numerous stable portions of our specification, and they
are also leveraged from newly stabilizing portions of our specification.

- [Resource
SDK](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#sdk-provided-resource-attributes)
- stable
- [Environment
Variables](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md#general-sdk-configuration)
- stable
- [Jaeger
Exporter](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md#resource)
- stable
- [Zipkin
Exporter](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#service-name)
- Stable
- [Log
DataModel](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#rfc5424-syslog)
- Stable
- [Prometheus
compatibility](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/prometheus_and_openmetrics.md#resource-attributes)
- still experimental
- [Performance Benchmark
Guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/performance-benchmark.md)

## A note on ECS compatibility

Here's [ECS service
definition](https://www.elastic.co/guide/en/ecs/current/ecs-service.html).

They include more attributes than we do. The only possible conflict
between us is `service.instance.id` vs. `service.node.name`. In this
case, our `service.instance.id` has a fallback of generating UUID which
is inconsistent w/ `service.node.name` which requires a user-generated
name if another name cannot be provided.

There's an opportunity for us to unify here. However, I don't think
there's appetite in OTEL to require user-specified names in lieu of some
algorithm or generative specification.
2023-04-03 19:40:12 -07:00
Robert Pająk 80e42491fe BREAKING: Change span statuses for gRPC server spans (#3333)
Fixes https://github.com/open-telemetry/opentelemetry-specification/issues/3110

## Changes

The idea behind the PR is to make the spam statuses gRPC convention
similar to HTTP semantic conventions.
The gRPC statuses -> HTTP status codes mapping is not anywhere strictly
defined.
However, there is are some approximations which can be found:

-
bb04e070b3 (diff-c94ff143c8f378e6925a985fa18528a8254a6d7fc34bc855e1de13f1e7f3e464)
-
https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto

I got confused if we should treat `INTERNAL` as `Error` for
`SpanKind.SERVER` because of:

-
https://github.com/grpc/grpc/blob/master/doc/http-grpc-status-mapping.md
-
a02aae6168/internal/transport/handler_server.go (L90C8-L92)
-
a02aae6168/internal/transport/http_util.go (L73)

On the other hand, [the
description](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
of `INTERNAL` says:

> Internal errors. This means that some invariants expected by the
underlying system have been broken. This error code is reserved for
serious errors.

Therefore, I decided to leave it as `Error`. Also because this is
backwards compatible (at least for this gRPC status).

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2023-04-03 11:27:56 -06:00
Tyler Yahn 64846c4035 Fix units in the Kafka metric semantic conventions (#3300)
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
2023-03-29 19:16:47 +02:00
Sourabh Jain e857d8146d Cosmos DB attributes: fixes UserAgent description (#3338) 2023-03-29 09:44:40 -07:00
Piotr Kiełkowicz dcc954abd6 AWS Lambda - remove references to messaging.destination.kind and messaging.source.kind (#3348) 2023-03-28 18:14:27 +02:00
Medik 4e836b488f Update JS environment variable compliance (#3226) 2023-03-27 13:16:40 -07:00