Skip to content

Commit 02531b0

Browse files
committed
Lint fixes.
1 parent 9d58ce0 commit 02531b0

34 files changed

+150
-156
lines changed

oteps/0001-telemetry-without-manual-instrumentation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Without further ado, here are a set of requirements for “official” OpenTelem
3131
* Explicit, whitebox OpenTelemetry instrumentation must interoperate with the “automatic” / zero-source-code-modification / blackbox instrumentation.
3232
* If the blackbox instrumentation starts a Span, whitebox instrumentation must be able to discover it as the active Span (and vice versa)
3333
* Relatedly, there also must be a way to discover and avoid potential conflicts/overlap/redundancy between explicit whitebox instrumentation and blackbox instrumentation of the same libraries/packages
34-
* That is, if a developer has already added the “official” OpenTelemetry plugin for, say, gRPC, then when the blackbox instrumentation effort adds gRPC support, it should *not* “double-instrument” it and create a mess of extra spans/etc
34+
* That is, if a developer has already added the “official” OpenTelemetry plugin for, say, gRPC, then when the blackbox instrumentation effort adds gRPC support, it should _not_ “double-instrument” it and create a mess of extra spans/etc
3535
* From the standpoint of the actual telemetry being gathered, the same standards and expectations (about tagging, metadata, and so on) apply to "whitebox" instrumentation and automatic instrumentation
3636
* The code in the OpenTelemetry package must not take a hard dependency on any particular vendor/vendors (that sort of functionality should work via a plugin or registry mechanism)
3737
* Further, the code in the OpenTelemetry package must be isolated to avoid possible conflicts with the host application (e.g., shading in Java, etc)

oteps/0016-named-tracers.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ Based on the name and version, a Provider could provide a no-op Tracer or Meter
3535

3636
## Explanation
3737

38-
From a user perspective, working with *Named Tracers / Meters* and `TracerProvider` / `MeterProvider` is conceptually similar to how e.g. the [Java logging API](https://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String)) and logging frameworks like [log4j](https://www.slf4j.org/apidocs/org/slf4j/LoggerFactory.html) work. In analogy to requesting Logger objects through LoggerFactories, an instrumentation library would create specific Tracer / Meter objects through a TracerProvider / MeterProvider.
38+
From a user perspective, working with _Named Tracers / Meters_ and `TracerProvider` / `MeterProvider` is conceptually similar to how e.g. the [Java logging API](https://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String)) and logging frameworks like [log4j](https://www.slf4j.org/apidocs/org/slf4j/LoggerFactory.html) work. In analogy to requesting Logger objects through LoggerFactories, an instrumentation library would create specific Tracer / Meter objects through a TracerProvider / MeterProvider.
3939

40-
New Tracers or Meters can be created by providing the name and version of an instrumentation library. The version (following the convention proposed in <https://github.com/open-telemetry/oteps/pull/38>) is basically optional but *should* be supplied since only this information enables following scenarios:
40+
New Tracers or Meters can be created by providing the name and version of an instrumentation library. The version (following the convention proposed in <https://github.com/open-telemetry/oteps/pull/38>) is basically optional but _should_ be supplied since only this information enables following scenarios:
4141

4242
* Only a specific range of versions of a given instrumentation library need to be suppressed, while other versions are allowed (e.g. due to a bug in those specific versions).
4343
* Go modules allow multiple versions of the same middleware in a single build so those need to be determined at runtime.
@@ -50,7 +50,7 @@ Meter meter = OpenTelemetry.getMeterProvider().getMeter("io.opentelemetry.contri
5050

5151
These factories (`TracerProvider` and `MeterProvider`) replace the global `Tracer` / `Meter` singleton objects as ubiquitous points to request Tracer and Meter instances.
5252

53-
The *name* used to create a Tracer or Meter must identify the *instrumentation* libraries (also referred to as *integrations*) and not the library being instrumented. These instrumentation libraries could be libraries developed in an OpenTelemetry repository, a 3rd party implementation, or even auto-injected code (see [Open Telemetry Without Manual Instrumentation OTEP](https://github.com/open-telemetry/oteps/blob/master/text/0001-telemetry-without-manual-instrumentation.md)). See also the examples for identifiers at the end.
53+
The _name_ used to create a Tracer or Meter must identify the _instrumentation_ libraries (also referred to as _integrations_) and not the library being instrumented. These instrumentation libraries could be libraries developed in an OpenTelemetry repository, a 3rd party implementation, or even auto-injected code (see [Open Telemetry Without Manual Instrumentation OTEP](https://github.com/open-telemetry/oteps/blob/master/text/0001-telemetry-without-manual-instrumentation.md)). See also the examples for identifiers at the end.
5454
If a library (or application) has instrumentation built-in, it is both the instrumenting and instrumented library and should pass its own name here. In all other cases (and to distinguish them from that case), the distinction between instrumenting and instrumented library is very important. For example, if an HTTP library `com.example.http` is instrumented by either `io.opentelemetry.contrib.examplehttp`, then it is important that the Tracer is not named `com.example.http`, but `io.opentelemetry.contrib.examplehttp` after the actual instrumentation library.
5555

5656
If no name (null or empty string) is specified, following the suggestions in ["error handling proposal"](https://github.com/open-telemetry/opentelemetry-specification/pull/153), a "smart default" will be applied and a default Tracer / Meter implementation is returned.
@@ -76,7 +76,7 @@ Examples (based on existing contribution libraries from OpenTracing and OpenCens
7676

7777
## Internal details
7878

79-
By providing a `TracerProvider` / `MeterProvider` and *Named Tracers / Meters*, a vendor or OpenTelemetry implementation gains more flexibility in providing Tracers and Meters and which attributes they set in the resulting Spans and Metrics that are produced.
79+
By providing a `TracerProvider` / `MeterProvider` and _Named Tracers / Meters_, a vendor or OpenTelemetry implementation gains more flexibility in providing Tracers and Meters and which attributes they set in the resulting Spans and Metrics that are produced.
8080

8181
On an SDK level, the SpanData class and its Metrics counterpart are extended with a `getLibraryResource` function that returns the resource associated with the Tracer / Meter that created it.
8282

@@ -117,7 +117,7 @@ Span span = traceComponent.spanBuilder("someMethod").startSpan();
117117

118118
Overall, this would not change a lot compared to the `TracerProvider` since the levels of indirection until producing an actual span are the same.
119119

120-
Instead of setting the `component` property based on the given Tracer names, those names could also be used as *prefixes* for produced span names (e.g. `<TracerName-SpanName>`). However, with regard to data quality and semantic conventions, a dedicated `component` set on spans is probably preferred.
120+
Instead of setting the `component` property based on the given Tracer names, those names could also be used as _prefixes_ for produced span names (e.g. `<TracerName-SpanName>`). However, with regard to data quality and semantic conventions, a dedicated `component` set on spans is probably preferred.
121121

122122
Instead of using plain strings as an argument for creating new Tracers, a `Resource` identifying an instrumentation library could be used. Such resources must have a _version_ and a _name_ label (there could be semantic convention definitions for those labels). This implementation alternative mainly depends on the availability of the `Resource` data type on an API level (see <https://github.com/open-telemetry/opentelemetry-specification/pull/254>).
123123

oteps/0035-opentelemetry-protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ OTLP is a general-purpose telemetry data delivery protocol designed in the scope
4545

4646
OTLP defines the encoding of telemetry data and the protocol used to exchange data between the client and the server.
4747

48-
This specification defines how OTLP is implemented over [gRPC](https://grpc.io/) and specifies corresponding [Protocol Buffers](https://developers.google.com/protocol-buffers/docs/overview) schema. Future extensions to OTLP may define implementations over other transports. For details of gRPC service definition see section [gRPC Transport](#grpc-transport).
48+
This specification defines how OTLP is implemented over [gRPC](https://grpc.io/) and specifies corresponding [Protocol Buffers](https://developers.google.com/protocol-buffers/docs/overview) schema. Future extensions to OTLP may define implementations over other transports. For details of gRPC service definition see section [gRPC Transport](#grpc-service-definition).
4949

5050
OTLP is a request/response style protocols: the clients send requests, the server replies with corresponding responses. This document defines one requests and response type: `Export`.
5151

oteps/0066-separate-context-propagation.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
# Context Propagation: A Layered Approach
22

3-
* [Motivation](#Motivation)
4-
* [OpenTelemetry layered architecture](#OpenTelemetry-layered-architecture)
5-
* [Cross-Cutting Concerns](#Cross-Cutting-Concerns)
6-
* [Observability API](#Observability-API)
7-
* [Correlations API](#Correlations-API)
8-
* [Context Propagation](#Context-Propagation)
9-
* [Context API](#Context-API)
10-
* [Propagation API](#Propagation-API)
11-
* [Prototypes](#Prototypes)
12-
* [Examples](#Examples)
13-
* [Global initialization](#Global-initialization)
14-
* [Extracting and injecting from HTTP headers](#Extracting-and-injecting-from-HTTP-headers)
15-
* [Simplify the API with automated context propagation](#Simplify-the-API-with-automated-context-propagation)
16-
* [Implementing a propagator](#Implementing-a-propagator)
17-
* [Implementing a concern](#Implementing-a-concern)
18-
* [The scope of current context](#The-scope-of-current-context)
19-
* [Referencing multiple contexts](#Referencing-multiple-contexts)
20-
* [Falling back to explicit contexts](#Falling-back-to-explicit-contexts)
21-
* [Internal details](#Internal-details)
3+
* [Motivation](#motivation)
4+
* [OpenTelemetry layered architecture](#opentelemetry-layered-architecture)
5+
* [Cross-Cutting Concerns](#cross-cutting-concerns)
6+
* [Observability API](#observability-api)
7+
* [Correlations API](#correlations-api)
8+
* [Context Propagation](#context-propagation)
9+
* [Context API](#context-api)
10+
* [Propagation API](#propagation-api)
11+
* [Prototypes](#prototypes)
12+
* [Examples](#examples)
13+
* [Global initialization](#global-initialization)
14+
* [Extracting and injecting from HTTP headers](#extracting-and-injecting-from-http-headers)
15+
* [Simplify the API with automated context propagation](#simplify-the-api-with-automated-context-propagation)
16+
* [Implementing a propagator](#implementing-a-propagator)
17+
* [Implementing a concern](#implementing-a-concern)
18+
* [The scope of current context](#the-scope-of-current-context)
19+
* [Referencing multiple contexts](#referencing-multiple-contexts)
20+
* [Falling back to explicit contexts](#falling-back-to-explicit-contexts)
21+
* [Internal details](#internal-details)
2222
* [FAQ](#faq)
2323

2424
![drawing](img/0066_context_propagation_overview.png)
@@ -109,7 +109,7 @@ causal relationship between these events. For example, determining that a
109109
particular browser version is associated with a failure in an image processing
110110
service.
111111

112-
The Correlations API is based on the [W3C Correlation-Context specification](https://w3c.github.io/correlation-context/),
112+
The Correlations API is based on the [W3C Baggage specification](https://www.w3.org/TR/baggage/),
113113
and implements the protocol as it is defined in that working group. There are
114114
few details provided here as it is outside the scope of this OTEP to finalize
115115
this API.
@@ -581,7 +581,7 @@ Their properties and requirements are integrated into the OpenTelemetry APIs.
581581
and `tracestate` headers defined in the [W3C Trace Context specification](https://www.w3.org/TR/trace-context/).
582582

583583
**Correlation Context -** The OpenTelemetry Correlations API is modeled on the
584-
`Correlation-Context` headers defined in the [W3C Correlation Context specification](https://w3c.github.io/correlation-context/).
584+
`Baggage` headers defined in the [W3C Baggage specification](https://www.w3.org/TR/baggage/).
585585

586586
### Context management and in-process propagation
587587

@@ -626,7 +626,7 @@ Prior art:
626626

627627
## Risks
628628

629-
The Correlations API is related to the [W3C Correlation-Context](https://w3c.github.io/correlation-context/)
629+
The Correlations API is related to the [W3C Baggage](https://www.w3.org/TR/baggage/)
630630
specification. Work on this specification has begun, but is not complete. While
631631
unlikely, it is possible that this W3C specification could diverge from the
632632
design or guarantees needed by the Correlations API.

oteps/0111-auto-resource-detection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ specification](https://github.com/census-instrumentation/opencensus-specs/blob/m
157157
resource detection code is currently in the JS resource package, so this would
158158
need to be separated.
159159
- Environment variable resource detection in Java SDK
160-
[here](https://github.com/open-telemetry/opentelemetry-java/blob/master/sdk/src/main/java/io/opentelemetry/sdk/resources/EnvVarResource.java):
160+
[here](https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/ResourceConfiguration.java):
161161
This implementation does not currently include a detector interface, but is
162162
used by default for tracer and meter providers
163163

oteps/0119-standard-system-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ There are already a few implementations of system and/or runtime metric collecti
2828
* This package does not export metrics with labels, instead exporting individual metrics.
2929
* [Overview of collected metrics](https://docs.google.com/spreadsheets/d/1r50cC9ass0A8SZIg2ZpLdvZf6HmQJsUSXFOu-rl4yaY/edit#gid=0).
3030
- **Python**
31-
* Python [has instrumentation](https://github.com/open-telemetry/opentelemetry-python/tree/master/ext/opentelemetry-ext-system-metrics) to collect some system and runtime metrics.
31+
* Python [has instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-system-metrics) to collect some system and runtime metrics.
3232
* Collects system CPU, memory, and network metrics.
3333
* Collects runtime CPU, memory, and GC metrics.
3434
* Makes use of labels, similar to the Collector.

oteps/0152-telemetry-schemas.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
* [Schema File Format Number](#schema-file-format-number)
2626
* [OTLP Changes](#otlp-changes)
2727
* [API and SDK Changes](#api-and-sdk-changes)
28-
* [OpenTelemetry Schema 1.0.0](#opentelemetry-schema-100)
28+
* [OpenTelemetry Schema](#opentelemetry-schema)
2929
* [Performance Impact](#performance-impact)
3030
* [Open Questions](#open-questions)
3131
* [Future Possibilities](#future-possibilities)
3232
* [Parent Schema](#parent-schema)
33-
* [Collector Processor](#collector-processor)
3433
* [Current State in Schema](#current-state-in-schema)
3534
* [Other Transformation Types](#other-transformation-types)
35+
* [Version Convertability](#version-convertability)
3636
* [Alternates Considered](#alternates-considered)
3737
* [Name Aliases](#name-aliases)
3838
* [Schema Negotiation](#schema-negotiation)
@@ -723,8 +723,8 @@ contained Metric messages.
723723
The schema_url field in the InstrumentationLibraryLogs message applies to the
724724
contained LogRecord messages.
725725

726-
If schema_url field is non-empty both in Resource* message and in the contained
727-
InstrumentationLibrary* message then the value in InstrumentationLibrary*
726+
If schema_url field is non-empty both in Resource message and in the contained
727+
InstrumentationLibrary message then the value in InstrumentationLibrary
728728
message takes the precedence.
729729

730730
## API and SDK Changes
@@ -816,9 +816,6 @@ Since 1.2.0 is the first published version of OpenTelemetry schema there are no
816816
"changes" section and we omitted all previous versions from the file since there
817817
is nothing to record for earlier versions.
818818
819-
This file SHOULD be available for retrieval at
820-
[https://opentelemetry.io/schemas/1.2.0](https://opentelemetry.io/schemas/1.2.0)
821-
822819
All OpenTelemetry instrumentation solutions will follow this schema.
823820
824821
## Performance Impact

oteps/0156-columnar-encoding.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ Specifically:
624624

625625
When Arrow is enabled, the OTelArrow receiver listens for both the standard unary gRPC service OTLP and OTel Arrow stream
626626
services. Each stream uses an instance of the OTel-Arrow-Adapter's
627-
[Consumer](https://pkg.go.dev/github.com/f5/otel-arrow-adapter@v0.0.0-20230112224802-dafb6df21c97/pkg/otel/arrow_record#Consumer). Sets
627+
[Consumer](https://pkg.go.dev/github.com/f5/otel-arrow-adapter/pkg/otel/arrow_record#Consumer). Sets
628628
`client.Metadata` in the Context.
629629

630630
#### OTelArrow/gRPC Exporter
@@ -637,7 +637,7 @@ restarting, while honoring the caller's context deadline, to avoid delays introd
637637
through the `exporterhelper` mechanism.
638638

639639
Each stream uses an instance of the OTel-Arrow-Adapter's
640-
[Producer](https://pkg.go.dev/github.com/f5/otel-arrow-adapter@v0.0.0-20230112224802-dafb6df21c97/pkg/otel/arrow_record#Producer).
640+
[Producer](https://pkg.go.dev/github.com/f5/otel-arrow-adapter/pkg/otel/arrow_record#Producer).
641641

642642
When a stream fails specifically because the server does not recognize the Arrow service, it will not restart. When all
643643
streams have failed in this manner, the connection downgrades by closing a channel, at which point the exporter behaves

oteps/0182-otlp-remote-parent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ A span can be considered an entry-point span if it has no parent (`parent_span_i
5454
The first part would be to update the trace protobuf, adding a `boolean parent_span_is_remote` field to the
5555
[`Span` message](https://github.com/open-telemetry/opentelemetry-proto/blob/b43e9b18b76abf3ee040164b55b9c355217151f3/opentelemetry/proto/trace/v1/trace.proto#L84).
5656

57-
[`SpanContext.IsRemote`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#isremote) identifies whether span context has been propagated from a remote parent.
57+
[`SpanContext.IsRemote`](../specification/trace/api.md#isremote) identifies whether span context has been propagated from a remote parent.
5858
The OTLP exporter in each SDK would need to be updated to record this in the new `parent_span_is_remote` field.
5959

6060
For backwards compatibility with older OTLP versions, the protobuf field should be `nullable` (`true`, `false`, or unspecified)

0 commit comments

Comments
 (0)