Skip to content

Commit b17f4a7

Browse files
florianltheletterf
andauthored
edot/docs: add support for profiles (#10146)
* edot/docs: add support for profiles Start to add documentation for the profiles support in EDOT. Signed-off-by: Florian Lehner <[email protected]> * fixup: new line at end of file Signed-off-by: Florian Lehner <[email protected]> * Reorganize docs * drop link to UP Signed-off-by: Florian Lehner <[email protected]> * Update configure-profiles-collection.md * drop regular profiling Signed-off-by: Florian Lehner <[email protected]> * drop second part Signed-off-by: Florian Lehner <[email protected]> --------- Signed-off-by: Florian Lehner <[email protected]> Co-authored-by: Fabrizio Ferri-Benedetti <[email protected]> Co-authored-by: Fabrizio Ferri-Benedetti <[email protected]>
1 parent ad29588 commit b17f4a7

File tree

5 files changed

+98
-2
lines changed

5 files changed

+98
-2
lines changed

docs/reference/edot-collector/config/configure-logs-collection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
navigation_title: Configure Logs Collection
2+
navigation_title: Logs collection
33
description: Learn how to configure and customize logs collection through the Elastic Distribution of OpenTelemetry Collector.
44
applies_to:
55
stack:

docs/reference/edot-collector/config/configure-metrics-collection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
navigation_title: Configure Metrics Collection
2+
navigation_title: Metrics collection
33
description: Learn how to configure and customize metrics collection through the Elastic Distribution of OpenTelemetry Collector.
44
applies_to:
55
stack:
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
navigation_title: Profiles collection
3+
description: Learn how to configure and customize profiles collection through the Elastic Distribution of OpenTelemetry Collector.
4+
applies_to:
5+
stack: preview 9.2
6+
serverless:
7+
observability:
8+
product:
9+
edot_collector: preview
10+
products:
11+
- id: observability
12+
- id: edot-collector
13+
---
14+
15+
# Configure profiles collection
16+
17+
The {{edot}} (EDOT) Collector includes a profiling receiver, which offers an eBPF-based, system-wide profiler.
18+
19+
To activate and configure profiling and send profiles to {{ecloud}} or {{es}}, follow these instructions.
20+
21+
:::{important}
22+
OpenTelemetry profiling is still under active development. Refer to [The State of Profiling](https://opentelemetry.io/blog/2024/state-profiling/) blog post for more information.
23+
:::
24+
25+
## Turn on profiling
26+
27+
Follow these steps to turn on profiles collection through the EDOT Collector.
28+
29+
:::::{stepper}
30+
::::{step} Activate profiling in the Collector
31+
To activate profiling in the EDOT Collector, start it using the additional argument `--feature-gates=service.profilesSupport`.
32+
33+
For example:
34+
35+
```sh
36+
sudo ./otelcol --config otel.yml --feature-gates=service.profilesSupport
37+
```
38+
::::
39+
:::::
40+
41+
## Generate metrics from profiles
42+
43+
You can configure the components to generate and report metrics exclusively from profile information. This method contributes to a reduction in ingest traffic and storage costs.
44+
45+
The following example generates profiling metrics by frame, frame type, and classification:
46+
47+
```yaml
48+
connectors:
49+
profilingmetrics:
50+
by_frame: true
51+
by_frametype: true
52+
by_classification: true
53+
54+
receivers:
55+
profiling:
56+
SamplesPerSecond: 19
57+
58+
service:
59+
pipelines:
60+
profiles:
61+
receivers: [ profiling ]
62+
exporters: [ profilingmetrics ]
63+
metrics:
64+
receivers: [ profilingmetrics ]
65+
exporters: [ elasticsearch ]
66+
```
67+
68+
## Kubernetes deployments
69+
70+
In Kubernetes, we suggest deploying the EDOT Collector with a profiling receiver as a DaemonSet. This ensures comprehensive, node-level profiling across the entire cluster, providing consistent data collection, resilience, scalability, and simplified management. This approach is recommended for optimal performance and full observability.

docs/reference/edot-collector/toc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ toc:
1010
- file: config/configure-metrics-collection.md
1111
- file: config/tail-based-sampling.md
1212
- file: config/authentication-methods.md
13+
- file: config/configure-profiles-collection.md
1314
- file: config/proxy.md
1415
- file: components.md
1516
children:
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
receivers:
2+
profiling:
3+
SamplesPerSecond: 19
4+
5+
connectors:
6+
profilingmetrics:
7+
by_frametype: true
8+
by_frame: true
9+
by_classification: true
10+
11+
exporters:
12+
elasticsearch:
13+
endpoints: [ "${env:ELASTIC_ENDPOINT}" ]
14+
api_key: ${env:ELASTIC_API_KEY}
15+
mapping:
16+
mode: otel
17+
18+
service:
19+
pipelines:
20+
profiles:
21+
receivers: [ profiling ]
22+
exporters: [ profilingmetrics ]
23+
metrics:
24+
receivers: [ profilingmetrics ]
25+
exporters: [ elasticsearch ]

0 commit comments

Comments
 (0)