Profile avatar
felixge.de
Working at Datadog on Go Profiling, Performance, OpenTelemetry and more. Before: - Manufacturing Observability at Apple - Co-founder at Transloadit - Node.js Core Dev
52 posts 2,092 followers 104 following
Regular Contributor
Active Commenter

6h of meetings in the calendar today. I think it's about time I go on "vacation" to get some work done.

Yandex released a new eBPF profiler. If you're into profiling, I highly recommend reading their announcement post. It covers a lot of background knowledge, and also introduces some cool new ideas such as capturing micro coredumps when a process gets killed! medium.com/yandex/yande...

Datadog is on Bluesky! Follow us to stay up to date on the latest in observability and security, product innovation, Datadog happenings and more.

I'm honoured to have been added to the PostgreSQL Contributors list, along with Nikolay Samokhvalov! www.postgresql.org/community/co... Thank you to everyone who makes Postgres what it is. I'm chuffed to be recognised as playing a small part in helping such a wonderful project ☺️✌️🐘

Alibaba, Datadog, and Quesma Join Forces on Go Compile-Time Instrumentation, read the full announcement:

My daughter has been putting all her stuffed animals “to sleep” by putting towels over their bodies (including the head) for a while. It always felt a little creepy ..., but she has now graduated to wearing medical gloves while doing it. When should I start to get worried? 😂

Have you ever struggled with debugging memory leaks or OOM kills in Java or Go? My team at @datadoghq.com has recently shipped a guided memory leak workflow that can quickly guide you through the right steps to find and fix the problematic code.

Today's OTel Night is kicked off by @felixge.de and @kakkoyun.me with OpenTelemetry Profiles!

Thrilled to share that I’ve joined @datadoghq.com as a Staff Software Engineer on the Language Platform team for @golang.org 🐹 I’m excited to continue my journey in observability and performance engineering, focusing on building tools that make developers’ lives easier.

My favorite aspect of OSS and sharing knowledge with the community: It all adds up to a virtuous circle. Also: If you enjoy a project with less than ~1000 stars, consider letting the author know. It's a small effort and can easily make someones day.

Nick Ripley of @datadoghq.bsky.social wrote up something recently on our collaboration to squish bugs surfaced by frame pointer unwinding code in the Go runtime: nsrip.com/posts/clobbe...

I've finally gotten around to publishing my notes on how I use jj for contributing to Go/working with Gerrit. pratt.im/notes/jj-go-...

How often do people run into the SetFinalizer footguns in Go? (Accidental cycle, for example.) Would a GODEBUG that does something slow but tells you when you've made a mistake be useful to you? (Maybe even just for tests, to prevent a regression?) Sketch: go-review.googlesource.com/c/go/+/634599

For the past few days, I've been hacking on a new algorithm for analyzing go runtime traces. It seemed great, but fell apart on real data because it was O(N²) and I struggled to figure out how to optimize it. This morning the solution came to me. Thank you Santa 🎅🏻🎁🎉!!

Go iterator xmas wish: Always let me do do: for i, x := range iter() {} Right now this only works if iter() returns an iter.Seq2. But sometimes I have an iter.Seq and want a loop counter! The workaround below is rather annoying: var i int for x := range iter() { i++ }

🔭🐶 Exciting news: @datadoghq.bsky.social has announced our intend on donating our new Go auto-instrumentation framework to @opentelemetry.io.

I just closed go.dev/issue/54766 as fixed! Please try out the RC! 🇨🇭┳┳

Our top episode for 2024 on #Spotify was ...🥁 #OpenTelemetry embracing #profiling! @horovits.bsky.social hosted @opentelemetry.io Profiles SIG members @felixge.de and Ryan Perry Check it out on your favorite #podcast app🎧 Or on the recap post 👉 medium.com/p/4a9b407e48... #SpotifyWrapped #podcasts

Manually instrumenting Go applications for observability has always been a time-consuming challenge. Solutions based on binary patching and eBPF have attempted to solve this, but they often come with undesirable tradeoffs. That’s why we built Orchestrion … 🧵

The fix for this has landed and will be in go1.24 as well as the next minor release for go1.23 🎉. Thanks to the Go team for the fast review as usual 🙇🏻‍♂️