Skip to content

Commit

Permalink
Update opentelemetry-announced-support-for-profiling (#4183)
Browse files Browse the repository at this point in the history
  • Loading branch information
svrnm authored Mar 19, 2024
1 parent 4b89260 commit f2dbd7c
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 41 deletions.
41 changes: 0 additions & 41 deletions content/en/blog/2024/opentelemetry-announced-support-for-profiling

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: OpenTelemetry announces support for profiling
linkTitle: OpenTelemetry announces support for profiling
date: 2024-03-19
author: '[Austin Parker](https://github.com/austinlparker) (Honeycomb)'
---

In 2023, OpenTelemetry announced that it achieved stability for
[logs, metrics, and traces](https://www.cncf.io/blog/2023/11/07/opentelemetry-at-kubecon-cloudnativecon-north-america-2023-update/).
While this was our initial goal at the formation of the project, fulfilling our
vision of enabling built-in observability for cloud native applications requires
us to continue evolving with the community. This year, we’re proud to announce
that exactly two years after the Profiling SIG was created at KubeCon +
CloudNativeCon Europe 2022 in Valencia, we’re taking a big step towards this
goal by merging a profiling data model into our specification and working
towards a stable implementation this year!

## What is profiling?

Profiling is a method to dynamically inspect the behavior and performance of
application code at run-time. Continuous profiling gives insights into resource
utilization at a code-level and allows for this profiling data to be stored,
queried, and analyzed over time and across different attributes. It’s an
important technique for developers and performance engineers to understand
exactly what’s happening in their code. OpenTelemetry’s
[profiling signal](https://github.com/open-telemetry/oteps/blob/main/text/profiles/0239-profiles-data-model.md)
expands upon the work that has been done in this space and, as a first for the
industry, connects profiles with other telemetry signals from applications and
infrastructure. This allows developers and operators to correlate resource
exhaustion or poor user experience across their services with not just the
specific service or pod being impacted, but the function or line of code most
responsible for it.

We’re thrilled to see the embrace of this vision by the industry, with many
organizations coming together to help define the profiling signal. More
specifically, the following two donations are in play:

- Elastic has
[pledged to donate](https://github.com/open-telemetry/community/issues/1918)
their proprietary eBPF-based profiling agent <sup>1</sup>
- Splunk has begun the process of
[donating their .NET based profiler](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/pull/3196)

These are being donated to the project in order to accelerate the delivery and
implementation of OpenTelemetry profiling.

## What does this mean for users?

Profiles will support bi-directional links between themselves and other signals,
such as logs, metrics, and traces. You’ll be able to easily jump from resource
telemetry to a corresponding profile. For example:

- Metrics to profiles: You will be able to go from a spike in CPU usage or
memory usage to the specific pieces of the code which are consuming that
resource
- Traces to profiles: You will be able to understand not just the location of
latency across your services, but when that latency is caused by pieces of the
code it will be reflected in a profile attached to a trace or span
- Logs to profiles: Logs often give the context that something is wrong, but
profiling will allow you to go from just tracking something (i.e. Out Of
Memory errors) to seeing exactly which parts of the code are using up memory
resources

These are just a few and these links work the opposite direction as well, but
more generally profiling helps deliver on the promise of observability by making
it easier for users to query and understand an entire new dimension about their
applications with minimal additional code/effort.

A community in motion

This work would not be possible without the dedicated contributors who work on
OpenTelemetry each day. We’ve recently passed a new milestone, with over 1000
unique developers contributing to the project each month, representing over 180
companies. Across our most popular repositories, OpenTelemetry sees over 30
million downloads a month<sup>2</sup>, and new open source projects are adopting
our standards at a regular pace, including
[Apache Kafka](https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability),
and [dozens more](https://opentelemetry.io/ecosystem/integrations/). We’re also
deepening our integrations with other open source projects in CNCF and out, such
as [OpenFeature](https://openfeature.dev) and
[OpenSearch](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23611),
in addition to our existing integrations with Kubernetes, Thanos, Knative, and
many more.

2024 promises to be another big year for OpenTelemetry as we continue to
implement and stabilize our existing tracing, metrics, and log signals while
adding support for profiling, client-side RUM, and more. It’s a great time to
get involved – check out our [website](https://opentelemetry.io) to learn more!

<sup>1</sup> Pending due diligence and review by the OpenTelemetry maintainers.
<sup>2</sup> According to public download statistics of our .NET, Java, and
Python APIs
28 changes: 28 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,10 @@
"StatusCode": 206,
"LastSeen": "2024-01-30T06:05:58.139233-05:00"
},
"https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability": {
"StatusCode": 200,
"LastSeen": "2024-03-19T10:16:48.071549188Z"
},
"https://danielabaron.me": {
"StatusCode": 206,
"LastSeen": "2024-01-18T19:02:25.331813-05:00"
Expand Down Expand Up @@ -2839,6 +2843,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T16:04:53.024867-05:00"
},
"https://github.com/open-telemetry/community/issues/1918": {
"StatusCode": 200,
"LastSeen": "2024-03-19T10:16:37.692028682Z"
},
"https://github.com/open-telemetry/community/issues/828": {
"StatusCode": 200,
"LastSeen": "2024-01-18T19:37:16.771654-05:00"
Expand Down Expand Up @@ -2907,6 +2915,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-18T20:05:20.383893-05:00"
},
"https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23611": {
"StatusCode": 200,
"LastSeen": "2024-03-19T10:16:57.223070258Z"
},
"https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/14132": {
"StatusCode": 200,
"LastSeen": "2024-01-18T20:06:09.209998-05:00"
Expand Down Expand Up @@ -3219,6 +3231,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-18T20:05:24.636133-05:00"
},
"https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/pull/3196": {
"StatusCode": 200,
"LastSeen": "2024-03-19T10:16:41.537608304Z"
},
"https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases": {
"StatusCode": 200,
"LastSeen": "2024-01-30T15:25:22.100602-05:00"
Expand Down Expand Up @@ -5531,6 +5547,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-18T19:07:12.98586-05:00"
},
"https://opentelemetry.io": {
"StatusCode": 206,
"LastSeen": "2024-03-19T10:16:59.755536357Z"
},
"https://opentelemetry.io/docs/collector": {
"StatusCode": 206,
"LastSeen": "2024-02-23T22:55:03.656226-05:00"
Expand Down Expand Up @@ -5583,6 +5603,10 @@
"StatusCode": 206,
"LastSeen": "2024-02-24T14:33:05.630341-08:00"
},
"https://opentelemetry.io/ecosystem/integrations/": {
"StatusCode": 206,
"LastSeen": "2024-03-19T10:16:49.992495889Z"
},
"https://opentracing.io": {
"StatusCode": 206,
"LastSeen": "2024-01-18T19:07:33.813401-05:00"
Expand Down Expand Up @@ -7711,6 +7735,10 @@
"StatusCode": 206,
"LastSeen": "2024-01-30T05:18:24.717687-05:00"
},
"https://www.cncf.io/blog/2023/11/07/opentelemetry-at-kubecon-cloudnativecon-north-america-2023-update/": {
"StatusCode": 206,
"LastSeen": "2024-03-19T10:16:35.961700341Z"
},
"https://www.cncf.io/projects/": {
"StatusCode": 206,
"LastSeen": "2024-01-18T19:07:28.590053-05:00"
Expand Down

0 comments on commit f2dbd7c

Please sign in to comment.