diff --git a/.lychee.toml b/.lychee.toml index 6dea0efc2c0..a63e1847359 100644 --- a/.lychee.toml +++ b/.lychee.toml @@ -2,11 +2,24 @@ include_fragments = true accept = ["200..=299", "403"] +remap = [ + # workaround for https://github.com/lycheeverse/lychee/issues/1729 + 'https://github.com/(.*?)/(.*?)/blob/(.*?)/(.*#.*)$ https://raw.githubusercontent.com/$1/$2/$3/$4', + 'https://docs.oracle.com/(.*)#.*$ https://docs.oracle.com/$1' +] + exclude = [ - # excluding links to pull requests and issues is done for performance - "^https://github.com/open-telemetry/opentelemetry-specification/(issues|pull)/\\d+$", - # TODO (trask) look into this - "^https://docs.google.com/document/d/1d0afxe3J6bQT-I6UbRXeIYNcTIyBQv4axfjKF4yvAPA/edit" + # workaround for https://github.com/lycheeverse/lychee/issues/1729 + '^https://github.com/.*/(pull|issues|commit|compare)/.*#.*$', + '.*decision-log.md#L0-L1', + # excluding links to pull requests and issues is done for performance + '^https://github.com/open-telemetry/opentelemetry-specification/(issues|pull)/\d+$', + # TODO (trask) look into this + '^https://docs.google.com/.*/edit.*$', + 'https://semver.org/#spec-item-11', + 'https://w3c.github.io/trace-context/#trace-id', + 'https://facebook.github.io/zstd/#small-data', + 'https://javadoc.io/doc/org.apache.logging.log4j/log4j-api/latest/org.apache.logging.log4j/org/apache/logging/log4j/Logger.html' ] # better to be safe and avoid failures diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 848d264daba..25b0c435b32 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -289,7 +289,7 @@ on each other), the owner should try to get people aligned by: If none of the above worked and the PR has been stuck for more than 2 weeks, the owner should bring it to the [OpenTelemetry Specification SIG -meeting](https://github.com/open-telemetry/community#cross-language-specification). +meeting](https://github.com/open-telemetry/community/blob/main/README.md#specification-sigs). [nvm]: https://github.com/nvm-sh/nvm/blob/master/README.md#installing-and-updating diff --git a/Makefile b/Makefile index 074c0262b6d..a9f87d56e13 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ misspell-correction: $(MISSPELL) markdown-link-check: docker run --rm \ --mount 'type=bind,source=$(PWD),target=/home/repo' \ - lycheeverse/lychee:sha-2aa22f8@sha256:2e3786630482c41f9f2dd081e06d7da1c36d66996e8cf6573409b8bc418d48c4 \ + lycheeverse/lychee:sha-8222559@sha256:6f49010cc46543af3b765f19d5319c0cdd4e8415d7596e1b401d5b4cec29c799 \ --config home/repo/.lychee.toml \ --root-dir /home/repo \ -v \ @@ -39,7 +39,7 @@ markdown-link-check: # see https://github.com/open-telemetry/opentelemetry-specification/pull/4554 docker run --rm \ --mount 'type=bind,source=$(PWD),target=/home/repo' \ - lycheeverse/lychee:sha-2aa22f8@sha256:2e3786630482c41f9f2dd081e06d7da1c36d66996e8cf6573409b8bc418d48c4 \ + lycheeverse/lychee:sha-8222559@sha256:6f49010cc46543af3b765f19d5319c0cdd4e8415d7596e1b401d5b4cec29c799 \ --config home/repo/.lychee.toml \ --root-dir /home/repo \ --max-redirects 0 \ diff --git a/README.md b/README.md index a7cd6d0b94f..a3d40ec503f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ APAC timezone friendly meetings are held on request. See [OpenTelemetry calendar](https://github.com/open-telemetry/community#calendar). Escalations to technical committee may be made over the -[e-mail](https://github.com/open-telemetry/community#tc-technical-committee). +[e-mail](https://github.com/open-telemetry/community/blob/main/README.md#mailing-lists). Technical committee holds regular meetings, notes are held [here](https://docs.google.com/document/d/1hOHPCu5TGenqTeWPB9qQB_qd33uITZBcvK1FnWxYJAw/edit?usp=sharing). diff --git a/issue-management.md b/issue-management.md index 6c3cad5041a..5ce312f3a1b 100644 --- a/issue-management.md +++ b/issue-management.md @@ -11,7 +11,7 @@ - Reviewer: - Person whose Approval is needed to merge the PR. - Sponsor: - - The [specification sponsors](https://github.com/open-telemetry/community/blob/main/community-membership.md#specification-sponsor), identified as the assignee of the issue, is responsible for the completion of the issue. + - The [specification sponsors](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#specification-sponsor), identified as the assignee of the issue, is responsible for the completion of the issue. - Triager: - This person is responsible for applying appropriate labels as outlined below, following up on issues to ensure they are complete, diff --git a/oteps/0001-telemetry-without-manual-instrumentation.md b/oteps/0001-telemetry-without-manual-instrumentation.md index e02e2a0fe3e..1af631d251b 100644 --- a/oteps/0001-telemetry-without-manual-instrumentation.md +++ b/oteps/0001-telemetry-without-manual-instrumentation.md @@ -89,7 +89,7 @@ There are some languages that will have OpenTelemetry support before they have D ### Governance of the auto-instrumentation libraries -Each `auto-instr-foo` repository must have at least one [Maintainer](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer) in common with the main `opentelemetry-foo` language repository. There are no other requirements or constraints about the set of maintainers/approvers for the main language repository and the respective auto-instrumentation repository; in particular, there may be maintainers/approvers of the main language repository that are not maintainers/approvers for the auto-instrumentation repository, and vice versa. +Each `auto-instr-foo` repository must have at least one [Maintainer](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer) in common with the main `opentelemetry-foo` language repository. There are no other requirements or constraints about the set of maintainers/approvers for the main language repository and the respective auto-instrumentation repository; in particular, there may be maintainers/approvers of the main language repository that are not maintainers/approvers for the auto-instrumentation repository, and vice versa. ### Mini-FAQ about this proposal diff --git a/oteps/0007-no-out-of-band-reporting.md b/oteps/0007-no-out-of-band-reporting.md index 6b38527db66..17579a2bb03 100644 --- a/oteps/0007-no-out-of-band-reporting.md +++ b/oteps/0007-no-out-of-band-reporting.md @@ -57,5 +57,5 @@ instance configured with it's own `Resource`. * [opentelemetry-specification/62](https://github.com/open-telemetry/opentelemetry-specification/issues/62) * [opentelemetry-specification/61](https://github.com/open-telemetry/opentelemetry-specification/issues/61) -[otelsvc-receiver]: https://github.com/open-telemetry/opentelemetry-collector#config-receivers -[create-metric]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#create-metric +[otelsvc-receiver]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/README.md +[create-metric]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#get-a-meter diff --git a/oteps/0035-opentelemetry-protocol.md b/oteps/0035-opentelemetry-protocol.md index 946be06c267..1c277a517e6 100644 --- a/oteps/0035-opentelemetry-protocol.md +++ b/oteps/0035-opentelemetry-protocol.md @@ -93,7 +93,7 @@ When an error is returned by the server it falls into 2 broad categories: retrya - Not-retryable errors indicate that processing of telemetry data failed and the client MUST NOT retry sending the same telemetry data. The telemetry data MUST be dropped. This can happen, for example, when the request contains bad data and cannot be deserialized or otherwise processed by the server. The client SHOULD maintain a counter of such dropped data. -When using gRPC transport the server SHOULD indicate retryable errors using code [Unavailable](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status.WithDetails) using [RetryInfo](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L40) containing 0 value of RetryDelay. Here is a sample Go code to illustrate: +When using gRPC transport the server SHOULD indicate retryable errors using code [Unavailable](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status) using [RetryInfo](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L40) containing 0 value of RetryDelay. Here is a sample Go code to illustrate: ```go // Do this on server side. @@ -106,7 +106,7 @@ When using gRPC transport the server SHOULD indicate retryable errors using code return st.Err() ``` -To indicate not-retryable errors the server is recommended to use code [InvalidArgument](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status.WithDetails) using [BadRequest](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L119). Other gRPC status code may be used if it is more appropriate. Here is a sample Go code to illustrate: +To indicate not-retryable errors the server is recommended to use code [InvalidArgument](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status) using [BadRequest](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L119). Other gRPC status code may be used if it is more appropriate. Here is a sample Go code to illustrate: ```go // Do this on server side. @@ -148,7 +148,7 @@ OTLP allows backpressure signalling. If the server is unable to keep up with the pace of data it receives from the client then it SHOULD signal that fact to the client. The client MUST then throttle itself to avoid overwhelming the server. -To signal backpressure when using gRPC transport, the server SHOULD return an error with code [Unavailable](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status.WithDetails) using [RetryInfo](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L40). Here is a sample Go code to illustrate: +To signal backpressure when using gRPC transport, the server SHOULD return an error with code [Unavailable](https://pkg.go.dev/google.golang.org/grpc/codes) and MAY supply additional [details via status](https://pkg.go.dev/google.golang.org/grpc/status#Status) using [RetryInfo](https://github.com/googleapis/googleapis/blob/6a8c7914d1b79bd832b5157a09a9332e8cbd16d4/google/rpc/error_details.proto#L40). Here is a sample Go code to illustrate: ```go // Do this on server side. @@ -265,7 +265,7 @@ Both FlatBuffers and Capnproto are worth to be re-evaluated for future versions It is also worth researching transports other than gRPC. Other transports are not included in this RFC due to time limitations. -Experimental implementation of OTLP over WebSockets exists and was researched as an alternate. WebSockets were not chosen as the primary transport for OTLP due to lack or immaturity of certain capabilities (such as [lack of universal support](https://github.com/gorilla/websocket#gorilla-websocket-compared-with-other-packages) for [RFC 7692](https://datatracker.ietf.org/doc/html/rfc7692) message compression extension). Despite limitations the experimental implementation demonstrated good performance and WebSocket transport will be considered for inclusion in a future OTLP Extensions RFC. +Experimental implementation of OTLP over WebSockets exists and was researched as an alternate. WebSockets were not chosen as the primary transport for OTLP due to lack or immaturity of certain capabilities (such as [lack of universal support](https://github.com/gorilla/websocket/blob/v1.4.2/README.md#gorilla-websocket-compared-with-other-packages) for [RFC 7692](https://datatracker.ietf.org/doc/html/rfc7692) message compression extension). Despite limitations the experimental implementation demonstrated good performance and WebSocket transport will be considered for inclusion in a future OTLP Extensions RFC. ## Open Questions diff --git a/oteps/0155-external-modules.md b/oteps/0155-external-modules.md index b24007f9690..68d85e7b8b2 100644 --- a/oteps/0155-external-modules.md +++ b/oteps/0155-external-modules.md @@ -52,7 +52,7 @@ In fact, these repositories often calls for other set of skills and customer's u On contrib repository creation, new set of approvers and maintainers can be added as we do for any new repository, without time/contribution requirements. Repository maintainers are also encouraged to promote contributors to approver/maintainer role in this repository based on targeted contributions and expertise of the contrib repository rather than overall SIG scope. -It is important to keep the process fair and inclusive by following the formal guidance published [here](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer). +It is important to keep the process fair and inclusive by following the formal guidance published [here](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer). A contrib repository may leverage the CODEOWNERS functionality of GitHub to assign maintainers to individual packages even if this means granting write permissions to the whole repo. The goal should be to distribute the load of reviewing PRs and accepting changes as much as possible, while keeping reliability and overall quality of components and fair governance. diff --git a/oteps/0156-columnar-encoding.md b/oteps/0156-columnar-encoding.md index 10c6f58b51f..d4811ff0bd5 100644 --- a/oteps/0156-columnar-encoding.md +++ b/oteps/0156-columnar-encoding.md @@ -804,7 +804,7 @@ dictionary and schema information. This remains an area for study. ### Further-integrated compression techniques ZSTD offers a training mode, which can be used to tune the algorithm for a selected type of data. The result of this -training is a dictionary that can be used to compress the data. Using this [dictionary](http://facebook.github.io/zstd/#small-data) +training is a dictionary that can be used to compress the data. Using this [dictionary](https://facebook.github.io/zstd/#small-data) can dramatically improve the compression rate for small batches. This future development will build on both the gRPC stream approach used in this proposal and the ability to send a ZSTD dictionary over the OTel Arrow stateful protocol, allowing us to train the ZSTD algorithm on the first batches and then update the configuration of the ZSTD diff --git a/oteps/0202-events-and-logs-api.md b/oteps/0202-events-and-logs-api.md index c62b63f3e9a..189ef9b4eee 100644 --- a/oteps/0202-events-and-logs-api.md +++ b/oteps/0202-events-and-logs-api.md @@ -30,7 +30,7 @@ Here are a few situations that require recording of Events, there will be more. - Swift on iOS has Logger interface that has methods corresponding to severity level too. - The current Log APIs do not have a standard way to pass event attributes. - It may be possible to use the interpolation string args as the parameter to pass event attributes. However, the logging spec seems to map the human readable message (which is obtained after replacing the args in the interpolated string) to the Body field of LogRecord. - - Log4j has an EventLogger interface that can be used to create structured messages with arbitrary key-value pairs, but log4j is not commonly used in Android apps as it is not officially supported on Android as per this [Stack Overflow thread](https://stackoverflow.com/questions/60398799/disable-log4j-jmx-on-android/60407849#60407849) by one of log4j’s maintainers. + - Log4j has an EventLogger interface that can be used to create structured messages with arbitrary key-value pairs, but log4j is not commonly used in Android apps as it is not officially supported on Android as per this [Stack Overflow thread](https://stackoverflow.com/a/60407849) by one of log4j’s maintainers. - In Python, logging.LogRecord's extra field is mapped to Otel LogRecord's attributes but this field is a hidden field and not part of the public interface. - The current Log APIs have a message parameter which could map to the Body field of LogRecord. However, this is restricted to String messages and does not allow for structured logs. diff --git a/oteps/0225-configuration.md b/oteps/0225-configuration.md index dfb4042b640..84e18836294 100644 --- a/oteps/0225-configuration.md +++ b/oteps/0225-configuration.md @@ -217,7 +217,7 @@ Note that there is no consistent mapping between environment variable names and Configuration files *MUST* support environment variable expansion. While this accommodates the scenario in which a configuration file needs to reference sensitive data and is not able to be stored securely, environment variable expansion is not limited to sensitive data. -As a starting point for development, the syntax for environment variable expansion *MAY* mirror the [collector](https://opentelemetry.io/docs/collector/configuration/#configuration-environment-variables). +As a starting point for development, the syntax for environment variable expansion *MAY* mirror the [collector](https://opentelemetry.io/docs/collector/configuration/#environment-variables). For example, given an environment where `API_KEY=1234`, the configuration file contents: diff --git a/oteps/README.md b/oteps/README.md index fe0578b8794..f509c631ed6 100644 --- a/oteps/README.md +++ b/oteps/README.md @@ -87,7 +87,7 @@ Have suggestions? Concerns? Questions? **Please** raise an issue or raise the ma ## Background on the OpenTelemetry OTEP process -Our OTEP process borrows from the [Rust RFC](https://github.com/rust-lang/rfcs) and [Kubernetes Enhancement Proposal](https://github.com/kubernetes/enhancements) processes, the former also being [very influential](https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/0000-kep-process#prior-art) on the latter; as well as the [OpenTracing OTEP](https://github.com/opentracing/specification/blob/master/rfc_process.md) process. Massive kudos and thanks to the respective authors and communities for providing excellent prior art šŸ’– +Our OTEP process borrows from the [Rust RFC](https://github.com/rust-lang/rfcs) and [Kubernetes Enhancement Proposal](https://github.com/kubernetes/enhancements) processes, the former also being [very influential](https://github.com/kubernetes/enhancements/blob/master/keps/sig-architecture/0000-kep-process/README.md#prior-art) on the latter; as well as the [OpenTracing OTEP](https://github.com/opentracing/specification/blob/master/rfc_process.md) process. Massive kudos and thanks to the respective authors and communities for providing excellent prior art šŸ’– [slack-image]: https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white [slack-url]: https://cloud-native.slack.com/archives/C01N7PP1THC diff --git a/oteps/entities/0264-resource-and-entities.md b/oteps/entities/0264-resource-and-entities.md index 46e2eb412ab..0c66d95c348 100644 --- a/oteps/entities/0264-resource-and-entities.md +++ b/oteps/entities/0264-resource-and-entities.md @@ -322,7 +322,7 @@ Today, [Prometheus compatibility](../../specification/compatibility/prometheus_a Here's a list of requirements for the solution: - Existing prometheus/OpenTelemetry users should be able to migrate from where they are today. -- Any solution MUST work with the [info-typed metrics](https://github.com/prometheus/proposals/blob/main/proposals/2024-04-10-native-support-for-info-metrics-metadata.md#goals) being added in prometheus. +- Any solution MUST work with the [info-typed metrics](https://github.com/prometheus/proposals/blob/main/proposals/0037-native-support-for-info-metrics-metadata.md#goals) being added in prometheus. - Resource descriptive attributes should leverage `info()` or metadata. - Resource identifying attributes need more thought/design from OpenTelemetry semconv + entities WG. - Note: Current `info()` design will only work with `target_info` metric by default (other info metrics can be specified per `info` call), and `job/instance` labels for joins. These labels MUST be generated by the OTLP endpoint in prometheus. diff --git a/oteps/profiles/0212-profiling-vision.md b/oteps/profiles/0212-profiling-vision.md index 3cc35abb8c0..8ce90303444 100644 --- a/oteps/profiles/0212-profiling-vision.md +++ b/oteps/profiles/0212-profiling-vision.md @@ -36,7 +36,7 @@ terms as follows: ## How profiling aligns with the OpenTelemetry vision The [OpenTelemetry -vision](https://opentelemetry.io/community/mission/#vision-mdash-the-world-we-imagine-for-otel-end-users) +vision](https://opentelemetry.io/community/mission/#vision) states: _Effective observability is powerful because it enables developers to innovate diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index db17b64958b..4afb3f68fe9 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -220,7 +220,7 @@ Disclaimer: this list of features is still a work in progress, please refer to t | Create empty | | + | + | + | + | + | + | + | + | + | + | + | | [Merge (v2)](specification/resource/sdk.md#merge) | | + | + | | + | + | + | + | + | + | + | | | Retrieve attributes | | + | + | + | + | + | + | + | + | + | + | + | -| [Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) for service.name | | + | + | | + | + | + | + | | + | + | | +| [Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name | | + | + | | + | + | + | + | | + | + | | | [Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism | | + | + | + | + | + | + | + | + | + | + | + | | [Resource detectors populate Schema URL](specification/resource/sdk.md#detecting-resource-information-from-the-environment) | | + | + | | | | - | + | | | - | | diff --git a/spec-compliance-matrix/cpp.yaml b/spec-compliance-matrix/cpp.yaml index 14e20252911..0f5e4ac5bac 100644 --- a/spec-compliance-matrix/cpp.yaml +++ b/spec-compliance-matrix/cpp.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/dotnet.yaml b/spec-compliance-matrix/dotnet.yaml index 7e5004b911a..ccbf4bdb0c4 100644 --- a/spec-compliance-matrix/dotnet.yaml +++ b/spec-compliance-matrix/dotnet.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/erlang.yaml b/spec-compliance-matrix/erlang.yaml index 2ff35d5dc18..b5ee63fe9ea 100644 --- a/spec-compliance-matrix/erlang.yaml +++ b/spec-compliance-matrix/erlang.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/go.yaml b/spec-compliance-matrix/go.yaml index 39ab26d445a..0d012d6d184 100644 --- a/spec-compliance-matrix/go.yaml +++ b/spec-compliance-matrix/go.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/java.yaml b/spec-compliance-matrix/java.yaml index 0e0c2b8e8d7..6a5d80c2114 100644 --- a/spec-compliance-matrix/java.yaml +++ b/spec-compliance-matrix/java.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/js.yaml b/spec-compliance-matrix/js.yaml index 55e2d0152d7..c9b612f87d1 100644 --- a/spec-compliance-matrix/js.yaml +++ b/spec-compliance-matrix/js.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '?' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/php.yaml b/spec-compliance-matrix/php.yaml index 2cd9a7aad6c..1ce9890a2a2 100644 --- a/spec-compliance-matrix/php.yaml +++ b/spec-compliance-matrix/php.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/python.yaml b/spec-compliance-matrix/python.yaml index 11a70239ed0..3a6cecd32a1 100644 --- a/spec-compliance-matrix/python.yaml +++ b/spec-compliance-matrix/python.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/ruby.yaml b/spec-compliance-matrix/ruby.yaml index 5bcb784c831..89a407985f7 100644 --- a/spec-compliance-matrix/ruby.yaml +++ b/spec-compliance-matrix/ruby.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '+' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/rust.yaml b/spec-compliance-matrix/rust.yaml index 41ed148b9d7..db4430f71c3 100644 --- a/spec-compliance-matrix/rust.yaml +++ b/spec-compliance-matrix/rust.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '?' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/swift.yaml b/spec-compliance-matrix/swift.yaml index 73e78097f45..9a8b194f38c 100644 --- a/spec-compliance-matrix/swift.yaml +++ b/spec-compliance-matrix/swift.yaml @@ -392,7 +392,7 @@ sections: - name: Retrieve attributes status: '+' - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' status: '?' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' diff --git a/spec-compliance-matrix/template.yaml b/spec-compliance-matrix/template.yaml index 26240de7d26..60d2b2e5b68 100644 --- a/spec-compliance-matrix/template.yaml +++ b/spec-compliance-matrix/template.yaml @@ -256,7 +256,7 @@ sections: - name: '[Merge (v2)](specification/resource/sdk.md#merge)' - name: Retrieve attributes - name: - '[Default value](https://github.com/open-telemetry/semantic-conventions/tree/main/docs/resource#semantic-attributes-with-dedicated-environment-variable) + '[Default value](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-dedicated-environment-variable) for service.name' - name: '[Resource detector](specification/resource/sdk.md#detecting-resource-information-from-the-environment) interface/mechanism' - name: '[Resource detectors populate Schema URL](specification/resource/sdk.md#detecting-resource-information-from-the-environment)' diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md index 747b6cf186d..de774c9773e 100644 --- a/specification/compatibility/prometheus_and_openmetrics.md +++ b/specification/compatibility/prometheus_and_openmetrics.md @@ -238,7 +238,7 @@ When scraping a Prometheus endpoint, resource attributes MUST be added to the scraped metrics to distinguish them from metrics from other Prometheus endpoints. In particular, `service.name` and `service.instance.id`, are needed to ensure Prometheus exporters can disambiguate metrics using -[`job` and `instance` labels](https://prometheus.io/docs/concepts/jobs_instances/#jobs-and-instances) +[`job` and `instance` labels](https://prometheus.io/docs/concepts/jobs_instances/) as [described below](#resource-attributes-1). The following attributes MUST be associated with scraped metrics as resource @@ -454,7 +454,7 @@ possible for metrics from multiple targets to be sent together, so targets must be disambiguated from one another. However, the Prometheus exposition format and [remote-write](https://github.com/Prometheus/Prometheus/blob/main/prompb/remote.proto) formats do not include a notion of resource, and expect metric labels to -distinguish scraped targets. By convention, [`job` and `instance`](https://prometheus.io/docs/concepts/jobs_instances/#jobs-and-instances) +distinguish scraped targets. By convention, [`job` and `instance`](https://prometheus.io/docs/concepts/jobs_instances/) labels distinguish targets and are expected to be present on metrics exposed on a Prometheus pull exporter (a ["federated"](https://prometheus.io/docs/prometheus/latest/federation/) Prometheus endpoint) or pushed via Prometheus remote-write. In OpenTelemetry diff --git a/specification/logs/README.md b/specification/logs/README.md index 65eb4e2e23d..a1c0d04a16a 100644 --- a/specification/logs/README.md +++ b/specification/logs/README.md @@ -413,7 +413,7 @@ The following functionality exists to enable log collection: - Ability to parse logs in common text formats and to allow end users to customize parsing formats and add custom parsers as needed. Collector's - [parsers](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver#operators) + [parsers](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/filelogreceiver/README.md#operators) or parsing in the external agent is used for this. - Ability to receive logs via common network protocols for logs, such as Syslog