Enviar pesquisa
Carregar
Root cause analysis with e bpf & python
•
Transferir como PPTX, PDF
•
2 gostaram
•
711 visualizações
P
Pavel Rogovoy
Seguir
This slide is an introduction to eBPF. This is a slide of a talk I gave on Pycon 19 Israel
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 36
Baixar agora
Recomendados
Low Overhead System Tracing with eBPF
Low Overhead System Tracing with eBPF
Akshay Kapoor
Linux System Monitoring with eBPF
Linux System Monitoring with eBPF
Heinrich Hartmann
Streams for the Web
Streams for the Web
Domenic Denicola
Untitled document
Untitled document
Sam Curry
Plan 9カーネルにおけるTCP/IP実装(未完)
Plan 9カーネルにおけるTCP/IP実装(未完)
Ryousei Takano
Linux kernel bug hunting
Linux kernel bug hunting
Andrea Righi
Container: is it safe enough to run you application?
Container: is it safe enough to run you application?
Aleksey Zalesov
Make A Shoot ‘Em Up Game with Amethyst Framework
Make A Shoot ‘Em Up Game with Amethyst Framework
Yodalee
Recomendados
Low Overhead System Tracing with eBPF
Low Overhead System Tracing with eBPF
Akshay Kapoor
Linux System Monitoring with eBPF
Linux System Monitoring with eBPF
Heinrich Hartmann
Streams for the Web
Streams for the Web
Domenic Denicola
Untitled document
Untitled document
Sam Curry
Plan 9カーネルにおけるTCP/IP実装(未完)
Plan 9カーネルにおけるTCP/IP実装(未完)
Ryousei Takano
Linux kernel bug hunting
Linux kernel bug hunting
Andrea Righi
Container: is it safe enough to run you application?
Container: is it safe enough to run you application?
Aleksey Zalesov
Make A Shoot ‘Em Up Game with Amethyst Framework
Make A Shoot ‘Em Up Game with Amethyst Framework
Yodalee
Script
Script
fauzasmg
Tomas Hlavacek - IP fragmentation attack on DNS
Tomas Hlavacek - IP fragmentation attack on DNS
DefconRussia
Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools
Ceph Community
Gameboy emulator in rust and web assembly
Gameboy emulator in rust and web assembly
Yodalee
Ntp cheat sheet
Ntp cheat sheet
csystemltd
Computer Performance Microscopy with SHIM
Computer Performance Microscopy with SHIM
hiyangxi
Scaling FastAGI Applications with Go
Scaling FastAGI Applications with Go
Digium
Berkeley Packet Filters
Berkeley Packet Filters
Kernel TLV
Introduction to nand2 tetris
Introduction to nand2 tetris
Yodalee
Using zone.js
Using zone.js
Standa Opichal
Staring into the eBPF Abyss
Staring into the eBPF Abyss
Sasha Goldshtein
multi-line record grep
multi-line record grep
Ryoichi KATO
Device-specific Clang Tooling for Embedded Systems
Device-specific Clang Tooling for Embedded Systems
emBO_Conference
Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录
insight-labs
Sup intro
Sup intro
chase pettet
Defeating the entropy downgrade attack
Defeating the entropy downgrade attack
Seth Wahle
serverstats
serverstats
Ben De Koster
Performance testing of microservices in Action
Performance testing of microservices in Action
Alexander Kachur
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Maarten Mulders
异步io框架的实现
异步io框架的实现
rfyiamcool
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
Brendan Gregg
Security Monitoring with eBPF
Security Monitoring with eBPF
Alex Maestretti
Mais conteúdo relacionado
Mais procurados
Script
Script
fauzasmg
Tomas Hlavacek - IP fragmentation attack on DNS
Tomas Hlavacek - IP fragmentation attack on DNS
DefconRussia
Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools
Ceph Community
Gameboy emulator in rust and web assembly
Gameboy emulator in rust and web assembly
Yodalee
Ntp cheat sheet
Ntp cheat sheet
csystemltd
Computer Performance Microscopy with SHIM
Computer Performance Microscopy with SHIM
hiyangxi
Scaling FastAGI Applications with Go
Scaling FastAGI Applications with Go
Digium
Berkeley Packet Filters
Berkeley Packet Filters
Kernel TLV
Introduction to nand2 tetris
Introduction to nand2 tetris
Yodalee
Using zone.js
Using zone.js
Standa Opichal
Staring into the eBPF Abyss
Staring into the eBPF Abyss
Sasha Goldshtein
multi-line record grep
multi-line record grep
Ryoichi KATO
Device-specific Clang Tooling for Embedded Systems
Device-specific Clang Tooling for Embedded Systems
emBO_Conference
Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录
insight-labs
Sup intro
Sup intro
chase pettet
Defeating the entropy downgrade attack
Defeating the entropy downgrade attack
Seth Wahle
serverstats
serverstats
Ben De Koster
Performance testing of microservices in Action
Performance testing of microservices in Action
Alexander Kachur
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Maarten Mulders
异步io框架的实现
异步io框架的实现
rfyiamcool
Mais procurados
(20)
Script
Script
Tomas Hlavacek - IP fragmentation attack on DNS
Tomas Hlavacek - IP fragmentation attack on DNS
Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools
Gameboy emulator in rust and web assembly
Gameboy emulator in rust and web assembly
Ntp cheat sheet
Ntp cheat sheet
Computer Performance Microscopy with SHIM
Computer Performance Microscopy with SHIM
Scaling FastAGI Applications with Go
Scaling FastAGI Applications with Go
Berkeley Packet Filters
Berkeley Packet Filters
Introduction to nand2 tetris
Introduction to nand2 tetris
Using zone.js
Using zone.js
Staring into the eBPF Abyss
Staring into the eBPF Abyss
multi-line record grep
multi-line record grep
Device-specific Clang Tooling for Embedded Systems
Device-specific Clang Tooling for Embedded Systems
Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录
Sup intro
Sup intro
Defeating the entropy downgrade attack
Defeating the entropy downgrade attack
serverstats
serverstats
Performance testing of microservices in Action
Performance testing of microservices in Action
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Building a DSL with GraalVM (VoxxedDays Luxembourg)
异步io框架的实现
异步io框架的实现
Semelhante a Root cause analysis with e bpf & python
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
Brendan Gregg
Security Monitoring with eBPF
Security Monitoring with eBPF
Alex Maestretti
ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!
Affan Syed
DCSF 19 eBPF Superpowers
DCSF 19 eBPF Superpowers
Docker, Inc.
CorePy High-Productivity CellB.E. Programming
CorePy High-Productivity CellB.E. Programming
Slide_N
Network Drivers
Network Drivers
Anil Kumar Pugalia
emips_overview_apr08
emips_overview_apr08
Neil Pittman
Efficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native Environments
Gergely Szabó
Please help with the below 3 questions, the python script is at the.pdf
Please help with the below 3 questions, the python script is at the.pdf
support58
05 module managing your network enviornment
05 module managing your network enviornment
Asif
Velocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPF
Brendan Gregg
#Include os - From bootloader to REST API with the new C++
#Include os - From bootloader to REST API with the new C++
IncludeOS
eBPF Tooling and Debugging Infrastructure
eBPF Tooling and Debugging Infrastructure
Netronome
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
Brendan Gregg
UCX-Python - A Flexible Communication Library for Python Applications
UCX-Python - A Flexible Communication Library for Python Applications
Matthew Rocklin
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
chiportal
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
lcplcp1
Global Interpreter Lock: Episode I - Break the Seal
Global Interpreter Lock: Episode I - Break the Seal
Tzung-Bi Shih
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The Stack
Tomer Zait
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
imec.archive
Semelhante a Root cause analysis with e bpf & python
(20)
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
Security Monitoring with eBPF
Security Monitoring with eBPF
ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!
DCSF 19 eBPF Superpowers
DCSF 19 eBPF Superpowers
CorePy High-Productivity CellB.E. Programming
CorePy High-Productivity CellB.E. Programming
Network Drivers
Network Drivers
emips_overview_apr08
emips_overview_apr08
Efficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native Environments
Please help with the below 3 questions, the python script is at the.pdf
Please help with the below 3 questions, the python script is at the.pdf
05 module managing your network enviornment
05 module managing your network enviornment
Velocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPF
#Include os - From bootloader to REST API with the new C++
#Include os - From bootloader to REST API with the new C++
eBPF Tooling and Debugging Infrastructure
eBPF Tooling and Debugging Infrastructure
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
UCX-Python - A Flexible Communication Library for Python Applications
UCX-Python - A Flexible Communication Library for Python Applications
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
Global Interpreter Lock: Episode I - Break the Seal
Global Interpreter Lock: Episode I - Break the Seal
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The Stack
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
Último
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
Remote DBA Services
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
johnbeverley2021
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Bhuvaneswari Subramani
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
UiPathCommunity
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Jeffrey Haguewood
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
Último
(20)
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Root cause analysis with e bpf & python
1.
Root Cause Analysis
with eBPF & Python Pavel Rogovoy PyCon IL 2019
2.
3.
4.
eBPF
5.
Waiting on a
lock 20 seconds sleep
6.
Pavel Rogovoy Performance &
Cloud Engineer @
7.
LogicInput Output
8.
9.
Our App
10.
11.
Our App extended Berkley Packet
Filter
12.
Our App
13.
A real life
example
14.
15.
from bcc import
BPF sensor=''int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!n"); return 0; }' BPF(text=sensor).trace_print()
16.
17.
18.
Applications System Libraries System Call
Interface Sockets TCP/UDP IP Ethernet VFS File Systems Volume Manager Block Device Interface Device Drivers Scheduler Virtual Memory syscount
19.
summarize aggregated latencies
of syscalls ./syscount.py -L -p `pgrep -nx my_process` Tracing syscalls, printing top 10... Ctrl+C to quit. [09:41:32] SYSCALL COUNT TIME (us) nanosleep 9 7020894.226 futex 6 220.009 write 4 90.292 clone 2 70.935 Detaching...
20.
top 3 failed
syscalls /usr/share/bcc/tools/syscount -x -T 3 Tracing failed syscalls, printing top 3... Ctrl+C to quit. [13:27:46] SYSCALL COUNT recvmsg 6152 futex 346 read 32 ^C Detaching...
21.
Applications System Libraries System Call
Interface Sockets TCP/UDP IP Ethernet VFS File Systems Volume Manager Block Device Interface Device Drivers Scheduler Virtual Memory offcputime
22.
What is off-cpu
time?
23.
24.
offcputime
25.
finish_task_switch Previous task Next
task Stack Trace TSTS
26.
@ CPYTHON 3.6+ USDT: User
Statically-Defined Tracing
27.
System Libraries System Call
Interface Sockets TCP/UDP IP Ethernet VFS File Systems Volume Manager Block Device Interface Device Drivers Scheduler Virtual Memory Trace PYTHON CPYTHON 3.6+
28.
Listing tracepoints of
CPython interpreter tplist.py -l ./python ./python python:line ./python python:function__entry ./python python:function__return ./python python:import__find__load__start ./python python:import__find__load__done ./python python:gc__start ./python python:gc__done
29.
import time def my_func(): print('Hello') while
True: time.sleep(3) my_func()
30.
31.
Things You Must
Be Aware Of Not everything is perfect...
32.
● Maximum of
4096 ebpf assembly instructions ● No loops allowed ● Poor ecosystem
33.
Brendan Gregg Performance Engineer @
Netflix Big contributor to BCC, eBPF & FlameGraphs projects
34.
QUESTIONS?
35.
https://www.final.co.il
36.
THANKS Email: pavelr@final.co.il LinkedIn: progovoy Twitter:
@p_rogovoy
Notas do Editor
these are the ones that might be worth investigating with follow-up tools like opensnoop, execsnoop, or trace
It works by taking samples of stack traces at timed intervals, and frequency counting them in kernel context for efficiency
For further read. Refer to his blog
Baixar agora