The magic of a trace
Felix Geisendörfer & Michael Knyszek join Natalie to discuss Go execution traces: why they’re awesome, common use cases, how they’ve gotten better of late & more.
Join the discussion
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Boot.dev – Learn backend development the smart way. Boot.dev is the most captivating, finger-flying, addictive way to learn to code.
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Featuring:
Felix Geisendörfer – Website, GitHub, X
Michael Knyszek – Website, GitHub, Mastodon, X
Natalie Pistunovich – GitHub, X
Show Notes:
Making Go more efficient (Go Time #260)
More powerful Go execution traces
Something missing or broken? PRs welcome!
When Go programs end
Michael Knyszek from the Go team joins us to talk about what happens when a program ends. How are file handles cleaned up? When are deferred functions run, and when are they skipped entirely? Is there a way to terminate all running goroutines? Tune in to learn the answers to these questions and more!
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Teleport – Quickly access any resource anywhere using a Unified Access Plane that consolidates access controls and auditing across all environments - infrastructure, applications, and data. Try Teleport today in the cloud, self-hosted, or open source at goteleport.com
LaunchDarkly – Test in production! Deploy code at any time, even if a feature isn’t ready to be released to your users. Wrap code in feature flags to get the safety to test new features and infrastructure in prod without impacting the wrong end users.
Equinix Metal – Globally interconnected fully automated bare metal. Equinix Metal gives you hardware at your fingertips with physical infrastructure at software speed. This is the promise of the cloud delivered on Bare Metal. Get $500 in free credit to play with plus a rad t-shirt at info.equinixmetal.com/changelog.
Featuring:
Michael Knyszek – Website, GitHub, Mastodon, X
Mat Ryer – Website, GitHub, LinkedIn, X
Jon Calhoun – Website, GitHub, X
Show Notes:
Make Ctrl+C Cancel the context.Context - An article by Mat Ryer discussing how to capture ctrl+c and cancel a context.
NotifyContext proposal - Our very own Mark Bates made the proposal for NotifyContext!
NotifyContext - docs for the NotifyContext functionality added in Go
12 Factor
Graceful shutdown in Go http server - an article discussing grateful shutdowns with Go HTTP servers.
kill linux man page - kill is a linux command mentioned on the show
os/signal - docs for the os/signal package in Go.
Something missing or broken? PRs welcome!