Tutorial submission#2892
Merged
sofiabobadilla merged 9 commits intoKTH:2025from Oct 6, 2025
Merged
Conversation
|
Hi! Can we give feedback on this? (: |
Collaborator
|
We acknowledge your submission. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Assignment Proposal
Title
Observability with eBPF and FlameGraphs: Profiling Containerized Applications
Names and KTH ID
Deadline
Category
Description
This executable tutorial demonstrates how to use eBPF for observability and performance profiling of containerized applications, combined with FlameGraph visualization to identify bottlenecks. Unlike traditional monitoring tools, eBPF allows dynamic tracing at the kernel level with minimal overhead, giving developers deep insights into system and application behavior.
The tutorial will guide users through the following scenario:
Baseline setup: Run a simple containerized Python/Flask application and perform a stress test to generate system load.
Traditional monitoring: Use
topandstraceto show the limitations of conventional tools for observability.eBPF tracing:
bpftraceandbcc-toolsto trace syscalls (execve,open), file I/O, and TCP traffic of the containerized app.profilesampling to capture CPU stack traces during load testing.FlameGraph visualization:
perforbpftrace.flamegraph.svgusing Brendan Gregg’s FlameGraph toolkit.Before vs After comparison:
The tutorial will be delivered on KillerKoda, using Linux playgrounds that support Docker, bpftrace, and perf tools.
Relevance
Observability and performance profiling are critical aspects of DevOps and Site Reliability Engineering (SRE). This tutorial introduces students to modern, cutting-edge techniques using eBPF, which is increasingly adopted in production environments for performance debugging, security, and monitoring.
By combining eBPF with FlameGraph visualization, learners can bridge the gap between raw system-level tracing and intuitive performance insights, aligning with DevOps principles of continuous improvement and operational excellence.
Tutorial Link: https://killercoda.com/dazhi/scenario/my-ebpf-tutorial