چکيده
his seminar looks at how important profiling and tracing techniques are for improving
software performance, especially in networked contexts where low latency, high throughput,
and system dependability are very important. As applications get more sophisticated,
traditional debugging methods fail to find subtle performance bottlenecks in both user-space
and kernel-level tasks. Profiling shows how resources are used by finding hotspots, whereas
tracing shows how events happen in a specific order to find out what caused them. The study
goes over static and dynamic profiling, kernel- and user-level tracing, and tools like perf, eBPF,
Valgrind, and LTTng in a structured way. It also shows how to use it in the real world for things
like analyzing the TCP/IP stack, tracing distributed systems, and integrating CI/CD. It also
talks about how machine learning models are becoming more used for automating performance
diagnostics and optimization. The paper makes a strong case for the need for lightweight, easyto-use, and automated solutions that fit right in with modern software engineering pipelines by
using a lot of data and real-world examples. In the end, this study helps close the gap between
what profiling and tracing can do in theory and how they might be used in real-world
performance-critical network applications