Skip to content

Commit d252781

Browse files
authored
Merge branch 'main' into openllmetry
2 parents 807d36e + c748b01 commit d252781

17 files changed

+363
-250
lines changed
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Abandoned Go Contrib modules need code owners or will be removed
3+
linkTitle: Go Contrib modules ownership
4+
date: 2024-05-28
5+
author: >-
6+
[Fabrizio Ferri-Benedetti](https://github.com/theletterf) (Splunk)
7+
issue: 4542
8+
sig: SIG Go
9+
# prettier-ignore
10+
cSpell:ignore: aws Benedetti Fabrizio Ferri gopkg labstack macaron moduled otelaws otelecho otellambda otelmacaron otelmongo otelmux
11+
---
12+
13+
The Go SIG will remove the code of contrib modules that lack code owners
14+
starting August 21, 2024. Published packages and releases will be marked as
15+
deprecated, though they'll remain available for download.
16+
17+
Currently unowned modules include the following:
18+
19+
- [`go.opentelemetry.io/contrib/detectors/aws/ec2`](https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/ec2)
20+
- [`go.opentelemetry.io/contrib/detectors/aws/ecs`](https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/ecs)
21+
- [`go.opentelemetry.io/contrib/detectors/aws/eks`](https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/eks)
22+
- [`go.opentelemetry.io/contrib/detectors/aws/lambda`](https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/lambda)
23+
- [`go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda)
24+
- [`go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws)
25+
- [`go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux)
26+
- [`go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho)
27+
- [`go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo)
28+
- [`go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron)
29+
- [`go.opentelemetry.io/contrib/propagators/aws`](https://pkg.go.dev/go.opentelemetry.io/contrib/propagators/aws)
30+
- [`go.opentelemetry.io/contrib/samplers/aws/xray`](https://pkg.go.dev/go.opentelemetry.io/contrib/samplers/aws/xray)
31+
32+
For a full list of modules at risk for removal, see the
33+
[Remove unowned moduled](https://github.com/orgs/open-telemetry/projects/92/views/1)
34+
project board.
35+
36+
## Why are those modules going to be removed?
37+
38+
As described in the Go Contrib
39+
[contributions guidelines](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CONTRIBUTING.md#code-owners),
40+
all Contrib modules require a code owner so that the code is not abandoned. Code
41+
owners have the responsibility of maintaining the component, responding to
42+
issues, and reviewing pull requests.
43+
44+
## I want to become a code owner! What do I do?
45+
46+
To become a code owner of one of the modules, you need to be a member of the
47+
OpenTelemetry organization and have a good working knowledge of the code you
48+
seek to maintain. To become a member of OpenTelemetry in GitHub, see the
49+
requirements in
50+
[Community membership](https://github.com/open-telemetry/community/blob/main/community-membership.md#requirements).
51+
52+
If you satisfy all requirements,
53+
[open an issue](https://github.com/open-telemetry/opentelemetry-go-contrib/issues/new?assignees=&labels=&projects=&template=owner.md&title=).
54+
55+
We're looking forward to your request!

content/en/blog/2024/java-metric-systems-compared/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: OpenTelemetry Java Metrics Performance Comparison
33
linkTitle: Java Metric Systems Compared
44
date: 2024-05-24
55
author: '[Jack Berg](https://github.com/jack-berg) (New Relic)'
6-
cSpell:ignore: Asaf dropwizard hashcodes Mesika Sonoma
6+
cSpell:ignore: Asaf dropwizard hashcodes Mesika pseudocode Sonoma
77
---
88

99
Arguably the biggest value proposition of OpenTelemetry is that it aims to be a

content/en/docs/concepts/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ aliases: [concepts/overview]
66
weight: 2
77
---
88

9-
In this section you'll learn about the data sources and key components of the
10-
OpenTelemetry project. This will help you understanding how OpenTelemetry works.
9+
This section covers data sources and key components of the OpenTelemetry
10+
project, which can help you understand how OpenTelemetry works.

content/en/docs/concepts/components.md

+30-30
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ OpenTelemetry is currently made up of several main components:
1515
- [Zero-Code Instrumentation](#zero-code-instrumentation)
1616
- [Resource Detectors](#resource-detectors)
1717
- [Cross Service Propagators](#cross-service-propagators)
18-
- [Sampler](#sampler)
19-
- [K8s operator](#k8s-operator)
18+
- [Samplers](#samplers)
19+
- [Kubernetes operator](#kubernetes-operator)
2020
- [Function as a Service assets](#function-as-a-service-assets)
2121

2222
OpenTelemetry lets you replace the need for vendor-specific SDKs and tools for
@@ -58,69 +58,69 @@ instrumentation in your application.
5858

5959
For more information, see [Instrumenting](/docs/concepts/instrumentation/).
6060

61-
### Instrumentation Libraries
61+
### Instrumentation libraries
6262

6363
OpenTelemetry supports a broad number of components that generate relevant
6464
telemetry data from popular libraries and frameworks for supported languages.
65-
For example, inbound and outbound HTTP requests from an HTTP library will
66-
generate data about those requests.
65+
For example, inbound and outbound HTTP requests from an HTTP library generate
66+
data about those requests.
6767

68-
It is a long-term goal that popular libraries are authored to be observable out
69-
of the box, such that pulling in a separate component is not required.
68+
An aspirational goal of OpenTelemetry is that all popular libraries are built to
69+
be observable by default, so that separate dependencies are not required.
7070

7171
For more information, see
72-
[Instrumenting Libraries](/docs/concepts/instrumentation/libraries/).
72+
[Instrumenting libraries](/docs/concepts/instrumentation/libraries/).
7373

7474
### Exporters
7575

7676
{{% docs/languages/exporters/intro %}}
7777

78-
### Zero-Code Instrumentation
78+
### Zero-code instrumentation
7979

80-
If applicable a language specific implementation of OpenTelemetry will provide a
80+
If applicable, a language specific implementation of OpenTelemetry provides a
8181
way to instrument your application without touching your source code. While the
82-
underlying mechanism depends on the language, at a minimum this will add the
83-
OpenTelemetry API and SDK capabilities to your application. Additionally they
84-
may add a set of Instrumentation Libraries and exporter dependencies.
82+
underlying mechanism depends on the language, zero-code instrumentation adds the
83+
OpenTelemetry API and SDK capabilities to your application. Additionally, it
84+
might add a set of instrumentation libraries and exporter dependencies.
8585

8686
For more information, see
87-
[Zero-Code Instrumentation](/docs/concepts/instrumentation/zero-code/).
87+
[Zero-code instrumentation](/docs/concepts/instrumentation/zero-code/).
8888

89-
### Resource Detectors
89+
### Resource detectors
9090

9191
A [resource](/docs/concepts/resources/) represents the entity producing
92-
telemetry as resource attributes. For example, a process producing telemetry
92+
telemetry as resource attributes. For example, a process that produces telemetry
9393
that is running in a container on Kubernetes has a Pod name, a namespace, and
94-
possibly a deployment name. All three of these attributes can be included in the
94+
possibly a deployment name. You can include all these attributes in the
9595
resource.
9696

9797
The language specific implementations of OpenTelemetry provide resource
98-
detection from the environment variable `OTEL_RESOURCE_ATTRIBUTES` and for many
99-
common entities, like process runtime, service, host or operating system.
98+
detection from the `OTEL_RESOURCE_ATTRIBUTES` environment variable and for many
99+
common entities, like process runtime, service, host, or operating system.
100100

101101
For more information, see [Resources](/docs/concepts/resources/).
102102

103-
### Cross Service Propagators
103+
### Cross-service propagators
104104

105105
Propagation is the mechanism that moves data between services and processes.
106-
Although not limited to tracing, it is what allows traces to build causal
106+
Although not limited to tracing, propagation allows traces to build causal
107107
information about a system across services that are arbitrarily distributed
108108
across process and network boundaries.
109109

110-
For the vast majority of the use cases, context propagation is done for you
111-
through Instrumentation Libraries. But, if needed you can use `Propagators`
112-
yourself to serialize and deserialize cross-cutting concerns such as the context
113-
of a span and [baggage](/docs/concepts/signals/baggage/).
110+
For the vast majority of the use cases, context propagation happens through
111+
instrumentation libraries. If needed, you can use propagators yourself to
112+
serialize and deserialize cross-cutting concerns such as the context of a span
113+
and [baggage](/docs/concepts/signals/baggage/).
114114

115-
### Sampler
115+
### Samplers
116116

117117
Sampling is a process that restricts the amount of traces that are generated by
118-
a system. The language-specific implementations offer several
119-
[head samplers](/docs/concepts/sampling/#head-sampling)
118+
a system. Each language-specific implementation of OpenTelemetry offers several
119+
[head samplers](/docs/concepts/sampling/#head-sampling).
120120

121121
For more information, see [Sampling](/docs/concepts/sampling).
122122

123-
## K8s operator
123+
## Kubernetes operator
124124

125125
The OpenTelemetry Operator is an implementation of a Kubernetes Operator. The
126126
operator manages the OpenTelemetry Collector and auto-instrumentation of the
@@ -131,7 +131,7 @@ For more information, see [K8s Operator](/docs/kubernetes/operator/).
131131
## Function as a Service assets
132132

133133
OpenTelemetry supports various methods of monitoring Function-as-a-Service
134-
provided by different cloud vendors The OpenTelemetry community currently
134+
provided by different cloud vendors. The OpenTelemetry community currently
135135
provides pre-built Lambda layers able to auto-instrument your application as
136136
well as a the option of standalone Collector Lambda layer that can be used when
137137
instrumenting applications manually or automatically.

content/en/docs/concepts/context-propagation.md

+20-19
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,39 @@
11
---
2-
title: Context Propagation
2+
title: Context propagation
33
weight: 10
44
description: Learn about the concept that enables Distributed Tracing.
55
---
66

7-
With Context Propagation, [Signals](/docs/concepts/signals) can be correlated
7+
With context propagation, [Signals](/docs/concepts/signals) can be correlated
88
with each other, regardless of where they are generated. Although not limited to
9-
tracing, it is what allows [traces](/docs/concepts/signals/traces) to build
10-
causal information about a system across services that are arbitrarily
9+
tracing, context propagation allows [traces](/docs/concepts/signals/traces) to
10+
build causal information about a system across services that are arbitrarily
1111
distributed across process and network boundaries.
1212

13-
We define Context Propagation by two sub-concepts: Context and Propagation.
13+
To understand context propagation, you need to understand two separate concepts:
14+
context and propagation.
1415

1516
## Context
1617

17-
A **Context** is an object that contains the information for the sending and
18-
receiving service (or
19-
[execution unit](/docs/specs/otel/glossary/#execution-unit)) to correlate one
20-
signal with another.
18+
Context is an object that contains the information for the sending and receiving
19+
service, or [execution unit](/docs/specs/otel/glossary/#execution-unit), to
20+
correlate one signal with another.
2121

22-
For example, if Service A calls Service B, then a span from Service A whose ID
22+
For example, if service A calls service B, then a span from service A whose ID
2323
is in context will be used as the parent span for the next span created in
24-
Service B. The trace ID that is in context will be used for the next span
25-
created in Service B as well, which signifies that the span is part of the same
26-
trace as the span from Service A.
24+
service B. The trace ID that is in context will be used for the next span
25+
created in service B as well, which means that the span is part of the same
26+
trace as the span from service A.
2727

2828
## Propagation
2929

30-
**Propagation** is the mechanism that moves context between services and
31-
processes. It serializes or deserializes the context object and provides the
32-
relevant information to be propagated from one service to another. Propagation
33-
is usually handled by instrumentation libraries and is transparent to the user,
34-
but in the event that you need to manually propagate context, you can use
35-
Propagation APIs.
30+
Propagation is the mechanism that moves context between services and processes.
31+
It serializes or deserializes the context object and provides the relevant
32+
information to be propagated from one service to another.
33+
34+
Propagation is usually handled by instrumentation libraries and is transparent
35+
to the user. In the event that you need to manually propagate context, you can
36+
use Propagation APIs.
3637

3738
OpenTelemetry maintains several official propagators. The default propagator is
3839
using the headers specified by the

content/en/docs/concepts/distributions.md

+27-28
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ OpenTelemetry is available as:
1313
- [Language-specific instrumentation libraries](../instrumentation)
1414
- A [Collector binary](/docs/concepts/components/#collector)
1515

16-
From any reference implementation a distribution may be created.
16+
Any reference implementation can be customized as a distribution.
1717

1818
## What is a distribution?
1919

20-
A distribution, not to be confused with a fork, is customized version of an
21-
OpenTelemetry component. A distribution is a wrapper around an upstream
22-
OpenTelemetry repository with some customizations. Customizations in a
23-
distribution may include:
20+
A distribution is a customized version of an OpenTelemetry component. A
21+
distribution is a wrapper around an upstream OpenTelemetry repository with some
22+
customizations. Distributions are not to be confused with forks.
23+
24+
Customizations in a distribution may include:
2425

2526
- Scripts to ease use or customize use for a specific backend or vendor
2627
- Changes to default settings required for a backend, vendor, or end-user
@@ -29,29 +30,27 @@ distribution may include:
2930
- Additional capabilities beyond what OpenTelemetry provides
3031
- Less capabilities from what OpenTelemetry provides
3132

32-
Distributions would broadly fall into the following categories:
33+
Distributions broadly fall into the following categories:
3334

3435
- **"Pure":** These distributions provide the same functionality as upstream and
35-
are 100% compatible. Customizations would typically be to ease of use or
36+
are 100% compatible. Customizations typically enhance the ease of use or
3637
packaging. These customizations may be backend, vendor, or end-user specific.
37-
- **"Plus":** These distributions provide the same functionality as upstream
38-
plus more. Customizations beyond those found in pure distributions would be
39-
the inclusion of additional components. Examples of this would include
40-
instrumentation libraries or vendor exporters not upstreamed to the
41-
OpenTelemetry project.
42-
- **"Minus":** These distributions provide a reduced set of functionality from
43-
upstream. Examples of this would include the removal of instrumentation
44-
libraries or receivers/processors/exporters/extensions found in the
45-
OpenTelemetry Collector project. These distributions may be provided to
46-
increase supportability and security considerations.
47-
48-
## Who would create a distribution?
49-
50-
Anyone could create a distribution. Today, several
51-
[vendors](/ecosystem/vendors/) offer [distributions](/ecosystem/distributions/).
52-
In addition, end-users can consider creating a distribution if they wish to use
53-
components in the [Registry](/ecosystem/registry/) that are not upstreamed to
54-
the OpenTelemetry project.
38+
- **"Plus":** These distributions provide added functionalities on top of
39+
upstream through additional components. Examples include instrumentation
40+
libraries or vendor exporters not upstreamed to the OpenTelemetry project.
41+
- **"Minus":** These distributions provide a subset of functionality from
42+
upstream. Examples of this include the removal of instrumentation libraries or
43+
receivers, processors, exporters, or extensions found in the OpenTelemetry
44+
Collector project. These distributions may be provided to increase
45+
supportability and security considerations.
46+
47+
## Who can create a distribution?
48+
49+
Anyone can create a distribution. Today, several [vendors](/ecosystem/vendors/)
50+
offer [distributions](/ecosystem/distributions/). In addition, end-users can
51+
consider creating a distribution if they want to use components in the
52+
[Registry](/ecosystem/registry/) that are not upstreamed to the OpenTelemetry
53+
project.
5554

5655
## Contribution or distribution?
5756

@@ -63,7 +62,7 @@ implementations:
6362
- Can your scripts for "ease of use" be generalized?
6463
- Can your changes to default settings be the better option for everyone?
6564
- Are your additional packaging options really specific?
66-
- Might your test, performance & security coverage work with the reference
65+
- Might your test, performance and security coverage work with the reference
6766
implementation as well?
6867
- Have you checked with the community if your additional capabilities could be
6968
part of the standard?
@@ -79,14 +78,14 @@ If you are building your own distribution, the
7978
[OpenTelemetry Collector Builder](https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder)
8079
might be a good starting point.
8180

82-
### Language Specific Instrumentation libraries
81+
### Language specific instrumentation libraries
8382

8483
There are language specific extensibility mechanisms to customize the
8584
instrumentation libraries:
8685

8786
- [Java agent](/docs/zero-code/java/agent/extensions)
8887

89-
## What you should know about distributions
88+
## Follow the guidelines
9089

9190
When using OpenTelemetry project collateral such as logo and name for your
9291
distribution, make sure that you are in line with the [OpenTelemetry Marketing

0 commit comments

Comments
 (0)