|
| 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). |
0 commit comments