Skip to content

Commit d96857e

Browse files
committed
Merge remote-tracking branch 'origin/main' into otelbot/semconv-integration-v1.40.0-dev
2 parents 8379740 + 17418b2 commit d96857e

File tree

16 files changed

+1351
-2263
lines changed

16 files changed

+1351
-2263
lines changed

.cspell/pl-words.txt

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
agentów
2+
Agenty
3+
aplikacje
4+
aplikacji
5+
Automatyczna
6+
automatycznej
7+
Automatycznie
8+
backendu
9+
Bagaż
10+
bibliotek
11+
bramę
12+
branży
13+
całą
14+
chmurach
15+
chmurowego
16+
chmurowych
17+
czasie
18+
czasu
19+
czerpie
20+
długoterminową
21+
dokumentacji
22+
Dostarcza
23+
dostawców
24+
dostawcy
25+
doświadczenia
26+
Dowiedz
27+
dowolnego
28+
dużą
29+
Działa
30+
dzięki
31+
Ekosystem
32+
eksportowania
33+
Eksportuj
34+
elastycznością
35+
filtruj
36+
frameworków
37+
Funkcje
38+
gdzie
39+
głównych
40+
gotowe
41+
granicami
42+
hybrydowych
43+
infrastrukturze
44+
inkubacji
45+
instrumentacja
46+
instrumentacji
47+
Instrumentuj
48+
Integracje
49+
interfejsów
50+
Interfejsy
51+
jako
52+
jednolity
53+
języka
54+
językach
55+
Języki
56+
języków
57+
kieruj
58+
kilka
59+
klasie
60+
kodu
61+
kolektora
62+
kolektorów
63+
komercyjnych
64+
komponentach
65+
komponentami
66+
Komponenty
67+
kontekst
68+
kontekstem
69+
kontekstowe
70+
kontekstu
71+
koreluj
72+
Korzystaj
73+
korzystając
74+
korzystające
75+
który
76+
liderów
77+
logi
78+
łącząc
79+
Metadane
80+
metryk
81+
metryki
82+
między
83+
modyfikowania
84+
najlepsze
85+
napędzany
86+
Natywne
87+
niezależna
88+
niezależne
89+
niezależnych
90+
obserwowalności
91+
odbierania
92+
oprogramowania
93+
organizacje
94+
organizacji
95+
Otwarte
96+
otwartoźródłowe
97+
otwartoźródłowy
98+
Otwarty
99+
otwartych
100+
pełną
101+
pełny
102+
połączenia
103+
Pomiary
104+
pomocą
105+
pomysły
106+
ponad
107+
popularnych
108+
Potok
109+
potrzebujesz
110+
Powstał
111+
Poznaj
112+
praktyki
113+
preferowanego
114+
produkcji
115+
projektem
116+
projektów
117+
Propagacja
118+
protokołu
119+
przechwytują
120+
przechwytywania
121+
Przegląd
122+
Przejrzyste
123+
Przenoś
124+
przepływa
125+
Przetwarzaj
126+
przetwarzania
127+
przez
128+
ramach
129+
Rekordy
130+
rozproszone
131+
Rozproszony
132+
rozproszonych
133+
rozwiązania
134+
rozwój
135+
sieciowego
136+
skalę
137+
specyfikacjach
138+
specyfikacje
139+
społeczności
140+
społeczność
141+
stabilne
142+
stabilność
143+
swojej
144+
swój
145+
sygnały
146+
Szukaj
147+
ścieżkę
148+
śladów
149+
ślady
150+
śledzenia
151+
środowiskach
152+
telemetryczne
153+
Twojej
154+
Tysiące
155+
Ujednolicone
156+
ujednolicony
157+
usług
158+
usługach
159+
uzależnieniem
160+
Uzyskaj
161+
używa
162+
Wdrażaj
163+
widok
164+
wieloletniego
165+
wielu
166+
więcej
167+
własnego
168+
własnej
169+
Wsparcie
170+
wsparciem
171+
Wspierane
172+
współdzielonym
173+
wszędzie
174+
wszystkich
175+
Wypróbuj
176+
zachowania
177+
Zacznij
178+
zapewnia
179+
zapytania
180+
zapytań
181+
zarządzanie
182+
Zaufany
183+
Zbudowane
184+
zerowym
185+
zestaw
186+
Zmieniaj
187+
znacznikiem
188+
źródłowego

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
path = themes/docsy
44
url = https://github.com/google/docsy.git
55
# cSpell:disable-next-line
6-
docsy-pin = v0.14.3-37-g6b1698a3
6+
docsy-pin = v0.14.3-44-gc6834296
77
docsy-note = "2024-04-01 Switching to google/docsy.git from cncf/docsy.git since we don't have any CNCF customizations."
88
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."
99
[submodule "content-modules/opentelemetry-specification"]

config/_default/hugo.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# cSpell:ignore bluesky cicd docsy goldmark linkify netlify wordmark noopener
1+
# cSpell:ignore bluesky cicd docsy goldmark linkify netlify wordmark noopener llms
22
baseURL: https://opentelemetry.io
33
title: OpenTelemetry
44
disableKinds: [taxonomy]
@@ -109,8 +109,8 @@ cascade:
109109

110110
# Enable redirects for site root (and not locales)
111111
- outputs:
112-
# This must match the equivalent of [outputs.home, redirects]
113-
[HTML, markdown, RSS, redirects]
112+
# This must match the equivalent of [outputs.home, LLMS, redirects]
113+
[HTML, markdown, RSS, LLMS, redirects]
114114
target:
115115
kind: home
116116
sites: { matrix: { languages: [en] } }
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
---
2+
title: OBI Gives Incident Response the Request Context It Needs
3+
linkTitle: OBI Incident Response Context
4+
date: 2026-04-10
5+
author: >-
6+
[Tyler Yahn](https://github.com/MrAlias) (Splunk), [Nimrod
7+
Avni](https://github.com/NimrodAvni78) (Coralogix)
8+
sig: SIG eBPF Instrumentation
9+
cSpell:ignore: Avni obfuscate x-tenant-id x-user-segment Yahn
10+
---
11+
12+
When incidents are active, traces usually tell you that something is wrong. The
13+
harder problem is figuring out who is affected and why, quickly.
14+
15+
[OpenTelemetry eBPF Instrumentation (OBI)](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation)
16+
[v0.7.0](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.7.0)
17+
adds HTTP header enrichment so spans can carry request context like tenant or
18+
user segment. That context is often exactly what helps you move from "error rate
19+
is up" to "this is isolated to one customer cohort".
20+
21+
The best part: this is a config change on OBI itself. You do not need to rebuild
22+
or redeploy your existing applications.
23+
24+
## Why this matters in practice
25+
26+
Most teams have felt this pain: traces show latency and failures, but not enough
27+
request context to narrow scope during triage. Header enrichment closes that gap
28+
without requiring app code changes.
29+
30+
For this demo, we include:
31+
32+
- `x-tenant-id`
33+
- `x-user-segment`
34+
35+
And we intentionally obfuscate:
36+
37+
- `authorization`
38+
39+
That gives responders useful debugging context while still masking sensitive
40+
values.
41+
42+
## The config change
43+
44+
This is the core policy used in the demo:
45+
46+
```yaml
47+
ebpf:
48+
# Needed so headers are captured for enrichment.
49+
track_request_headers: true
50+
payload_extraction:
51+
http:
52+
enrichment:
53+
enabled: true
54+
policy:
55+
# Only emit headers that rules explicitly match.
56+
default_action: exclude
57+
# Replacement value for obfuscated headers.
58+
obfuscation_string: '***'
59+
rules:
60+
- action: include
61+
type: headers
62+
scope: all
63+
match:
64+
patterns: ['x-tenant-id', 'x-user-segment']
65+
case_sensitive: false
66+
- action: obfuscate
67+
type: headers
68+
scope: all
69+
match:
70+
patterns: ['authorization']
71+
case_sensitive: false
72+
```
73+
74+
Two small details are worth calling out: `scope: all` applies rules to both
75+
request and response headers, and `case_sensitive: false` avoids missing headers
76+
because of casing differences.
77+
78+
Turning this feature on or off is a simple OBI config update and OBI redeploy.
79+
No application rebuild required.
80+
81+
## Visual walkthrough
82+
83+
Baseline trace (before enrichment): no header attributes in the span.
84+
85+
![Jaeger baseline trace with no enriched headers](v0-6-0-baseline.png)
86+
87+
After enabling enrichment in OBI v0.7.0: the span now includes request header
88+
context.
89+
90+
![Jaeger trace with enriched request header attributes](v0-7-0-header-enrichment.png)
91+
92+
Note, now `authorization` is present but masked, while `x-tenant-id` and
93+
`x-user-segment` stay visible.
94+
95+
![Jaeger span tags showing obfuscated authorization and included tenant and segment headers](v0-7-0-obfuscated-closeup.png)
96+
97+
Traces can now be filtered by enriched attributes (for example
98+
`http.request.header.x-tenant-id`) to focus on the impacted cohort.
99+
100+
![Jaeger trace search filtered by enriched header attribute for tenant triage](v0-7-0-triage.png)
101+
102+
## Takeaway
103+
104+
OBI
105+
[v0.7.0](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.7.0)
106+
header enrichment is a practical debugging feature: it improves incident
107+
response signal, keeps policy explicit, and can be rolled out (or rolled back)
108+
by changing OBI configuration only.
109+
110+
Already running OBI? Upgrade to v0.7.0 and give
111+
[header enrichment](/docs/zero-code/obi/configure/metrics-traces-attributes/#http-header-enrichment-for-spans)
112+
a try.
113+
114+
New to OBI? Start with the
115+
[demo used in this post](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/tree/b1f159092a3743464e53e78b16f0c4d817c47e02/examples/http-header-enrichment-demo)
116+
to see an end-to-end example of how it works. Then be sure to check out how to
117+
[start using OBI](/docs/zero-code/obi/setup/) for your application.
118+
119+
Have you already tried header enrichment? Let us know how it went. Find us on
120+
the
121+
[`#otel-ebpf-instrumentation` CNCF Slack channel](https://cloud-native.slack.com/archives/C06DQ7S2YEP),
122+
or
123+
[open a discussion](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/discussions)
124+
if you have feedback that could help shape future releases.
219 KB
Loading
224 KB
Loading
29.7 KB
Loading
228 KB
Loading

content/en/docs/demo/kubernetes-deployment.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Helm's [documentation](https://helm.sh/docs/) to get started.
1818
- 6 GB of free RAM for the application
1919
- Helm 3.14+ (for Helm installation method only)
2020

21-
## Install using Helm (recommended)
21+
## Install using Helm
2222

2323
Add OpenTelemetry Helm repository:
2424

@@ -46,13 +46,14 @@ helm install my-otel-demo open-telemetry/opentelemetry-demo
4646
> The OpenTelemetry Demo Helm chart version 0.11.0 or greater is required to
4747
> perform all usage methods mentioned below.
4848
49-
## Install using kubectl
49+
### Use Helm to generate a Kubernetes manifests
5050

51-
The following command will install the demo application to your Kubernetes
52-
cluster.
51+
The following command will generate a single Kubernetes manifest file which will
52+
contain a definition for all required resources. You can apply this manifest
53+
using `kubectl apply -f opentelemetry-demo.yaml` after generating it.
5354

5455
```shell
55-
kubectl create --namespace otel-demo -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-demo/main/kubernetes/opentelemetry-demo.yaml
56+
helm template opentelemetry-demo open-telemetry/opentelemetry-demo --namespace otel-demo > opentelemetry-demo.yaml
5657
```
5758

5859
> [!NOTE]
@@ -61,11 +62,6 @@ kubectl create --namespace otel-demo -f https://raw.githubusercontent.com/open-t
6162
> one version to another. If you need to upgrade the demo, you must first delete
6263
> the existing resources and then install the new version.
6364
64-
> [!NOTE]
65-
>
66-
> These manifests are generated from the Helm chart and are provided for
67-
> convenience. It is recommended to use the Helm chart for installation.
68-
6965
## Use the Demo
7066

7167
The demo application will need the services exposed outside of the Kubernetes

0 commit comments

Comments
 (0)