Skip to content

Commit 1afc4ec

Browse files
committed
Merge branch 'main' into ja/demo/tests-and-forking
2 parents d8f5106 + efb4d34 commit 1afc4ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+300
-108
lines changed

.github/workflows/build-dev.yml

+5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ on:
77
description: Regex of submodule paths to update to HEAD before building.
88
default: content-modules
99
type: string
10+
workflow_call:
11+
inputs:
12+
submodule_path_regex:
13+
type: string
14+
required: true
1015

1116
jobs:
1217
build-and-test:
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Build Semantic Conventions (daily)
2+
3+
on:
4+
schedule:
5+
# daily at 10:24 UTC
6+
- cron: '24 10 * * *'
7+
workflow_dispatch:
8+
9+
jobs:
10+
build-dev:
11+
uses: ./.github/workflows/build-dev.yml
12+
with:
13+
submodule_path_regex: semantic-conventions
14+
15+
workflow-notification:
16+
needs:
17+
- build-dev
18+
if: always()
19+
uses: ./.github/workflows/reusable-workflow-notification.yml
20+
with:
21+
success: ${{ needs.build-dev.result == 'success' }}
22+
repo: open-telemetry/semantic-conventions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# this is useful because notifications for scheduled workflows are only sent to the user who
2+
# initially created the given workflow
3+
name: Reusable - Workflow notification
4+
5+
on:
6+
workflow_call:
7+
inputs:
8+
success:
9+
type: boolean
10+
required: true
11+
repo:
12+
type: string
13+
required: false
14+
15+
jobs:
16+
workflow-notification:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Open issue or add comment if issue already open
22+
env:
23+
# need to use opentelemetrybot for opening issues in other repos
24+
GH_TOKEN:
25+
${{ inputs.repo && secrets.OPENTELEMETRYBOT_GITHUB_TOKEN ||
26+
secrets.GITHUB_TOKEN }}
27+
run: |
28+
if [ -z "${{ inputs.repo }}" ]; then
29+
repo="$GITHUB_REPOSITORY"
30+
title="Workflow failed: $GITHUB_WORKFLOW"
31+
body="See [$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
32+
else
33+
repo="${{ inputs.repo }}"
34+
title="Workflow failed: $GITHUB_REPOSITORY $GITHUB_WORKFLOW"
35+
body="See [$GITHUB_REPOSITORY $GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
36+
fi
37+
38+
# TODO (trask) search doesn't support exact phrases, so it's possible that this could grab the wrong issue
39+
number=$(gh issue list --repo $repo --search "in:title $title" --limit 1 --json number -q .[].number)
40+
41+
echo $number
42+
echo ${{ inputs.success }}
43+
44+
if [[ $number ]]; then
45+
if [[ "${{ inputs.success }}" == "true" ]]; then
46+
gh issue close $number \
47+
--repo $repo
48+
else
49+
gh issue comment $number \
50+
--repo $repo \
51+
--body "$body"
52+
fi
53+
elif [[ "${{ inputs.success }}" == "false" ]]; then
54+
gh issue create --repo $repo \
55+
--title "$title (#$GITHUB_RUN_NUMBER)" \
56+
--body "$body"
57+
fi

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[submodule "themes/docsy"]
33
path = themes/docsy
44
url = https://github.com/google/docsy.git
5-
docsy-pin = v0.11.0-32-ge6d94771
5+
docsy-pin = v0.11.0-34-gef59ee75
66
docsy-note = "2024-04-01 Switching to google/docsy.git from cncf/docsy.git since we don't have any CNCF customizations."
77
docsy-reminder = "Ensure that any tag referenced by `docsy-pin` is present in the remote repo (url), otherwise add (push) the tags to the repo."
88
[submodule "content-modules/opentelemetry-specification"]

.htmltest.yml

-2
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ IgnoreURLs: # list of regexs of paths or URLs to be ignored
7474

7575
# Ignore some links to GH repo content for now, most 4XX
7676
- ^https?://github\.com/open-telemetry/opentelemetry-demo/blob/main/src/(imageprovider|loadgenerator|otelcollector|.*service)
77-
# TODO drop the following after https://github.com/open-telemetry/semantic-conventions/pull/1753 is merged and the submodule updated:
78-
- ^https?://github\.com/in-toto/
7977

8078
# Too many redirects as the server tries to figure out the country and language,
8179
# e.g.: https://www.microsoft.com/en-ca/sql-server.

content/en/blog/2024/otel-operator-q-and-a/index.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ title:
44
Operator Q&A
55
linkTitle: OTel Operator Q&A
66
date: 2024-05-13
7-
author: >-
8-
[Adriana Villela](https://github.com/avillela) (ServiceNow),
9-
7+
author: '[Adriana Villela](https://github.com/avillela) (ServiceNow)'
108
canonical_url: https://adri-v.medium.com/81d63addbf92?
119
cSpell:ignore: automagically mycollector
1210
---

content/en/docs/kubernetes/getting-started.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -173,17 +173,17 @@ presets:
173173
## If you want to send your data somewhere you need to
174174
## configure an exporter, such as the otlpexporter
175175
# config:
176-
# exporters:
177-
# otlp:
178-
# endpoint: "<SOME BACKEND>"
179-
# service:
180-
# pipelines:
181-
# traces:
182-
# exporters: [ otlp ]
183-
# metrics:
184-
# exporters: [ otlp ]
185-
# logs:
186-
# exporters: [ otlp ]
176+
# exporters:
177+
# otlp:
178+
# endpoint: "<SOME BACKEND>"
179+
# service:
180+
# pipelines:
181+
# traces:
182+
# exporters: [ otlp ]
183+
# metrics:
184+
# exporters: [ otlp ]
185+
# logs:
186+
# exporters: [ otlp ]
187187
```
188188

189189
To use this `values.yaml` with the chart, save it to your preferred file

content/en/docs/kubernetes/helm/demo.md

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ and detailed descriptions can be found in the
2424

2525
## Installation
2626

27+
Add OpenTelemetry Helm repository:
28+
29+
```shell
30+
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
31+
```
32+
2733
To install the chart with the release name `my-otel-demo`, run the following
2834
command:
2935

content/en/docs/kubernetes/operator/_index.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ redirects:
1717

1818
## Introduction
1919

20-
The OpenTelemetry Operator is an implementation of a
20+
The
21+
[OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator)
22+
is an implementation of a
2123
[Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/).
2224

2325
The operator manages:
2426

25-
- OpenTelemetry Collector
27+
- [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector)
2628
- [auto-instrumentation of the workloads using OpenTelemetry instrumentation libraries](https://github.com/open-telemetry/opentelemetry-operator#opentelemetry-auto-instrumentation-injection)
2729

2830
## Getting started

content/en/docs/kubernetes/operator/automatic.md

+107-36
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,105 @@ spec:
180180
181181
For more details, see [.NET Auto Instrumentation docs](/docs/zero-code/net/).
182182
183+
### Deno
184+
185+
The following command creates a basic Instrumentation resource that is
186+
configured for instrumenting [Deno](https://deno.com) services.
187+
188+
```bash
189+
kubectl apply -f - <<EOF
190+
apiVersion: opentelemetry.io/v1alpha1
191+
kind: Instrumentation
192+
metadata:
193+
name: demo-instrumentation
194+
spec:
195+
env:
196+
- name: OTEL_DENO
197+
value: 'true'
198+
exporter:
199+
endpoint: http://demo-collector:4318
200+
propagators:
201+
- tracecontext
202+
- baggage
203+
sampler:
204+
type: parentbased_traceidratio
205+
argument: '1'
206+
EOF
207+
```
208+
209+
Deno processes automatically export telemetry data to the configured endpoint
210+
when they are started with the `OTEL_DENO=true` environment variable. Therefore,
211+
the example specifies this environment variable in the `env` field of the
212+
Instrumentation resource, so it is set for all services that have env vars
213+
injected with this Instrumentation resource.
214+
215+
By default, the Instrumentation resource that auto-instruments Deno services
216+
uses `otlp` with the `http/proto` protocol. This means that the configured
217+
endpoint must be able to receive OTLP over `http/proto`. Therefore, the example
218+
uses `http://demo-collector:4318`, which connects to the `http/proto` port of
219+
the `otlpreceiver` of the Collector created in the previous step.
220+
221+
{{% alert title="Note" color="info" %}}
222+
223+
[Deno's OpenTelemetry integration][deno-docs] is not yet stable. As a result all
224+
workloads that want to be instrumented with Deno must have the `--unstable-otel`
225+
flag set when starting the Deno process.
226+
227+
[deno-docs]: https://docs.deno.com/runtime/fundamentals/open_telemetry/
228+
229+
{{% /alert %}}
230+
231+
#### Configuration options {#deno-configuration-options}
232+
233+
By default, the Deno OpenTelemetry integration exports `console.log()` output
234+
as\
235+
[logs](/docs/concepts/signals/logs/), while still printing the logs to stdout /
236+
stderr. You can configure these alternative behaviors:
237+
238+
- `OTEL_DENO_CONSOLE=replace`: only export `console.log()` output as logs; do
239+
not print to stdout / stderr.
240+
- `OTEL_DENO_CONSOLE=ignore`: do not export `console.log()` output as logs; do
241+
print to stdout / stderr.
242+
243+
#### Learn more {#deno-learn-more}
244+
245+
For more details, see Deno's [OpenTelemetry integration][deno-otel-docs]
246+
documentation.
247+
248+
[deno-otel-docs]: https://docs.deno.com/runtime/fundamentals/open_telemetry/
249+
250+
### Go
251+
252+
The following command creates a basic Instrumentation resource that is
253+
configured specifically for instrumenting Go services.
254+
255+
```bash
256+
kubectl apply -f - <<EOF
257+
apiVersion: opentelemetry.io/v1alpha1
258+
kind: Instrumentation
259+
metadata:
260+
name: demo-instrumentation
261+
spec:
262+
exporter:
263+
endpoint: http://demo-collector:4318
264+
propagators:
265+
- tracecontext
266+
- baggage
267+
sampler:
268+
type: parentbased_traceidratio
269+
argument: "1"
270+
EOF
271+
```
272+
273+
By default, the Instrumentation resource that auto-instruments Go services uses
274+
`otlp` with the `http/protobuf` protocol. This means that the configured
275+
endpoint must be able to receive OTLP over `http/protobuf`. Therefore, the
276+
example uses `http://demo-collector:4318`, which connects to the `http/protobuf`
277+
port of the `otlpreceiver` of the Collector created in the previous step.
278+
279+
The Go auto-instrumentation does not support disabling any instrumentation.
280+
[See the Go Auto-Instrumentation repository for more details.](https://github.com/open-telemetry/opentelemetry-go-instrumentation)
281+
183282
### Java
184283

185284
The following command creates a basic Instrumentation resource that is
@@ -436,38 +535,6 @@ For Python-specific quirks, see
436535
and the
437536
[Python agent configuration docs](/docs/zero-code/python/configuration/).
438537

439-
### Go
440-
441-
The following command creates a basic Instrumentation resource that is
442-
configured specifically for instrumenting Go services.
443-
444-
```bash
445-
kubectl apply -f - <<EOF
446-
apiVersion: opentelemetry.io/v1alpha1
447-
kind: Instrumentation
448-
metadata:
449-
name: demo-instrumentation
450-
spec:
451-
exporter:
452-
endpoint: http://demo-collector:4318
453-
propagators:
454-
- tracecontext
455-
- baggage
456-
sampler:
457-
type: parentbased_traceidratio
458-
argument: "1"
459-
EOF
460-
```
461-
462-
By default, the Instrumentation resource that auto-instruments Go services uses
463-
`otlp` with the `http/protobuf` protocol. This means that the configured
464-
endpoint must be able to receive OTLP over `http/protobuf`. Therefore, the
465-
example uses `http://demo-collector:4318`, which connects to the `http/protobuf`
466-
port of the `otlpreceiver` of the Collector created in the previous step.
467-
468-
The Go auto-instrumentation does not support disabling any instrumentation.
469-
[See the Go Auto-Instrumentation repository for more details.](https://github.com/open-telemetry/opentelemetry-go-instrumentation)
470-
471538
---
472539

473540
Now that your Instrumentation object is created, your cluster has the ability to
@@ -483,6 +550,7 @@ done by updating your service’s `spec.template.metadata.annotations` to includ
483550
a language-specific annotation:
484551

485552
- .NET: `instrumentation.opentelemetry.io/inject-dotnet: "true"`
553+
- Deno: `instrumentation.opentelemetry.io/inject-sdk: "true"`
486554
- Go: `instrumentation.opentelemetry.io/inject-go: "true"`
487555
- Java: `instrumentation.opentelemetry.io/inject-java: "true"`
488556
- Node.js: `instrumentation.opentelemetry.io/inject-nodejs: "true"`
@@ -681,10 +749,13 @@ auto-instrumentation annotation.
681749

682750
Here are a few things to check for:
683751

684-
- **Is the auto-instrumentation for the right language?** For example, when
685-
instrumenting a Python application, make sure that the annotation doesn't
686-
incorrectly say `instrumentation.opentelemetry.io/inject-java: "true"`
687-
instead.
752+
- **Is the auto-instrumentation for the right language?**
753+
- For example, when instrumenting a Python application, make sure that the
754+
annotation doesn't incorrectly say
755+
`instrumentation.opentelemetry.io/inject-java: "true"` instead.
756+
- For **Deno**, make sure you are using the
757+
`instrumentation.opentelemetry.io/inject-sdk: "true"` annotation, rather
758+
than an annotation containing the string `deno`.
688759
- **Is the auto-instrumentation annotation in the correct location?** When
689760
defining a `Deployment`, annotations can be added in one of two locations:
690761
`spec.metadata.annotations`, and `spec.template.metadata.annotations`. The

content/en/docs/languages/java/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: >-
66
aliases: [/java, /java/metrics, /java/tracing]
77
cascade:
88
vers:
9-
instrumentation: 2.11.0
9+
instrumentation: 2.12.0
1010
otel: 1.46.0
1111
contrib: 1.43.0
1212
semconv: 1.29.0

content/en/docs/specs/status.md

+2-5
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ same as the **Protocol** status.
9898
- [Specification][logging]
9999
- {{% spec_status "Bridge API" "otel/logs/api" "Status" %}}
100100
- {{% spec_status "SDK" "otel/logs/sdk" "Status" %}}
101-
- {{% spec_status "Event API" "otel/logs/event-api" "Status" %}}
102101
- {{% spec_status "Protocol" "otlp" "/document-status/.*for.*log" %}}
103102
- Notes:
104103
- The [logs data model][] is released as part of the OpenTelemetry Protocol.
@@ -111,10 +110,8 @@ same as the **Protocol** status.
111110
- The OpenTelemetry Log SDK is the standard implementation of the Log Bridge
112111
API. Applications configure the SDK to indicate how logs are processed and
113112
exported (e.g. using OTLP).
114-
- The OpenTelemetry Event API allows log records to be emitted which conform
115-
to the [event semantic conventions][]. In contrast to the Log Bridge API,
116-
the Event API is intended to be called by end users. The Event API is under
117-
active development.
113+
- The OpenTelemetry Log Bridge API contains experimental support for emitting
114+
log records which conform to the [event semantic conventions][].
118115

119116
### Profiles
120117

content/en/docs/zero-code/java/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ aliases:
66
- /docs/languages/java/automatic_instrumentation
77
cascade:
88
vers:
9-
instrumentation: 2.11.0
9+
instrumentation: 2.12.0
1010
otel: 1.46.0
1111
---
1212

0 commit comments

Comments
 (0)