Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blog post on the Go SIG's goals for 2025 #5966

Merged
merged 21 commits into from
Jan 22, 2025
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions content/en/blog/2025/go-2025-goals.md
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
title: OpenTelemetry Go 2025 Goals
linkTitle: Go Goals 2025
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
date: 2025-01-21
author: >-
[Tyler Yahn](https://github.com/MrAlias) (Splunk)
sig: SIG Go
# prettier-ignore
cSpell:ignore: Yahn dashpole pellared otelhttp dmathieu otelhttp codeboten otellogr otellogrus otelslog otelzap otelzerolog
---

As we kick off 2025, the OpenTelemetry Go team has come together to set a
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
roadmap for the year. Our focus is on driving the OpenTelemetry Go project
forward while strengthening its integration with the broader OpenTelemetry
ecosystem. Here's an overview of our goals, their expected timelines, and the
key contributors supporting each initiative.

## Goals

### New Semantic Conventions (Weaver)

- Priority: First quarter goal
- Tracking Issue:
[#5668](https://github.com/open-telemetry/opentelemetry-go/issues/5668)
- Sponsor: [@MrAlias](https://github.com/MrAlias)

Semantic conventions are foundational to OpenTelemetry and the cornerstone of
data quality across the ecosystem. The OpenTelemetry community has recently
updated the tooling used to generate these conventions into usable code by
introducing the [weaver](https://github.com/open-telemetry/weaver) project. We
plan to integrate this new tooling into the OpenTelemetry Go project and provide
updates to the latest versions of semantic conventions.

### SDK Self-Observability Signals

- Priority: Yearly goal
- Tracking Issue:
[#2547](https://github.com/open-telemetry/opentelemetry-go/issues/2547)
- Sponsor: [@dashpole](https://github.com/dashpole)

This goal aims to enhance the observability of the OpenTelemetry Go SDK itself.
We plan to add metrics about the tracing portions of the SDK as a first step,
but hope to expand this with more signals measuring all areas of the SDK.
Unified semantic conventions across all OpenTelemetry languages will play a
critical role in achieving this objective.

### Go Runtime Metrics Stabilization

- Priority: Yearly goal
- Tracking Issue:
[#5655](https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5655)
- Sponsor: [@dashpole](https://github.com/dashpole)

Recently, the Go team
[updated runtime metrics within the Go language](https://github.com/golang/go/issues/67120).
These updates have been
[codified in OpenTelemetry semantic conventions](https://github.com/open-telemetry/semantic-conventions/pull/981),
and are provided as opt-in metrics in the
[`runtime` package](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/runtime#pkg-overview).
The Go SIG plans to gather community feedback and transition these metrics to an
opt-out model, allowing better observability of Go runtimes.

### Logs API Stability

- Priority: Yearly goal
- Tracking Project:
[Go: Logs (GA)](https://github.com/orgs/open-telemetry/projects/43)
- Sponsor: [@pellared](https://github.com/pellared)

Stabilizing the Logs API is crucial for providing a logging solution that aligns
with OpenTelemetry’s overarching goals. Currently, a non-stable "beta"
implementation of this API is provided in the
[`log` package](https://pkg.go.dev/go.opentelemetry.io/otel/log), along with
many bridges to popular logging packages:

- [`otellogr`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogr)
- [`otellogrus`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogrus)
- [`otelslog`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelslog)
- [`otelzap`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelzap)
- [`otelzerolog`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelzerolog)

The Go SIG plans to continue its effort in developing the upstream
specification. Work to stabilize the OpenTelemetry Go implementation depends on
this upstream development, including the development of the event signal.
MrAlias marked this conversation as resolved.
Show resolved Hide resolved

### `otelhttp` Stabilization

Priority: Yearly goal Tracking Project:
[Go: HTTP Semconv Migration](https://github.com/orgs/open-telemetry/projects/87)
Sponsor: [@dmathieu](https://github.com/dmathieu)
MrAlias marked this conversation as resolved.
Show resolved Hide resolved

Stabilizing the
[`otelhttp` instrumentation package](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)
will ensure seamless HTTP observability and improved integration with the
OpenTelemetry ecosystem. Before this can be accomplished, the instrumentation
needs to be upgraded to use the latest stable version of semantic conventions.
Currently, the `otelhttp` package supports duplicating semantic conventions as
we transition to the newer version. We plan to finish supporting this
duplication in all HTTP instrumentation, and then transition to an opt-out model
for the latest semantic conventions in all instrumentation packages.

### File-Based Configuration

- Priority: Yearly goal
- Tracking Label:
[File-Based Configuration](https://github.com/open-telemetry/opentelemetry-go-contrib/labels/area%3A%20config)
- Sponsors: [@MrAlias](https://github.com/MrAlias)
[@codeboten](https://github.com/codeboten)

This effort focuses on enabling configuration of the SDK with YAML and JSON
files, making it easier for users to adopt and customize OpenTelemetry without
relying solely on environment variables or code changes. Currently, the
[`config` package](https://pkg.go.dev/go.opentelemetry.io/contrib/config)
provides and implementation of this feature. As
[file-based configuration is stabilized upstream in the specification](https://github.com/orgs/open-telemetry/projects/38),
we plan to keep `config` up-to-date with these changes and provide feedback to
its development.

## Wrapping Up

The OpenTelemetry Go team has an ambitious but focused set of goals for 2025.
These initiatives will enhance the observability landscape, improve developer
experience, and strengthen the integration of OpenTelemetry within the broader
ecosystem. We’re excited to work with the community to bring these goals to
fruition!

We want to hear from you! Let us know what is missing or what you would like to
see prioritized by commenting on
[our tracking GitHub issue](https://github.com/open-telemetry/opentelemetry-go/issues/6175).
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
56 changes: 56 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -5239,6 +5239,10 @@
"StatusCode": 200,
"LastSeen": "2024-06-12T11:21:46.656082+02:00"
},
"https://github.com/golang/go/issues/67120": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:36.651965124Z"
},
"https://github.com/golang/go/issues/68652#issuecomment-2274452424": {
"StatusCode": 200,
"LastSeen": "2024-11-07T20:32:07.730871-05:00"
Expand Down Expand Up @@ -8335,10 +8339,18 @@
"StatusCode": 206,
"LastSeen": "2025-01-16T11:38:11.841222-05:00"
},
"https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5655": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:35.389078503Z"
},
"https://github.com/open-telemetry/opentelemetry-go-contrib/issues/new": {
"StatusCode": 200,
"LastSeen": "2024-05-27T10:19:47.859082+02:00"
},
"https://github.com/open-telemetry/opentelemetry-go-contrib/labels/area%3A%20config": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:42.564078807Z"
},
"https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/detectors/aws": {
"StatusCode": 206,
"LastSeen": "2025-01-16T11:40:46.409097-05:00"
Expand Down Expand Up @@ -8407,6 +8419,18 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T16:05:30.739686-05:00"
},
"https://github.com/open-telemetry/opentelemetry-go/issues/2547": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:34.745075731Z"
},
"https://github.com/open-telemetry/opentelemetry-go/issues/5668": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:32.250190089Z"
},
"https://github.com/open-telemetry/opentelemetry-go/issues/6175": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:43.60441392Z"
},
"https://github.com/open-telemetry/opentelemetry-go/releases": {
"StatusCode": 206,
"LastSeen": "2025-01-13T11:43:28.027297-05:00"
Expand Down Expand Up @@ -9867,6 +9891,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T16:14:36.015951-05:00"
},
"https://github.com/open-telemetry/weaver": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:32.827234548Z"
},
"https://github.com/open-telemetry/weaver/blob/main/crates/weaver_forge/README.md": {
"StatusCode": 206,
"LastSeen": "2025-01-16T14:20:32.148949-05:00"
Expand Down Expand Up @@ -9983,10 +10011,22 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T16:14:54.102977-05:00"
},
"https://github.com/orgs/open-telemetry/projects/38": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:43.090144339Z"
},
"https://github.com/orgs/open-telemetry/projects/43": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:41.237771131Z"
},
"https://github.com/orgs/open-telemetry/projects/83": {
"StatusCode": 200,
"LastSeen": "2024-05-03T07:21:05.157831-07:00"
},
"https://github.com/orgs/open-telemetry/projects/87": {
"StatusCode": 206,
"LastSeen": "2025-01-17T20:08:42.069795164Z"
},
"https://github.com/orgs/open-telemetry/projects/92/views/1": {
"StatusCode": 200,
"LastSeen": "2024-05-27T10:19:41.986308+02:00"
Expand Down Expand Up @@ -13619,6 +13659,10 @@
"StatusCode": 200,
"LastSeen": "2024-03-01T16:49:37.76693+01:00"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogr": {
"StatusCode": 200,
"LastSeen": "2025-01-17T20:08:41.682210373Z"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogrus": {
"StatusCode": 200,
"LastSeen": "2024-05-15T16:22:37.734630943Z"
Expand All @@ -13635,6 +13679,10 @@
"StatusCode": 200,
"LastSeen": "2024-07-22T08:21:47.06167143Z"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/config": {
"StatusCode": 200,
"LastSeen": "2025-01-17T20:08:42.670562631Z"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/ec2": {
"StatusCode": 200,
"LastSeen": "2024-05-27T15:24:39.997553+02:00"
Expand Down Expand Up @@ -13679,6 +13727,10 @@
"StatusCode": 200,
"LastSeen": "2025-01-13T12:41:26.801397-05:00"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/runtime#pkg-overview": {
"StatusCode": 200,
"LastSeen": "2025-01-17T20:08:40.835272542Z"
},
"https://pkg.go.dev/go.opentelemetry.io/contrib/propagators/aws": {
"StatusCode": 200,
"LastSeen": "2024-05-27T15:17:04.98266+02:00"
Expand Down Expand Up @@ -13739,6 +13791,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T15:25:12.88079-05:00"
},
"https://pkg.go.dev/go.opentelemetry.io/otel/log": {
"StatusCode": 200,
"LastSeen": "2025-01-17T20:08:41.484726965Z"
},
"https://pkg.go.dev/go.opentelemetry.io/otel/metric": {
"StatusCode": 200,
"LastSeen": "2024-01-30T15:24:56.783398-05:00"
Expand Down
Loading