Thanks to visit codestin.com
Credit goes to lttng.org

Blog

A practical guide to LTTng buffer allocation strategies

Comments

English Channel

When configuring LTTng for tracing, one of the most important decisions is how to allocate and manage channel buffers. These buffers are at the heart of the tracer: they temporarily hold trace data before LTTng writes to disk or sends over the network. How you configure them determines the tradeoffs you make between performance, memory usage, and process isolation.

LTTng 2.15 brings new buffer parameters and features that make channel buffer configuration even more flexible, giving you finer control over how the tracer manages memory.

This all happens at channel creation time using the lttng enable-channel command.

This post explains the different buffer allocation options, their tradeoffs, and when to use each one.

Saving memory on many-core hosts with LTTng 2.14

Comments

Memory

LTTng's per-CPU ring buffers have kept tracing overhead at a minimum for years. But while servers once sported a handful of cores, they now ship with hundreds of hardware threads. Give every one of those CPUs its own LTTng per-CPU ring buffer and your trace infrastructure can swallow gigabytes of RAM before your workload even starts—especially in container-dense deployments.

LTTng 2.14 fixes that with an optional per-channel buffer allocation policy that keeps the memory consumption independent of the number of CPUs while adding only a modest overhead except for the most event-heavy, CPU-intensive traces.

Writing babeltrace 2 plugins

Comments

Synthesizer

This is a write up of Simon Marchi's talk, "Writing babeltrace 2 plugins" that he gave at the Tracing Summit 2019. Links to the video are here, and the slides can be found here.

Babeltrace 2 is a framework for viewing, converting, and analyzing trace data. The original Babeltrace project was started in 2010, but over the years developers noticed a number of shortcomings. For one, the Intermediate Representation (IR) was tightly coupled to the Common Trace Format (CTF), and even though the CTF is an expressive trace format used by popular tracing tools such as LTTng and barectf, the goal of Babeltrace was always to support as many formats as possible. The second shortcoming was that the original Babeltrace project didn't have any support for plugins which, again, made it difficult to support new input and output formats.

Babeltrace 2 begins the project's new scope for tailor-made trace analyses

Comments

Building new features in Babeltrace

Babeltrace 2.0 was released on 22 January 2020 and it includes some major changes. We've realized that users need a simple way to work with traces, so we're expanding the project's scope to make that possible, and also to encourage sharing of tracing analysis tools. Starting with Babeltrace 2.0, the project has switched from a trace converter to a trace manipulation tool.