Polar Signals Blog
polarsignals.com · Company blog · on HN since 2021
Engineers at Polar Signals write about continuous profiling, eBPF, stack unwinding, and deterministic simulation testing in Rust and Go.
What HN saysHN links it for profiling and testing techniques. Commenters discuss the Parca open source profiler, Python tracing with eBPF, and determinism in Rust versus Go.
40HN people shared it
10linked it in comments
67stories submitted
1.1Kstory points
3 months agolast shared
2021people per year2026
Most-shared posts
- 1Deterministic Simulation Testing in Rust: A Theater of State Machines4 people · 58 points · first shared 2025 · 6 comments on HN
- 2Dwarf-Based Stack Walking Using eBPF4 people · 30 points · first shared 2022 · 5 comments on HN
- 3A Walk with LuaJIT3 people · 176 points · first shared 2024 · 26 comments on HN
- 4Fantastic Symbols and Where to Find Them – Part 13 people · 18 points · first shared 2022 · 1 comments on HN
- 5(Mostly) Deterministic Simulation Testing in Go3 people · 16 points · first shared 2024 · 2 comments on HN
- 6Profiling Python and Ruby Using eBPF3 people · 11 points · first shared 2023 · discussion on HN
- 7Introducing Parca - Open Source Continuous Profiling2 people · 50 points · first shared 2021 · 10 comments on HN
- 8OOMProf: Profiling on the Brink2 people · 33 points · first shared 2025 · 8 comments on HN
- 9Questioning an Interface: From Parquet to Vortex2 people · 15 points · first shared 2025 · discussion on HN
- 10Polar Signals Cloud Is Generally Available2 people · 12 points · first shared 2023 · 3 comments on HN
- 11Fantastic Symbols and Where to Find Them – Part 22 people · 12 points · first shared 2022 · discussion on HN
- 12Correlating Tracing with Profiling Using eBPF2 people · 9 points · first shared 2024 · discussion on HN
- 13Polar Signals Cloud Is Generally Available2 people · 8 points · first shared 2023 · 2 comments on HN
- 14Off-CPU Profiling2 people · 6 points · first shared 2025 · discussion on HN
- 15DIY pprof profiles using Go2 people · 6 points · first shared 2021 · discussion on HN
What HN people wrote when they linked it
brancz · 2025-03-07
We’re working hard to bring a lot of Strobelight to everyone through Parca[0] as OSS and Polar Signals[1] as the commercial version. Some parts already exists much to come this year! :)
[0] https://www.parca.dev/
[1] https://www.polarsignals.com/
(Disclaimer: founder of polar signals)
madhusudancs · 2023-10-11
I rarely come out and post on HN, but I couldn't resist.
First off, congratulations on the launch!
I am doing some work around Python tracing using eBPF tools and spending a lot time reading about CPython interpreter and runtime implementation. I came across this Polar Signals blog post[0] last week. Fantastic, fantastic work! I learned a ton about Python internals in just a few minutes that I had completely missed even after reading the code for days. This post also set a benchmark for technical writing for me.
Huge kudos for all the great work! And thank you for sharing all these out!
[0] https://www.polarsignals.com/blog/posts/2023/10/04/profiling-python-an…
hasyimibhar · 2026-05-24
It is also easier to make your code deterministic with Rust vs with Go, which is incredibly useful if you need to perform deterministic simulation testing + property-based testing. I recently wrote a Postgres-to-Iceberg data mirroring tool [1] in Go, but I ported it to Rust because I wanted the ability perform DST without fighting Go's runtime [2]. But if the domain is not critical that warrants DST, I would still pick Go over Rust any day.
[1] https://github.com/polynya-dev/pg2iceberg
[2] https://www.polarsignals.com/blog/posts/2024/05/28/mostly-dst-in-go
gnurizen · 2025-10-29
This profiler is focused on kernel execution but we do scrape high level metrics (https://www.polarsignals.com/blog/posts/2025/06/04/latest-in-continuou… which is based on https://github.com/polarsignals/gpu-metrics-agent). What performance counters in particular were you interested in?
silisili · 2024-08-24
Correct. They renamed FrostDB, here is the announcement -
https://www.polarsignals.com/blog/posts/2022/06/16/arcticdb-is-now-fro…
pryz · 2023-12-13
The post from Polar Signal blog https://www.polarsignals.com/blog/posts/2023/12/13/embracing-frame-poi…
Exciting!
mdaniel · 2023-10-10
> In addition to that we built a custom columnar database
I did some digging in your blog history and it seems that is referencing https://www.polarsignals.com/blog/posts/2022/07/22/frostdb-in-promethe… and digging into the "but why?" section <https://github.com/polarsignals/frostdb#why-you-should-use-frostdb> seems to imply you favored the embedded feature over having something standalone, but I would enjoy hearing (or reading a blog post!) about why you felt it was a better use of your engineering to make your own columar DB versus using one of the existing columanr dbs that I have seen referenced a ton in other Show HN announcements around both logging and metrics services
dang · 2023-10-10
It's pretty hard to tell from the website what this product does, and the submitted title ("Polar Signals Cloud Is Generally Available") doesn't explain anything, so I replaced it with a phrase from https://www.polarsignals.com/blog/posts/2023/10/10/polarsignals-cloud-… that seems to say something.
lathiat · 2023-02-16
Parca also have done work to unwind DWARF in kernel with eBPF:
https://www.polarsignals.com/blog/posts/2022/11/29/profiling-without-f…
Edit: refer to another comment in this thread: https://news.ycombinator.com/item?id=34809265
javierhonduco · 2023-02-15
The pervasive lack of frame pointers is the reason why we've developed a custom format derived from DWARF unwind information thanks to some insights: DWARF unwind information is incredible flexible, it supports many arches and allows restoring any arbitrary register. But we only need 3: the frame pointer, the stack pointer, and in non-x86 the return address.
In addition, this encoding doesn't use that many bytes, but unfortunately reading and parsing that information is quite expensive.
For that reason I've developed a new unwinder that uses custom unwind information derived from DWARF (https://www.polarsignals.com/blog/posts/2022/11/29/profiling-without-f… previously discussed in https://news.ycombinator.com/item?id=33788794) that runs in BPF. This new compact representation can be binary searched easily and each unwind row has a size of 16 bytes. I are currently working on reducing it down to ~10 bytes.
All the code is fully OSS (Apache 2.0 for userspace and GPL for BPF), and part of the Parca project (https://github.com/parca-dev/parca-agent).
We've also given some talks in FOSDEM going deeper into how we made it scale for many big processes.