Testing and Automation

A Comparison of ftrace and LTTng for Tracing Baremetal and Virtualized Workloads

Tracing is awesome. Full stop. But what tracing? In fact, even just on Linux, there are quite a few tracing solutions, aren't there they? In this session we'll show off and compare ftrace and LTTng and, for visualizing the collected data, KernelShark and Trace Compass when tracing both baremetal and virtualized systems.
With tracing, we can get to understand what is really happening while our software is running at a great level of detail. Depending on the adopted tracing solution, that applies to user-space components, to OS kernels or even to both. The collected data can be very helpful when investigating bugs and misbehaviors, but can also be used for understanding the internals of the system and for chasing performance degradations or improvements. On Linux, tracing can be done in a variety of ways. This talk will focus on two: ftrace and LTTng. The aim is describing their characteristics and show how each one works. After that we will show what are the main differences between them in terms of what they are capable of, how the are used and last but not least the overhead they introduce, measured with several benchmarks. We will also cover the tools that one can use to visualize the often huge amount of data that is usually collected during a tracing session. Both textual ones, such as trace-cmd and babeltrace2, and graphical ones, such as KernelShark and Trace-Compass. Last but not least, we will offer some insights on how to use these two mechanisms for tracing virtualized environments. I.e., how can you use them for tracing what is going on both on the host and inside one or more guests, at the same time, and how good are they for such purpose?

Additional information

Type devroom

More sessions

2/6/21
Testing and Automation
D.testing
A warm welcome from your devroom managers, practical information, lineup and administrivia. Let's make this edition of FOSDEM count! Happy Testing!
2/6/21
Testing and Automation
Guillaume Tucker
D.testing
KernelCI has now been a Linux Foundation project for just over a year. During that time, it has set the basis needed to fulfil its mission of being the de facto upstream kernel test system. We can now build many more kernels, run many more tests and collate results from many more test labs. We also have a growing team of core contributors, an on-going commitment from our member companies as well as more presence in the kernel community. Together, we are gathering the momentum needed to start a ...
2/6/21
Testing and Automation
Richard Palethorpe
D.testing
Introduction to the Linux Test Project Fuzzy Sync C library, developed for reproducing data races in the Kernel from user land. Will cover a simple contrived data race, entirely in user land, to demonstrate the basics. Then we will move onto real world examples within the kernel, including when a delay bias is required to ensure a particular chronological order of events. Fuzzy Sync was developed for reproducing Linux kernel bugs, however it may be used to collide events in user land, another ...
2/6/21
Testing and Automation
Chris Fiege
D.testing
Embedded development is complex enough. By automating repetitive parts during development and employing testing, a lot of time can be saved and human errors avoided. Additionally, embedded development is usually a team effort: scarce hardware must often be shared between developers and sometimes even with automated testing. labgrid is an open source tool for remote control and testing of Embedded Linux Devices in a distributed lab. In this talk the presenter takes a look at how labgrid can be ...
2/6/21
Testing and Automation
Zygmunt Krynicki
D.testing
Commonly used CI systems operate as SAAS solutions, where the user is not running the CI stack locally. This lends itself to debugging pitfall as developers cannot easily reproduce the problem locally and cannot interactively examine it. This talk proposes an inverted design, where self-operated CI tool can be used both in the cloud as well as locally, supporting interactive debugging sessions.
2/6/21
Testing and Automation
Nacho Cougil
D.testing
Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it? In this session I'd like to present the benefits of Test-Driven Development (TDD), explaing how it works and what the benefits are of using it. We will see in a more detailed approach this way of developing software, where our software is always built guided by tests. We will go over some history about TDD, which is the main process we must follow when we work with this mechanic ...
2/6/21
Testing and Automation
Lionel LONKAP TSAMBA
D.testing
It brings the concept of roles that help classify your automation tasks/playbooks and group them by purpose. But : When should we use Ansible roles? How to create and test Ansible roles? What tools do we have to ease the process? How can we apply best practices of software development (TDD) to ensure your roles are doing what they are intended to? This talk will introduce you to Ansible Roles testing will Ansible Molecule; a tool used to drive ansible roles testing. Moreover, we will try to ...