<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf" -->

---
title: OpenTelemetry for connect-go: Observability out of the...
description: Buf has released connect-opentelemetry-go, a library that adds out-of-the-box OpenTelemetry instrumentation (tracing and metrics) to connect-go applications....
canonical: https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: OpenTelemetry for connect-go: Observability out of the box · Buf | daily.dev
og:description: Buf has released connect-opentelemetry-go, a library that adds out-of-the-box OpenTelemetry instrumentation (tracing and metrics) to connect-go applications....
og:url: https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf
og:image: https://api.daily.dev/og/posts/XNlCppDcf.png
og:image:alt: OpenTelemetry for connect-go: Observability out of the box · Buf
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenTelemetry for connect-go: Observability out of the box · Buf

**[Buf Blog](https://daily.dev/sources/buf)** · 3 min read · 0 upvotes · 0 comments

## Summary

Buf has released connect-opentelemetry-go, a library that adds out-of-the-box OpenTelemetry instrumentation (tracing and metrics) to connect-go applications. It conforms to OpenTelemetry specifications for both gRPC and Connect protocols, works with platforms like Grafana, Datadog, Zipkin, and Jaeger, and supports unary and streaming endpoints on both clients and servers. Enabling it requires just passing an interceptor option into the client or server constructor. Beyond standard HTTP observability, it exposes RPC-specific attributes such as rpc.system, rpc.service/rpc.method, responses_per_rpc, and error_code.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://buf.build/blog/connect-opentelemetry-go>

## Questions this post answers

### How do I add OpenTelemetry tracing and metrics to a connect-go service?

Use the connect-opentelemetry-go library and pass otelconnect.NewInterceptor() as an option when constructing your connect-go client or server. This automatically instruments unary and streaming endpoints for both client and server sides, producing traces and metrics compatible with the OpenTelemetry specification, in just a few lines of code.

_Developers wiring up observability for RPC services can find setup guides and updates like this on daily.dev._

### What RPC-specific data does OpenTelemetry expose for connect-go that plain HTTP observability does not?

OpenTelemetry instrumentation for connect-go exposes attributes like rpc.system (whether the call used gRPC, gRPC-Web, or Connect), rpc.service and rpc.method identifying what was called, responses_per_rpc counting responses per RPC service, and error_code showing the specific gRPC or Connect error returned. Standard net/http observability tools cannot surface these details.

_Engineers debugging RPC error rates can track tooling like this via daily.dev to fill observability gaps._

### Which observability platforms work with connect-go through OpenTelemetry?

connect-opentelemetry-go conforms to the OpenTelemetry specification for both gRPC and Connect protocols, making it compatible with observability platforms including Grafana, Datadog, Zipkin, and Jaeger. Because OpenTelemetry is vendor-neutral, the backend observability platform can be swapped without changing application code.

_Teams comparing observability backends for Go services can follow ecosystem updates on daily.dev._

## Similar posts on daily.dev

- [Announcing v1 of OpenTelemetry Go Compile-Time Instrumentation](https://daily.dev/posts/announcing-v1-of-opentelemetry-go-compile-time-instrumentation-sf7b5uncy) · OpenTelemetry · 25 upvotes · 1 comments
- [connect-go v2 is here · Buf Blog](https://daily.dev/posts/connect-go-v2-is-here-buf-blog-wnnqxkza3) · Buf Blog · 9 upvotes · 0 comments
- [Observability in Go: Where to start and what matters most](https://daily.dev/posts/observability-in-go-where-to-start-and-what-matters-most-yxb08zvul) · Grafana Labs · 32 upvotes · 0 comments
- [Use OpenTelemetry-native observability with Datadog from ingestion to investigation](https://daily.dev/posts/use-opentelemetry-native-observability-with-datadog-from-ingestion-to-investigation-lgdb8qeve) · Datadog · 4 upvotes · 0 comments
- [Issue \#610: Compile-time OpenTelemetry instrumentation for Go — Go Weekly](https://daily.dev/posts/issue-610-compile-time-opentelemetry-instrumentation-for-go-go-weekly-y0r4u0bey) · Golang Weekly · 2 upvotes · 0 comments

---

Tags: [#golang](https://daily.dev/tags/golang), [#observability](https://daily.dev/tags/observability), [#opentelemetry](https://daily.dev/tags/opentelemetry), [#grpc](https://daily.dev/tags/grpc)

[View this post on daily.dev](https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"OpenTelemetry for connect-go: Observability out of the box · Buf","url":"https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf"},"datePublished":"2026-08-23T07:20:17.776Z","dateModified":"2026-08-23T07:22:58.028Z","description":"Buf has released connect-opentelemetry-go, a library that adds out-of-the-box OpenTelemetry instrumentation (tracing and metrics) to connect-go applications....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a5113823aeed02f9c34d5c9f03dc35f8?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a5113823aeed02f9c34d5c9f03dc35f8?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Buf Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Buf Blog","logo":"https://media.daily.dev/image/upload/s--2YBgo_Nm--/f_auto,q_auto/v1787469605/logos/buf?_a=BAMAMicg0","url":"https://daily.dev/sources/buf"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"golang,observability,opentelemetry,grpc","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Buf Blog","item":"https://daily.dev/sources/buf"},{"@type":"ListItem","position":3,"name":"OpenTelemetry for connect-go: Observability out of the box · Buf"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/opentelemetry-for-connect-go-observability-out-of-the-box-buf-xnlcppdcf#faq","mainEntity":[{"@type":"Question","name":"How do I add OpenTelemetry tracing and metrics to a connect-go service?","acceptedAnswer":{"@type":"Answer","text":"Use the connect-opentelemetry-go library and pass otelconnect.NewInterceptor() as an option when constructing your connect-go client or server. This automatically instruments unary and streaming endpoints for both client and server sides, producing traces and metrics compatible with the OpenTelemetry specification, in just a few lines of code. Developers wiring up observability for RPC services can find setup guides and updates like this on daily.dev."}},{"@type":"Question","name":"What RPC-specific data does OpenTelemetry expose for connect-go that plain HTTP observability does not?","acceptedAnswer":{"@type":"Answer","text":"OpenTelemetry instrumentation for connect-go exposes attributes like rpc.system (whether the call used gRPC, gRPC-Web, or Connect), rpc.service and rpc.method identifying what was called, responses_per_rpc counting responses per RPC service, and error_code showing the specific gRPC or Connect error returned. Standard net/http observability tools cannot surface these details. Engineers debugging RPC error rates can track tooling like this via daily.dev to fill observability gaps."}},{"@type":"Question","name":"Which observability platforms work with connect-go through OpenTelemetry?","acceptedAnswer":{"@type":"Answer","text":"connect-opentelemetry-go conforms to the OpenTelemetry specification for both gRPC and Connect protocols, making it compatible with observability platforms including Grafana, Datadog, Zipkin, and Jaeger. Because OpenTelemetry is vendor-neutral, the backend observability platform can be swapped without changing application code. Teams comparing observability backends for Go services can follow ecosystem updates on daily.dev."}}]}
```

