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

  1. 1
  2. 2
    Dwarf-Based Stack Walking Using eBPF
    4 people · 30 points · first shared 2022 · 5 comments on HN
  3. 3
    A Walk with LuaJIT
    3 people · 176 points · first shared 2024 · 26 comments on HN
  4. 4
    Fantastic Symbols and Where to Find Them – Part 1
    3 people · 18 points · first shared 2022 · 1 comments on HN
  5. 5
    (Mostly) Deterministic Simulation Testing in Go
    3 people · 16 points · first shared 2024 · 2 comments on HN
  6. 6
    Profiling Python and Ruby Using eBPF
    3 people · 11 points · first shared 2023 · discussion on HN
  7. 7
    Introducing Parca - Open Source Continuous Profiling
    2 people · 50 points · first shared 2021 · 10 comments on HN
  8. 8
    OOMProf: Profiling on the Brink
    2 people · 33 points · first shared 2025 · 8 comments on HN
  9. 9
    Questioning an Interface: From Parquet to Vortex
    2 people · 15 points · first shared 2025 · discussion on HN
  10. 10
    Polar Signals Cloud Is Generally Available
    2 people · 12 points · first shared 2023 · 3 comments on HN
  11. 11
    Fantastic Symbols and Where to Find Them – Part 2
    2 people · 12 points · first shared 2022 · discussion on HN
  12. 12
    Correlating Tracing with Profiling Using eBPF
    2 people · 9 points · first shared 2024 · discussion on HN
  13. 13
    Polar Signals Cloud Is Generally Available
    2 people · 8 points · first shared 2023 · 2 comments on HN
  14. 14
    Off-CPU Profiling
    2 people · 6 points · first shared 2025 · discussion on HN
  15. 15
    DIY pprof profiles using Go
    2 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…
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.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close