Skip to content

Commit 2581604

Browse files
authored
Blog post on the Go SIG's goals for 2025 (#5966)
1 parent c81613f commit 2581604

File tree

2 files changed

+199
-0
lines changed

2 files changed

+199
-0
lines changed

content/en/blog/2025/go-goals.md

+139
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: OpenTelemetry Go 2025 Goals
3+
linkTitle: Go 2025 Goals
4+
date: 2025-01-22
5+
author: >-
6+
[Tyler Yahn](https://github.com/MrAlias) (Splunk)
7+
sig: SIG Go
8+
# prettier-ignore
9+
cSpell:ignore: Yahn dashpole pellared otelhttp dmathieu otelhttp codeboten otellogr otellogrus otelslog otelzap otelzerolog
10+
---
11+
12+
As we kick off 2025, the
13+
[OpenTelemetry Go](https://github.com/open-telemetry/opentelemetry-go) team has
14+
come together to set a roadmap for the year. Our focus is on driving the
15+
OpenTelemetry Go project forward while strengthening its integration with the
16+
broader OpenTelemetry ecosystem.
17+
18+
## Goals
19+
20+
Here's an overview of our goals, their expected timelines, and the key
21+
contributors supporting each initiative.
22+
23+
### New Semantic Conventions (Weaver)
24+
25+
- Priority: First quarter goal
26+
- Tracking Issue:
27+
[#5668](https://github.com/open-telemetry/opentelemetry-go/issues/5668)
28+
- Sponsor: [@MrAlias](https://github.com/MrAlias)
29+
30+
Semantic conventions are foundational to OpenTelemetry and the cornerstone of
31+
data quality across the ecosystem. The OpenTelemetry community has recently
32+
updated the tooling used to generate these conventions into usable code by
33+
introducing the [weaver](https://github.com/open-telemetry/weaver) project. We
34+
plan to integrate this new tooling into the OpenTelemetry Go project and provide
35+
updates to the latest versions of semantic conventions.
36+
37+
### SDK Self-Observability Signals
38+
39+
- Priority: Yearly goal
40+
- Tracking Issue:
41+
[#2547](https://github.com/open-telemetry/opentelemetry-go/issues/2547)
42+
- Sponsor: [@dashpole](https://github.com/dashpole)
43+
44+
This goal aims to enhance the observability of the OpenTelemetry Go SDK itself.
45+
We plan to add metrics about the tracing portions of the SDK as a first step,
46+
but hope to expand this with more signals measuring all areas of the SDK.
47+
Unified semantic conventions across all OpenTelemetry languages will play a
48+
critical role in achieving this objective.
49+
50+
### Go Runtime Metrics Stabilization
51+
52+
- Priority: Yearly goal
53+
- Tracking Issue:
54+
[#5655](https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5655)
55+
- Sponsor: [@dashpole](https://github.com/dashpole)
56+
57+
Recently, the Go team
58+
[updated runtime metrics within the Go language](https://github.com/golang/go/issues/67120).
59+
These updates have been
60+
[codified in OpenTelemetry semantic conventions](https://github.com/open-telemetry/semantic-conventions/pull/981),
61+
and are provided as opt-in metrics in the
62+
[`runtime` package](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/runtime#pkg-overview).
63+
The Go SIG plans to gather community feedback and transition these metrics to an
64+
opt-out model, allowing better observability of Go runtimes.
65+
66+
### Logs API Stability
67+
68+
- Priority: Yearly goal
69+
- Tracking Project:
70+
[Go: Logs (GA)](https://github.com/orgs/open-telemetry/projects/43)
71+
- Sponsor: [@pellared](https://github.com/pellared)
72+
73+
Stabilizing the Logs API is crucial for providing a logging solution that aligns
74+
with OpenTelemetry’s overarching goals. Currently, a non-stable "beta"
75+
implementation of this API is provided in the
76+
[`log` package](https://pkg.go.dev/go.opentelemetry.io/otel/log), along with
77+
many bridges to popular logging packages:
78+
79+
- [`otellogr`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogr)
80+
- [`otellogrus`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogrus)
81+
- [`otelslog`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelslog)
82+
- [`otelzap`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelzap)
83+
- [`otelzerolog`](https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otelzerolog)
84+
85+
The Go SIG plans to continue its effort in developing the upstream
86+
specification. Work to stabilize the OpenTelemetry Go implementation depends on
87+
this upstream development, including the addition of Events.
88+
89+
### `otelhttp` Stabilization
90+
91+
- Priority: Yearly goal
92+
- Tracking Project:
93+
[Go: HTTP Semconv Migration](https://github.com/orgs/open-telemetry/projects/87)
94+
- Sponsor: [@dmathieu](https://github.com/dmathieu)
95+
96+
Stabilizing the
97+
[`otelhttp` instrumentation package](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)
98+
will ensure seamless HTTP observability and improved integration with the
99+
OpenTelemetry ecosystem. Before this can be accomplished, the instrumentation
100+
needs to be upgraded to use the latest stable version of semantic conventions.
101+
Currently, the `otelhttp` package supports duplicating semantic conventions as
102+
we transition to the newer version. We plan to finish supporting this
103+
duplication in all HTTP instrumentation, and then transition to an opt-out model
104+
for the latest semantic conventions in all instrumentation packages.
105+
106+
### File-Based Configuration
107+
108+
- Priority: Yearly goal
109+
- Tracking Label:
110+
[File-Based Configuration](https://github.com/open-telemetry/opentelemetry-go-contrib/labels/area%3A%20config)
111+
- Sponsors: [@MrAlias](https://github.com/MrAlias)
112+
[@codeboten](https://github.com/codeboten)
113+
114+
This effort focuses on enabling configuration of the SDK with YAML and JSON
115+
files, making it easier for users to adopt and customize OpenTelemetry without
116+
relying solely on environment variables or code changes. Currently, the
117+
[`config` package](https://pkg.go.dev/go.opentelemetry.io/contrib/config)
118+
provides and implementation of this feature. As
119+
[file-based configuration is stabilized upstream in the specification](https://github.com/orgs/open-telemetry/projects/38),
120+
we plan to keep `config` up-to-date with these changes and provide feedback to
121+
its development.
122+
123+
## Wrapping Up
124+
125+
The OpenTelemetry Go team has an ambitious but focused set of goals for 2025.
126+
These initiatives will enhance the observability landscape, improve developer
127+
experience, and strengthen the integration of OpenTelemetry within the broader
128+
ecosystem. We’re excited to work with the community to bring these goals to
129+
fruition!
130+
131+
We want to hear from you! Let us know what is missing or what you would like to
132+
see prioritized by commenting on
133+
[our tracking GitHub issue](https://github.com/open-telemetry/opentelemetry-go/issues/6175).
134+
135+
If you'd like to participate in any of our efforts and become a contributor to
136+
the OpenTelemetry Go SIG, join our weekly SIG meetings on Thursday alternating
137+
between 09:00 PT and 10:00 PT and our channel
138+
[#otel-go](https://cloud-native.slack.com/archives/C01NPAXACKT) on
139+
[CNCF Slack](https://slack.cncf.io).

static/refcache.json

+60
Original file line numberDiff line numberDiff line change
@@ -5251,6 +5251,10 @@
52515251
"StatusCode": 200,
52525252
"LastSeen": "2024-06-12T11:21:46.656082+02:00"
52535253
},
5254+
"https://github.com/golang/go/issues/67120": {
5255+
"StatusCode": 206,
5256+
"LastSeen": "2025-01-17T20:08:36.651965124Z"
5257+
},
52545258
"https://github.com/golang/go/issues/68652#issuecomment-2274452424": {
52555259
"StatusCode": 200,
52565260
"LastSeen": "2024-11-07T20:32:07.730871-05:00"
@@ -8779,10 +8783,18 @@
87798783
"StatusCode": 206,
87808784
"LastSeen": "2025-01-16T11:38:11.841222-05:00"
87818785
},
8786+
"https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5655": {
8787+
"StatusCode": 206,
8788+
"LastSeen": "2025-01-17T20:08:35.389078503Z"
8789+
},
87828790
"https://github.com/open-telemetry/opentelemetry-go-contrib/issues/new": {
87838791
"StatusCode": 200,
87848792
"LastSeen": "2024-05-27T10:19:47.859082+02:00"
87858793
},
8794+
"https://github.com/open-telemetry/opentelemetry-go-contrib/labels/area%3A%20config": {
8795+
"StatusCode": 206,
8796+
"LastSeen": "2025-01-17T20:08:42.564078807Z"
8797+
},
87868798
"https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/detectors/aws": {
87878799
"StatusCode": 206,
87888800
"LastSeen": "2025-01-16T11:40:46.409097-05:00"
@@ -8851,6 +8863,18 @@
88518863
"StatusCode": 200,
88528864
"LastSeen": "2024-01-30T16:05:30.739686-05:00"
88538865
},
8866+
"https://github.com/open-telemetry/opentelemetry-go/issues/2547": {
8867+
"StatusCode": 206,
8868+
"LastSeen": "2025-01-17T20:08:34.745075731Z"
8869+
},
8870+
"https://github.com/open-telemetry/opentelemetry-go/issues/5668": {
8871+
"StatusCode": 206,
8872+
"LastSeen": "2025-01-17T20:08:32.250190089Z"
8873+
},
8874+
"https://github.com/open-telemetry/opentelemetry-go/issues/6175": {
8875+
"StatusCode": 206,
8876+
"LastSeen": "2025-01-17T20:08:43.60441392Z"
8877+
},
88548878
"https://github.com/open-telemetry/opentelemetry-go/releases": {
88558879
"StatusCode": 206,
88568880
"LastSeen": "2025-01-13T11:43:28.027297-05:00"
@@ -12151,6 +12175,10 @@
1215112175
"StatusCode": 206,
1215212176
"LastSeen": "2025-01-15T13:17:31.33164-05:00"
1215312177
},
12178+
"https://github.com/open-telemetry/semantic-conventions/pull/981": {
12179+
"StatusCode": 206,
12180+
"LastSeen": "2025-01-21T20:19:53.65649882Z"
12181+
},
1215412182
"https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.21.0": {
1215512183
"StatusCode": 200,
1215612184
"LastSeen": "2024-01-30T15:25:16.567964-05:00"
@@ -12963,6 +12991,10 @@
1296312991
"StatusCode": 200,
1296412992
"LastSeen": "2024-01-30T16:14:36.015951-05:00"
1296512993
},
12994+
"https://github.com/open-telemetry/weaver": {
12995+
"StatusCode": 206,
12996+
"LastSeen": "2025-01-17T20:08:32.827234548Z"
12997+
},
1296612998
"https://github.com/open-telemetry/weaver/blob/main/crates/weaver_forge/README.md": {
1296712999
"StatusCode": 206,
1296813000
"LastSeen": "2025-01-16T14:20:32.148949-05:00"
@@ -13079,10 +13111,22 @@
1307913111
"StatusCode": 200,
1308013112
"LastSeen": "2024-01-30T16:14:54.102977-05:00"
1308113113
},
13114+
"https://github.com/orgs/open-telemetry/projects/38": {
13115+
"StatusCode": 206,
13116+
"LastSeen": "2025-01-17T20:08:43.090144339Z"
13117+
},
13118+
"https://github.com/orgs/open-telemetry/projects/43": {
13119+
"StatusCode": 206,
13120+
"LastSeen": "2025-01-17T20:08:41.237771131Z"
13121+
},
1308213122
"https://github.com/orgs/open-telemetry/projects/83": {
1308313123
"StatusCode": 200,
1308413124
"LastSeen": "2024-05-03T07:21:05.157831-07:00"
1308513125
},
13126+
"https://github.com/orgs/open-telemetry/projects/87": {
13127+
"StatusCode": 206,
13128+
"LastSeen": "2025-01-17T20:08:42.069795164Z"
13129+
},
1308613130
"https://github.com/orgs/open-telemetry/projects/92/views/1": {
1308713131
"StatusCode": 200,
1308813132
"LastSeen": "2024-05-27T10:19:41.986308+02:00"
@@ -16755,6 +16799,10 @@
1675516799
"StatusCode": 200,
1675616800
"LastSeen": "2024-03-01T16:49:37.76693+01:00"
1675716801
},
16802+
"https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogr": {
16803+
"StatusCode": 200,
16804+
"LastSeen": "2025-01-17T20:08:41.682210373Z"
16805+
},
1675816806
"https://pkg.go.dev/go.opentelemetry.io/contrib/bridges/otellogrus": {
1675916807
"StatusCode": 200,
1676016808
"LastSeen": "2024-05-15T16:22:37.734630943Z"
@@ -16771,6 +16819,10 @@
1677116819
"StatusCode": 200,
1677216820
"LastSeen": "2024-07-22T08:21:47.06167143Z"
1677316821
},
16822+
"https://pkg.go.dev/go.opentelemetry.io/contrib/config": {
16823+
"StatusCode": 200,
16824+
"LastSeen": "2025-01-17T20:08:42.670562631Z"
16825+
},
1677416826
"https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/aws/ec2": {
1677516827
"StatusCode": 200,
1677616828
"LastSeen": "2024-05-27T15:24:39.997553+02:00"
@@ -16815,6 +16867,10 @@
1681516867
"StatusCode": 200,
1681616868
"LastSeen": "2025-01-13T12:41:26.801397-05:00"
1681716869
},
16870+
"https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/runtime#pkg-overview": {
16871+
"StatusCode": 200,
16872+
"LastSeen": "2025-01-17T20:08:40.835272542Z"
16873+
},
1681816874
"https://pkg.go.dev/go.opentelemetry.io/contrib/propagators/aws": {
1681916875
"StatusCode": 200,
1682016876
"LastSeen": "2024-05-27T15:17:04.98266+02:00"
@@ -16875,6 +16931,10 @@
1687516931
"StatusCode": 200,
1687616932
"LastSeen": "2024-01-30T15:25:12.88079-05:00"
1687716933
},
16934+
"https://pkg.go.dev/go.opentelemetry.io/otel/log": {
16935+
"StatusCode": 200,
16936+
"LastSeen": "2025-01-17T20:08:41.484726965Z"
16937+
},
1687816938
"https://pkg.go.dev/go.opentelemetry.io/otel/metric": {
1687916939
"StatusCode": 200,
1688016940
"LastSeen": "2024-01-30T15:24:56.783398-05:00"

0 commit comments

Comments
 (0)