Home / Companies / Polar Signals / Blog / August 2025

August 2025 Summaries

3 posts from Polar Signals

Filter
Month: Year:
Post Summaries Back to Blog
German strings, implemented as StringViews in the Rust Arrow library, have gained traction as a standard for representing string columns due to their simplicity and efficiency in string processing tasks like comparisons, filters, and sorting. However, this encoding method can be memory-intensive, as each element requires a 16-byte representation, which is not always optimal for all use cases, such as those with low-cardinality string columns. At Polar Signals, dictionary encoding has proven more efficient, reducing memory usage by 75% compared to StringViews, since it uses a smaller index buffer tailored to the number of distinct values. This highlights the importance of selecting data encoding methods based on specific workload and storage characteristics rather than defaulting to a one-size-fits-all approach. While dynamic selection of physical encodings during execution and storage is gaining traction, it remains a work in progress, emphasizing the need for database systems to avoid making assumptions about optimal encodings on behalf of users.
Aug 26, 2025 1,008 words in the original blog post.
The blog post describes the challenges and solutions related to debugging programs terminated by the Linux Out-Of-Memory (OOM) killer, a kernel feature that terminates processes when the system runs out of memory. It highlights the difficulties developers face in diagnosing OOM events due to the lack of immediate indicators of the root cause, often complicated by memory overcommitment in Linux. To address these challenges, the authors developed OOMProf, a monitoring tool built on eBPF that profiles Go programs at the moment they are killed by the OOM killer. The tool involves a two-step process using tracepoints to identify and profile targeted processes and is integrated into the Parca Agent for continuous monitoring. While it primarily targets Go applications, its future plans include expanding support to other memory allocators and languages, enhancing the tool's capabilities in capturing comprehensive program states under OOM conditions. The post is interspersed with lyrics from a modern folk murder ballad, adding a creative narrative layer to the technical discussion.
Aug 13, 2025 2,408 words in the original blog post.
Parca has introduced an Offline Mode for its agent, enhancing its utility in environments where network connectivity is unreliable or nonexistent, such as smartphones and autonomous vehicles. Traditionally, the Parca agent communicates with the backend over a network, sending stack traces of CPU-scheduled code for storage and analysis, but Offline Mode enables the agent to save this data locally. In this mode, every five seconds, stack IDs and full stacks are recorded in a file, which is periodically compressed and rotated to manage storage efficiently. These files, named using a timestamp and process ID, can later be uploaded to the backend from any device with network access using the same protocol as in online mode. This feature makes Parca more versatile, allowing it to be used in a broader range of computing environments by ensuring data persistence and reducing the dependency on constant network access.
Aug 07, 2025 822 words in the original blog post.