Thinking Elixir Podcast
Thinking Elixir Podcast
ThinkingElixir.com
66: Tracing Production with Kai Wern Choong
39 minutes Posted Sep 28, 2021 at 10:15 am.
, where he started talking about tracing)
0:00
39:25
Download MP3
Show notes
We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way.
Show Notes online - http://podcast.thinkingelixir.com/66
Elixir Community News
https://twitter.com/hexpm/status/1439268469296570368 – New version of Hex released that fixes issues with version downgrades and slow version resolutions. Run mix local.hex to upgrade.
https://hexdocs.pm/credo/1.6.0-rc.0/changelog.html#1-6-0 – Credo 1.6.0 was released with new "First Run Mode"
https://twitter.com/elixirphoenix/status/1438222537301843970 – Removing Phoenix compiler config change can speed up compilation times when on up-to-date versions
https://github.com/Qqwy/elixir-type_check – New library called TypeCheck
https://blog.oestrich.org/2021/09/introducing-aino/ – Eric Osterich is experimenting with an alternative HTTP framework for Elixir
https://github.com/oestrich/aino – The Aino project
https://techcrunch.com/2021/09/14/logistics-startup-stord-raises-90m-in-kleiner-perkins-led-round-becomes-a-unicorn-and-acquires-another-company/ – Stord, an Elixir company, raised $90M and became a "unicorn"
https://spawnfest.org/ – SpawnFest 2021 happened
https://github.com/spawnfest/eflambe – SpawnFest submission - rapid generation of flamegraphs
https://github.com/spawnfest/Sketch – SpawnFest submission - library for creating generative art with Elixir
https://github.com/spawnfest/lotus – SpawnFest submission - Lotus is a Surface UI wrapper for UIKit
https://github.com/spawnfest/Discovery – SpawnFest submission - Platform for hosting realtime, stateful servers with zero downtime deployment and horizontal scaling on Kubernetes
https://github.com/spawnfest/crash – SpawnFest submission - Crash is a simple (distributed) docker-on-docker Continuous Integration system written in Elixir
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]
Discussion Resources
https://kaiwern.com/posts/2021/06/27/debugging-with-tracing-in-elixir-with-recon_trace/
https://www.naluri.life/
https://ferd.github.io/recon/recon.html
https://hex.pm/packages/recon
https://twitter.com/kw7oe/status/1409126300636254219
https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd – Livebook notebook showing tracing examples
https://www.youtube.com/watch?v=sR9h3DZAA74 – Debugging Live Systems on the BEAM talk by Jeffery Utter
https://www.youtube.com/watch?v=OR2Gc6_Le2U – Operable Erlang and Elixir talk by Fred Hebert (skip to
https://kaiwern.com/posts/2020/11/02/debugging-with-tracing-in-elixir/ – Tracing with dbg modules
https://en.wikipedia.org/wiki/Tracing_(software)
https://erlang.org/doc/man/dbg.html – dbg module in Erlang
:dbg.fun2ms
https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/
https://github.com/cilium/cilium
https://opentelemetry.io/docs/erlang/
https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html
https://www.erlang-solutions.com/capabilities/wombatoam/
https://hex.pm/packages/recon_ex
https://erlang-in-anger.com/ – Erlang in Anger (Chapter 9)
https://www.thegreatcodeadventure.com/testing-genservers-with-erlang-trace/ – Testing GenServers with Erlang Trace
http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly/ – How to trace Elixir nodes with Erlyberly - Plataformatec Blog
http://erlang.org/doc/man/seq_trace.html#sequential-tracing – Seq_trace
http://erlang.org/doc/man/erlang.html#trace-3 – Erlang:trace
https://github.com/andytill/erlyberly – Erlang tracing for the masses
https://github.com/tatsuya6502/recon_ex – Elixir wrapper for Recon, tools to diagnose Erlang VM safely in production
Guest Information
https://twitter.com/kw7oe – on Twitter
https://github.com/kw7oe/ – on Github
https://kaiwern.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - [email protected]
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward