hauleth
I have recently spent some time optimising the hell out of my fork of Supabase’s Supavisor. I wanted to make it as fast as possible to compare it against “state of the art” and “native” solutions like PgBouncer and PgDog.
I haven’t achieved comparable performance, but I think that the read may be interesting to some people out there.
Trending in Blog Posts
At the heart of every Phoenix application is the often “invisible” HTTP server layer.
For over a decade Cowboy has served the community ...
New
Hey everyone! :waving_hand:
I’ve published Part 7 of the Building Distributed Systems in Elixir series, where we build core distributed ...
New
So, instead of wasting my afternoon arguing with anonymous handles on X, I turned to my trusty, soulless assistant and said: “Listen, ple...
New
I’ve published Part 4 of my Elixir distributed systems learning series.
This part explores process linking using low-level primitives di...
New
New article: Elixir Project Structure — From mix new to a Growing Codebase
I’ve published a new article in my Elixir learning series on d...
New
An educational side project in Elixir, Phoenix, and Tauri. I share what I learned while wiring Automerge into the BEAM, including how I s...
New
The way Phoenix is set up adding a CDN sub-domain for serving static assets, without worrying about the main dynamic content, is incredib...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #blog-post
- #ai
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
rkallos
Nice post! And thank you for the shout-out, and your many contributions to Peep
I think your post is currently missing the links to Ultravisor and Speedoscope.
Aside: Did you happen to explore using Linux’s perf(1) for less-obtrusive tracing? It’s a bit clunky to use (or maybe I haven’t found a better way of wielding it), but I find it super helpful, especially since the BEAM emits perf maps for jitted functions. When I was spending a lot of time trying to optimize stuff, which runs in a Docker container in prod, I repeatedly ran perf(1), and generated flame graphs (using GitHub - brendangregg/FlameGraph: Stack trace visualizer · GitHub ) like so:
These flame graphs weren’t totally complete (i.e. they missed stuff from NIFs compiled in the container without debug symbols), but it was nice to get a mix of BEAM and native code in a single flame graph.
hauleth
Yes, I dod. That required a little bit of twiddling to get it right, but I have managed to run it in OrbStack, as unfortunately
+JPperf truedo not work on macOS with Instruments.app.dimitarvp
This was an enjoyable read, thank you. I’ll try using Peep soon as a result.