Skip to content

Commit f2dbd7c

Browse files
authored
Update opentelemetry-announced-support-for-profiling (#4183)
1 parent 4b89260 commit f2dbd7c

3 files changed

+120
-41
lines changed

content/en/blog/2024/opentelemetry-announced-support-for-profiling

-41
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: OpenTelemetry announces support for profiling
3+
linkTitle: OpenTelemetry announces support for profiling
4+
date: 2024-03-19
5+
author: '[Austin Parker](https://github.com/austinlparker) (Honeycomb)'
6+
---
7+
8+
In 2023, OpenTelemetry announced that it achieved stability for
9+
[logs, metrics, and traces](https://www.cncf.io/blog/2023/11/07/opentelemetry-at-kubecon-cloudnativecon-north-america-2023-update/).
10+
While this was our initial goal at the formation of the project, fulfilling our
11+
vision of enabling built-in observability for cloud native applications requires
12+
us to continue evolving with the community. This year, we’re proud to announce
13+
that exactly two years after the Profiling SIG was created at KubeCon +
14+
CloudNativeCon Europe 2022 in Valencia, we’re taking a big step towards this
15+
goal by merging a profiling data model into our specification and working
16+
towards a stable implementation this year!
17+
18+
## What is profiling?
19+
20+
Profiling is a method to dynamically inspect the behavior and performance of
21+
application code at run-time. Continuous profiling gives insights into resource
22+
utilization at a code-level and allows for this profiling data to be stored,
23+
queried, and analyzed over time and across different attributes. It’s an
24+
important technique for developers and performance engineers to understand
25+
exactly what’s happening in their code. OpenTelemetry’s
26+
[profiling signal](https://github.com/open-telemetry/oteps/blob/main/text/profiles/0239-profiles-data-model.md)
27+
expands upon the work that has been done in this space and, as a first for the
28+
industry, connects profiles with other telemetry signals from applications and
29+
infrastructure. This allows developers and operators to correlate resource
30+
exhaustion or poor user experience across their services with not just the
31+
specific service or pod being impacted, but the function or line of code most
32+
responsible for it.
33+
34+
We’re thrilled to see the embrace of this vision by the industry, with many
35+
organizations coming together to help define the profiling signal. More
36+
specifically, the following two donations are in play:
37+
38+
- Elastic has
39+
[pledged to donate](https://github.com/open-telemetry/community/issues/1918)
40+
their proprietary eBPF-based profiling agent <sup>1</sup>
41+
- Splunk has begun the process of
42+
[donating their .NET based profiler](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/pull/3196)
43+
44+
These are being donated to the project in order to accelerate the delivery and
45+
implementation of OpenTelemetry profiling.
46+
47+
## What does this mean for users?
48+
49+
Profiles will support bi-directional links between themselves and other signals,
50+
such as logs, metrics, and traces. You’ll be able to easily jump from resource
51+
telemetry to a corresponding profile. For example:
52+
53+
- Metrics to profiles: You will be able to go from a spike in CPU usage or
54+
memory usage to the specific pieces of the code which are consuming that
55+
resource
56+
- Traces to profiles: You will be able to understand not just the location of
57+
latency across your services, but when that latency is caused by pieces of the
58+
code it will be reflected in a profile attached to a trace or span
59+
- Logs to profiles: Logs often give the context that something is wrong, but
60+
profiling will allow you to go from just tracking something (i.e. Out Of
61+
Memory errors) to seeing exactly which parts of the code are using up memory
62+
resources
63+
64+
These are just a few and these links work the opposite direction as well, but
65+
more generally profiling helps deliver on the promise of observability by making
66+
it easier for users to query and understand an entire new dimension about their
67+
applications with minimal additional code/effort.
68+
69+
A community in motion
70+
71+
This work would not be possible without the dedicated contributors who work on
72+
OpenTelemetry each day. We’ve recently passed a new milestone, with over 1000
73+
unique developers contributing to the project each month, representing over 180
74+
companies. Across our most popular repositories, OpenTelemetry sees over 30
75+
million downloads a month<sup>2</sup>, and new open source projects are adopting
76+
our standards at a regular pace, including
77+
[Apache Kafka](https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability),
78+
and [dozens more](https://opentelemetry.io/ecosystem/integrations/). We’re also
79+
deepening our integrations with other open source projects in CNCF and out, such
80+
as [OpenFeature](https://openfeature.dev) and
81+
[OpenSearch](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23611),
82+
in addition to our existing integrations with Kubernetes, Thanos, Knative, and
83+
many more.
84+
85+
2024 promises to be another big year for OpenTelemetry as we continue to
86+
implement and stabilize our existing tracing, metrics, and log signals while
87+
adding support for profiling, client-side RUM, and more. It’s a great time to
88+
get involved – check out our [website](https://opentelemetry.io) to learn more!
89+
90+
<sup>1</sup> Pending due diligence and review by the OpenTelemetry maintainers.
91+
<sup>2</sup> According to public download statistics of our .NET, Java, and
92+
Python APIs

static/refcache.json

+28
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,10 @@
579579
"StatusCode": 206,
580580
"LastSeen": "2024-01-30T06:05:58.139233-05:00"
581581
},
582+
"https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability": {
583+
"StatusCode": 200,
584+
"LastSeen": "2024-03-19T10:16:48.071549188Z"
585+
},
582586
"https://danielabaron.me": {
583587
"StatusCode": 206,
584588
"LastSeen": "2024-01-18T19:02:25.331813-05:00"
@@ -2839,6 +2843,10 @@
28392843
"StatusCode": 200,
28402844
"LastSeen": "2024-01-30T16:04:53.024867-05:00"
28412845
},
2846+
"https://github.com/open-telemetry/community/issues/1918": {
2847+
"StatusCode": 200,
2848+
"LastSeen": "2024-03-19T10:16:37.692028682Z"
2849+
},
28422850
"https://github.com/open-telemetry/community/issues/828": {
28432851
"StatusCode": 200,
28442852
"LastSeen": "2024-01-18T19:37:16.771654-05:00"
@@ -2907,6 +2915,10 @@
29072915
"StatusCode": 200,
29082916
"LastSeen": "2024-01-18T20:05:20.383893-05:00"
29092917
},
2918+
"https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23611": {
2919+
"StatusCode": 200,
2920+
"LastSeen": "2024-03-19T10:16:57.223070258Z"
2921+
},
29102922
"https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/14132": {
29112923
"StatusCode": 200,
29122924
"LastSeen": "2024-01-18T20:06:09.209998-05:00"
@@ -3219,6 +3231,10 @@
32193231
"StatusCode": 200,
32203232
"LastSeen": "2024-01-18T20:05:24.636133-05:00"
32213233
},
3234+
"https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/pull/3196": {
3235+
"StatusCode": 200,
3236+
"LastSeen": "2024-03-19T10:16:41.537608304Z"
3237+
},
32223238
"https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases": {
32233239
"StatusCode": 200,
32243240
"LastSeen": "2024-01-30T15:25:22.100602-05:00"
@@ -5531,6 +5547,10 @@
55315547
"StatusCode": 200,
55325548
"LastSeen": "2024-01-18T19:07:12.98586-05:00"
55335549
},
5550+
"https://opentelemetry.io": {
5551+
"StatusCode": 206,
5552+
"LastSeen": "2024-03-19T10:16:59.755536357Z"
5553+
},
55345554
"https://opentelemetry.io/docs/collector": {
55355555
"StatusCode": 206,
55365556
"LastSeen": "2024-02-23T22:55:03.656226-05:00"
@@ -5583,6 +5603,10 @@
55835603
"StatusCode": 206,
55845604
"LastSeen": "2024-02-24T14:33:05.630341-08:00"
55855605
},
5606+
"https://opentelemetry.io/ecosystem/integrations/": {
5607+
"StatusCode": 206,
5608+
"LastSeen": "2024-03-19T10:16:49.992495889Z"
5609+
},
55865610
"https://opentracing.io": {
55875611
"StatusCode": 206,
55885612
"LastSeen": "2024-01-18T19:07:33.813401-05:00"
@@ -7711,6 +7735,10 @@
77117735
"StatusCode": 206,
77127736
"LastSeen": "2024-01-30T05:18:24.717687-05:00"
77137737
},
7738+
"https://www.cncf.io/blog/2023/11/07/opentelemetry-at-kubecon-cloudnativecon-north-america-2023-update/": {
7739+
"StatusCode": 206,
7740+
"LastSeen": "2024-03-19T10:16:35.961700341Z"
7741+
},
77147742
"https://www.cncf.io/projects/": {
77157743
"StatusCode": 206,
77167744
"LastSeen": "2024-01-18T19:07:28.590053-05:00"

0 commit comments

Comments
 (0)