Loading…
DevConf.CZ 2019 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Debugging / Tracing [clear filter]
Saturday, January 26
 

1:00pm CET

Kernel dump analysis made quick and easy!
The kernel dump (vmcore) generated during system crash provides vital information for post-mortem analysis. Standard tools such as 'crash' provide basic commands to analyze vmcores. But doing a manual review of several thousand similar structures from a dump is very time consuming and in many cases impractical.

PyKdump provides Python based framework which lets you develop programs to quickly extract and process the required information. There are several practical tools already developed on top of PyKdump, e.g. xportshow (TCP/IP info), scsishow (SCSI and LVM), dmshow (multipath), nfsshow (NFS), hanginfo (hang analysis). They quickly extract information from dump and report potential issues. This is extremely useful to developers working on dump analysis.

Speakers
avatar for Milan Gandhi

Milan Gandhi

Senior Software Maintenance Engineer, Red Hat



Saturday January 26, 2019 1:00pm - 1:50pm CET
A112

2:00pm CET

Profiling and tracing from ptrace to SystemTap
Modern OS and CPUs come with a variaty of APIs for monitoring. Ptrace based commands like strace are easy to use but slow. Perf allows lightweight profiling. SystemTap is a powerfil toolkit plus DSL to instrument probe points inside the Kernel as well as static SystemTap/DTrace markers in libs and languages like Java, PHP, and Python. In my talk I'll show and compare various low and high level tools as well as visualization tools, e.g. how to create flame graph.

Speakers
avatar for Christian Heimes

Christian Heimes

Principal Software Engineer, Red Hat
Christian is a long time Python developer from Hamburg/Germany and contributor to several Open Source projects such as the CPython interpreter. In the past years he has helped to keep Python secure, for example as member of the Python security response te


Saturday January 26, 2019 2:00pm - 2:25pm CET
A112

2:30pm CET

processor tracing in perf
The talk will give an overview of the processor tracing
and how it is supported in perf. It will introduce the
Intel Processor Trace (PT), that allows to trace program
execution (every branch) with low overhead. The talk will
describe its CPU specification, kernel design and show
practical examples of its usage via perf tool.

Speakers
avatar for Jiri Olsa

Jiri Olsa

Software Engineer, Red Hat
Jiri works for RedHat full time on Linux as kernel generalist engineer in Brno office, Czech Republicech Republic. He currently divides his work time between upstream perf work and maintaining RHEL perf.


Saturday January 26, 2019 2:30pm - 2:55pm CET
A112

3:00pm CET

Performance lab. The power of the perf tool!
In this lab, we will show how the perf tool can be used to detect and hunt down numerous performance issues. We'll also cover examples of cool perf features and favorite usage tips. Building perf from scratch will also be included.

Speakers
avatar for Arnaldo Melo

Arnaldo Melo

Senior Principal Software Engineer, Red Hat Inc.
Maintained IPX, LLC, Appletalk protocols. Refactored the TCP/IP stack to reuse non TCP specific parts. Implemented the Linux DCCP stack. Created pahole, a tool to help in optimizing data structures, used in Linux, glibc, KDE, xine & others. Maintainer of ‘perf’ (profiling, tracing... Read More →
avatar for Jiri Olsa

Jiri Olsa

Software Engineer, Red Hat
Jiri works for RedHat full time on Linux as kernel generalist engineer in Brno office, Czech Republicech Republic. He currently divides his work time between upstream perf work and maintaining RHEL perf.


Saturday January 26, 2019 3:00pm - 3:50pm CET
A112

4:00pm CET

Kernel tracing with BPF
eBPF allows safe dynamic kernel tracing without need of loading modules into the kernel. In this talk we'll present how eBPF is designed, what it takes to create a tracing tool using eBPF and bcc and some of the existing tools. We'll also introduce high level tracing languages using eBPF like stap-bpf and bpftrace.

Speakers
avatar for Stanislav Kozina

Stanislav Kozina

Kernel Manager, Red Hat
Stanislav works as manager in the RHEL kernel engineering group. He helps to make RHEL the trusted platform of choice by running team of developers focused on kernel tracing and debugging.


Saturday January 26, 2019 4:00pm - 4:25pm CET
A112

4:30pm CET

The BTF file format, more than just debugging
BTF (BPF Type Format) started as a compact way to encode types, using the pahole tool to transform DWARF tags for types into a new ELF section, inspired by dtrace's CTF.

It is under intense development, with work underway to add more information to allow for better observation, such as line numbers, and also to make clang to emit BTF in BPF object files.

The intention is to have the kernel data structure information in a compact form always available, like the CFI information is these days in user space binaries.

Encoding both kernel and BPF data structures should allow for compile once, run anywhere BPF tracing programs, for instance.

This talk will describe its origins, current use in tools such as bcc, bpftrace and 'perf trace' and will show what has been brewing up to devconf'19.

Speakers
avatar for Arnaldo Melo

Arnaldo Melo

Senior Principal Software Engineer, Red Hat Inc.
Maintained IPX, LLC, Appletalk protocols. Refactored the TCP/IP stack to reuse non TCP specific parts. Implemented the Linux DCCP stack. Created pahole, a tool to help in optimizing data structures, used in Linux, glibc, KDE, xine & others. Maintainer of ‘perf’ (profiling, tracing... Read More →


Saturday January 26, 2019 4:30pm - 5:20pm CET
A112
 
Sunday, January 27
 

9:00am CET

Performance Co-Pilot and Ruby
Performance Co-Pilot (PCP) is an open source framework and toolkit for monitoring and analyzing live and historical system performance. It provides high-resolution live monitoring from local or remote hosts (with optional auto-discovery) and instrumented software. PCP can be integrated with monitoring solutions like Graphite (Carbon/Whisper), InfluxDB, Zabbix or Nagios, or configured to store historical data into archive files which is a unique feature we want to take advantage from. The talk covers PCP installation, basic operating system monitoring and shows how to read internal metrics from a Ruby application via Statsd or Prometheus APIs.

Speakers
avatar for Lukáš Zapletal

Lukáš Zapletal

Software Engineer, Red Hat
The Foreman open-source project core member with focus on hardware discovery, bare-metal provisioning, non-Intel architectures, PXE and SELinux. Works in Red Hat Satellite 6 engineering team.


Sunday January 27, 2019 9:00am - 9:25am CET
E104

9:30am CET

LLDB - a new C++ debugger
LLDB is a debugger from LLVM/clang toolchain. With its relatively new LLVM codebase it provides exceptional performance while enabling convenient investigation of complex C++ debugged data structures. Its integration with clang compiler for expression parsing permits running arbitrary ad hoc C++ snippets without recompiling and restarting possibly huge C++ programs being debugged. These unique features are not available with GDB so far.

Speakers
avatar for Jan Kratochvíl

Jan Kratochvíl

LLDB and formerly GDB developer, Red Hat



Sunday January 27, 2019 9:30am - 9:55am CET
E104

10:00am CET

Modern strace
strace is a diagnostic, debugging and instructional utility for Linux.
It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state.

Linux developers are usually aware of strace and use it occasionally, but their knowledge about modern strace features is often quite limited.
In this talk the maintainer of strace will describe features of modern strace and demonstrate what kinds of problems they help to solve.
The talk will raise awareness about strace, this will help Linux developers and users to gain a better understanding of strace and other tracing tools.

Speakers
avatar for Dmitry Levin

Dmitry Levin

Chief Software Architect, BaseALT
Dmitry is the co-founder and the chief software architect of BaseALT, a long time contributor to free software projects, including strace, the GNU libc, Linux kernel, Linux-PAM, and many others.Being the maintainer of strace since 2009, Dmitry gives talks about this tool for various... Read More →



Sunday January 27, 2019 10:00am - 10:50am CET
E104

11:00am CET

Reverse Engineering Binaries
Session will walk through demonstrating various ways of tracking the run time issues using binary utilities available with `binutils` package and `gdb` debugger in absence of source code, just from binary executables or libraries. This session will help the audience understand the code flow from binary files alone, backtracking and formulating the potential source code, binary is generated form. Many kind of problems like symbol resolution failure, application crashes and deviation from standard programming practices can be identified using these tools, without access to actual source code of the application. These are the foundations of hacking and cracking. Some insight into system architecture (like registers and their usage) and assembly language and programming is helpful.

Speakers
avatar for Divya Basant Kumar

Divya Basant Kumar

Senior Software Maintenance Engineer, Red Hat
Working in Toolchain and Desktop domain for 7+ years


Sunday January 27, 2019 11:00am - 11:50am CET
E104

12:00pm CET

Tracing Tools for Systems Engineers
In this talk, I'd like to give you a quick overview of tracing tools available on the modern Linux distribution. We will briefly cover, strace, ltrace, ftrace, dtrace, bcc, and systemtap. In the second part of the presentation, I will focus on specific scenarios where you can apply one or more tracing tools in order to speed up root-cause analysis and better understand system behavior.

Speakers
avatar for Michal Sekletár

Michal Sekletár

Principal Software Engineer, Red Hat
systemd maintainer


Sunday January 27, 2019 12:00pm - 12:50pm CET
Workshop - A113