SlideShare a Scribd company logo
Meet-cute between
eBPF and Kernel Tracing
Viller Hsiao <villerhsiao@gmail.com>
Jul. 5, 2016
03/09/2016 2
Who am I ?
Viller Hsiao
Embedded Linux / RTOS engineer
   http://image.dfdaily.com/201
2/5/4/634716931128751250504b
050c1_nEO_IMG.jpg
03/09/2016 3
BPF
Berkeley Packet Filter
by Steven McCanne and Van Jacobson, 1993
03/09/2016 4
Who am I ?
Viller Hsiao
Embedded Linux / RTOS engineer
   http://image.dfdaily.com/201
2/5/4/634716931128751250504b
050c1_nEO_IMG.jpg
03/09/2016 5
Berkeley Packet Filter
Packet filter: tcpdump -nnnX port 3000
03/09/2016 6
network
stack
sniffer
kernel
user
net if
Applications
tcpdump ­nnnX  port 3000
port 3000
VM filter
http://www.ic
onsdb.com/ico
ns/download/g
ray/empty-fil
ter-512.png
In­kernel Packet Filter
03/09/2016 7
Berkeley Packet Filter
Improve unix packet filter
03/09/2016 8
Berkeley Packet Filter
Improve unix packet filter
Replace stack-based VM with register-based VM
03/09/2016 9
Berkeley Packet Filter
Improve unix packet filter
Replace stack-based VM with register-based VM
20 times faster than original design
03/09/2016 10
In­Kernel VM for Filtering
Flexibility
Efficiency Security
03/09/2016 11
BPF in Linux
a.k.a. Linux Socket Filter
kernel 2.1.75, in 1997
03/09/2016 12
Areas Use BPF
in Linux Nowadays
●
Linux­3.4 (2012), Seccomp filters of syscalls (chrome sandboxing)
●
Packet classifier for traffic contol 
●
Actions for traffic control
●
Xtables packet filtering
●
Tracing
03/09/2016 13
Story today,
When kernel tracing meets ebpf
http://2.blog.xuite.net/2/4/7/8/11001626/blog_70864/txt/17378250/0.jpg
03/09/2016 14
Examples of BPF Program
  ldh [12]
  jne #0x806, drop
  ret #­1
  drop: ret #0
ARP packets
ICMP
random packet sampling
1 in 4
  ldh [12]
  jne #0x800, drop
  ldb [23]
  jneq #1, drop
  ld rand                
  mod #4
  jneq #1, drop
  ret #­1
  drop: ret #0
helper
extensions
03/09/2016 15
BPF Example: Translate to Binary
$ ./bpf_asm ­c foo
 Opcode   JT   JF          K
{ 0x28,       0,    0,   0x0000000c },
{ 0x15,       0,    1,   0x00000806 },
{ 0x06,       0,    0,   0xffffffff },
{ 0x06,       0,    0,   0000000000 },
03/09/2016 16
Userspace Application
struct sock_filter code[] = {
{ 0x28,  0,  0, 0x0000000c },
{ 0x15,  0,  8, 0x000086dd },
       …
};
struct sock_fprog bpf = {
.len = ARRAY_SIZE(code),
.filter = code,
};
sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
if (sock < 0)
/* ... bail out ... */
ret = setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &bpf, sizeof(bpf));
if (ret < 0)
/* ... bail out ... */
BPF Binary
03/09/2016 17
BPF JIT Compiler
in 2011
●
Linux­3.0, by Eric Dumazet
●
Architecture support
– x86_64, SPARC, PowerPC, ARM, ARM64, MIPS and 
s390
  $ echo 1 > /proc/sys/net/core/bpf_jit_enable
03/09/2016 18
extended BPF
Linux-3.15
by Alexei Starovoitov, 2013
03/09/2016 19
Classic BPF
vs
Internal BPF (a.k.a extended BPF)
03/09/2016 20
eBPF Design Goals
●
Just­in­time map to modern 64­bit CPU with minimal 
performance overhead
●
Write programs in restricted C and compile into BPF with 
GCC/LLVM
●
Guarantee termination and safety of BPF program in kernel 
with simple algorithm
03/09/2016 21
cBPF vs eBPF
BPF eBPF
registers A, X R0 ­ R10
width 32 bit  64 bit
opcode op:16, jt:8, jf:8, k:32 op:8, dst_reg:4, src_reg:4, off:16, imm:32
JIT support
x86_64, SPARC, 
PowerPC, ARM, 
ARM64, MIPS and 
s390
x86­64, aarch64, s390x
03/09/2016 22
BPF Calling Convention
●
R0
●
Return value from in­kernel function, and exit value for eBPF 
program
●
R1 – R5
●
Arguments from eBPF program to in­kernel function
●
R6 – R9
●
Callee saved registers that in­kernel function will preserve
●
R10
●
Read­only frame pointer to access stack
03/09/2016 23
Designed to be JITed
for 64­bit Architecture
 /* restore ctx for next call */
    bpf_mov R6, R1x
    bpf_mov R2, 2
    bpf_mov R3, 3
    bpf_mov R4, 4
    bpf_mov R5, 5
    bpf_call foo
 /* save foo() return value */
    bpf_mov R7, R0
 /* restore ctx for next call */
    bpf_mov R1, R6
    bpf_mov R2, 6
    bpf_mov R3, 7
    bpf_mov R4, 8
    bpf_mov R5, 9
    bpf_call bar
    bpf_add R0, R7
    bpf_exit
    push %rbp
    mov %rsp,%rbp
    sub $0x228,%rsp
    mov %rbx,­0x228(%rbp)
    mov %r13,­0x220(%rbp)
    mov %rdi,%rbx
    mov $0x2,%esi
    mov $0x3,%edx
    mov $0x4,%ecx
    mov $0x5,%r8d
    callq foo
    mov %rax,%r13
    mov %rbx,%rdi
    mov $0x2,%esi
    mov $0x3,%edx
    mov $0x4,%ecx
    mov $0x5,%r8d
    callq bar
    add %r13,%rax
    mov ­0x228(%rbp),%rbx
    mov ­0x220(%rbp),%r13
    leaveq
    retq
x86_64
03/09/2016 24
How does it work?
03/09/2016 25
BPF Internals (1)
subsys
BPF
binary
kernel
user
    app
BPF VM
03/09/2016 26
BPF  Internals (2)
BPF
binary
subsys
BPF
binary
kernel
user
Interpreter
JIT
bpf syscall
BPF_PROG_LOAD
    app
03/09/2016 27
BPF  Internals (3)
BPF
binary
subsys
BPF
binary
kernel
user
Interpreter
JIT
bpf syscall
verifier
    app
03/09/2016 28
BPF Verifier
●
Do static check in verifier as possible
●
Directed Acyclic Graph(DAG) program
– Max 4096 instructions
– No loop
– unreachable insns exist
●
Instruction walk
– Read a never­written register
– Do arithmetic of two valid pointer
– Load/store registers of invalid types
– Read stack before writing data into
03/09/2016 29
BPF  Internals (4)
BPF
binary
MAP
subsys
BPF
binary
kernel
user
Interpreter
JIT
bpf syscall
verifier
BPF_MAP_CREATE
BPF_MAP_LOOKUP_ELEM
BPF_MAP_UPDATE_ELEM
….
    app
03/09/2016 30
BPF MAP
●
BPF_MAP_TYPE_HASH
●
BPF_MAP_TYPE_ARRAY
●
BPF_MAP_TYPE_PROG_ARRAY
●
BPF_MAP_TYPE_PERF_EVENT_ARRAY
map1 map2 map3
Tracing
prog_1
sock
prog_3
Tracing
prog_2
sk_buff on
eth0
Tracepoint
Event C
Tracepoint
Event B
Tracepoint
Event A
03/09/2016 31
BPF  Internals (5)
BPF
binary
MAP
subsys
BPF
binary
kernel
user
Interpreter
JIT
bpf syscall
verifier
BPF_PROG_RUN
    app
03/09/2016 32
BPF  Internals  (6)
BPF
binary
MAP
helper
subsys
Other
subsys
BPF_PROG_RUN
BPF
binary
kernel
user
Interpreter/ JIT
bpf syscall
verifier
    app
03/09/2016 33
BPF Helpers
map netsystem
perf trace
●
bpf_func_id
03/09/2016 34
BPF  Internals (7)
BPF
binary
MAP
helper
subsys
Other
subsys
BPF_PROG_RUN
BPF
binary
kernel
user
Interpreter/JIT
bpf syscall
verifier
    app
03/09/2016 35
Kernel Instrumentation
03/09/2016 36
Dynamic Probe
Kernel
user
Kprobe
Kretprobe
Jprobe
Uprobe
03/09/2016 37
Kprobe
INST BREAK
register_kprobe()
pre_handler()
post_handler()
address
sym + offset
Write kernel module
to register a kprobe
03/09/2016 38
Kprobe
BREAKBREAK INST
pre_handler()
post_handler()
exception
address
Note: More details are not revealed
03/09/2016 39
Kprobe­based Event Tracing
# echo 'r:myretprobe do_sys_open $retval' >> /sys/kernel/tracing/kprobe_events
# echo 1 > /sys/kernel/tracing/events/kprobes/myretprobe/enable
# cat /sys/kernel/tracing/trace
# tracer: nop
#
#           TASK­PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
              sh­746   [000] d...   40.96: myretprobe: (SyS_open+0x2c/0x30 <­ do_sys_open) arg1=0x3
              sh­746   [000] d...   42.19: myretprobe: (SyS_open+0x2c/0x30 <­ do_sys_open) arg1=0x3
…..
03/09/2016 40
Uprobe
 echo 'p:myapp /bin/bash:0x4245c0' > /sys/kernel/tracing/uprobe_events
●
Linux­3.5
●
userspace breakpoints in kernel
03/09/2016 41
User Tools for Kprobe
●
tracefs files
●
systemtap
03/09/2016 42
ftrace
●
Linux­2.6.27
●
Linux kernel internal tracer
03/09/2016 43
ftrace Interface
tracefs (debugfs in past) 
README
available_events
available_filter_functions
available_tracers
buffer_size_kb
buffer_total_size_kb
current_tracer
dyn_ftrace_total_info
enabled_functions
events
free_buffer
instances
kprobe_events
kprobe_profile
max_graph_depth
options
per_cpu
printk_formats
saved_cmdlines
saved_cmdlines_size
set_event
set_event_pid
set_ftrace_filter
set_ftrace_notrace
set_ftrace_pid
set_graph_function
set_graph_notrace
trace
trace_clock
trace_marker
trace_options
trace_pipe
tracing_cpumask
tracing_on
tracing_thresh
$ ls /sys/kernel/tracing
03/09/2016 44
ftrace Function Tracer
  void Func ( … )
  {
      Line 1;
      Line 2;
      …
  }
  
  void Func ( … )
  {
      mcount (pc, ra);
      Line 1;
      Line 2;
      …
  }
gcc ­pg
03/09/2016 45
Dynamic Function Tracer
Function trace enabled
on Func()
  
  void Func ( … )
  {
      nop;
      Line 1;
      Line 2;
      …
  }
  
  void Func ( … )
  {
      mcount (pc, ra);
      Line 1;
      Line 2;
      …
  }
Function trace disabled
on Func()
03/09/2016 46
Tracepoint
     #include <trace/events/subsys.h>
 
     DEFINE_TRACE(subsys_eventname);
 
     void somefct(void)
     {
         ...
         trace_subsys_eventname(arg, task);
         ...
     }
    DECLARE_TRACE( subsys_eventname,
                                    TP_PROTO(int firstarg, struct task_struct *p),
                                    TP_ARGS(firstarg, p));
include/trace/events/subsys.h
subsys/file.c
03/09/2016 47
perf
Statistics data
$ perf stat my­app args
Sampling record
$ perf record my­app args
perf­tool
perf framework
kernel
user
HW
event
perf_event
SW
event
PMU
trace
event
trace
point
dynamic
event
kprobe
uprobe
03/09/2016 48
Summary of Kernel Tracing
http://www.slideshare.net/brendangregg/linux-systems-performance-2016
03/09/2016 49
https://i.ytimg.com/vi/elc3FdKxaOk/maxresdefault.jpg
Before BPF Integration
Complex filters and scripts can be expensive
Components are isolated
03/09/2016 50
People desire more powerful tool 
like dtrace
Some attemptation: systemtap, ktap
03/09/2016 51
Linux­4.1
“One of the more interesting features in this cycle is the 
ability to attach eBPF programs (user­defined, sandboxed 
bytecode executed by the kernel) to kprobes. This allows 
user­defined instrumentation on a live kernel image that 
can never crash, hang or interfere with the kernel 
negatively. “
~Ingo Molnár 
https://lkml.org/lkml/2015/4/14/232
03/09/2016 52
Instrument powered by eBPF
“If DTrace is Kixy Hawk, eBPF is a jet engine”
~ Brendan Gregg
http://www.ait.org.tw/infousa/zhtw/american_story/assets/es/nc/es_nc_kttyhwk_1_e.jpg
03/09/2016 53
Attach to Kprobe
as well as tracepoint
By Alexei Starovoitov
– tracing: attach BPF programs to kprobes
– tracing: allow BPF programs to call bpf_ktime_get_ns()
– tracing: allow BPF programs to call bpf_trace_printk()
prog_fd = bpf_prog_load(...);
struct perf_event_attr attr = {
.type = PERF_TYPE_TRACEPOINT,
.config = event_id, /* ID of just created kprobe event */
};
event_fd = perf_event_open(&attr,...);
ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd);
03/09/2016 54
BPF for Tracing
●
The output data is not limited to PMU counters but data like 
time latencies, cache misses or other things users want to 
record.
http://www.slideshare.net/brendangregg/linux-bpf-superpowers
03/09/2016 55
Ftrace Filter Interpreter on eBPF
(not merged yet?)
"field1 == 1 || field2 == 2"
03/09/2016 56
The Evolution of
eBPF Userspace Utilities 
http://www.bitrebels.com/wp-content/uploads/2011/04/Evolution-Of-Man-Parodies-333.jpg
03/09/2016 57
Program on eBPF
Restrict C
BPF Binary 
LLVM
( up 3.7)
userspace
program
eBPF
assembly
or
Kernel
03/09/2016 58
Write a eBPF Program in C Looks Good.
But,
What's the rule of “restrict C” ?
03/09/2016 59
Restrict C [9]
●
No support for 
– Global variables 
– Arbitrary function calls, 
– Floating point, varargs, exceptions, indirect jumps, arbitrary 
pointer arithmetic, alloca, etc.  
●
Kernel rejects all programs that it cannot prove safe
– programs with loops 
– with memory accesses via arbitrary pointers. 
03/09/2016 60
BPF Utilities 1:
Kernel Samples
foo_user.c     +      foo_kern.c
All prog/data needed
when loading bpf
●
bpf programs
●
map
●
license
●
… etc  
Userspace
●
Load BPF
●
Cretae maps
●
Flow control
●
Data presentaion
03/09/2016 61
foo_kern.c
struct bpf_map_def SEC("maps") my_map = {
.type = BPF_MAP_TYPE_PERF_EVENT_ARRAY,
.max_entries = 32, ….
};
SEC("kprobe/sys_write")
int bpf_prog1(struct pt_regs *ctx)
{
u64 count;
u32 key = bpf_get_smp_processor_id();
char fmt[] = "CPU­%d   %llun";
count = bpf_perf_event_read(&my_map, key);
bpf_trace_printk(fmt, sizeof(fmt), key, count);
return 0;
}
u32 _version SEC("version") = LINUX_VERSION_CODE;
BPF
programs
MAPs
Others
03/09/2016 62
foo_user.c
 
Take kprobe as example
map 1
map 2
bpf_prog1
bpf_prog2
bpf_prog3
version
sec(“maps”)
sec(“kprobe/prog1”)
sec(“kprobe/prog2”)
sec(“kprobe/prog3”)
sec(“version”)
foo_kern.c foo_kern.o
(elf)
clang
­­target=bpf
Create map
(maps section)
Load bpf_progx
(kprobe/xxx, license,
 … sections)
Setup 
/sys/.../krpobe_events
(kprobe/xxx sections)
libbpf
foo_user.c
bpf_prog_load
03/09/2016 63
BPF Utilities 2:
BCC in IOVisor
The project enables developers to build, innovate, and 
share open, programmable data plane with dynamic IO and 
networking functions
https://www.iovisor.org/sites
/cpstandard/files/pages/image
s/io_visor.jpg
03/09/2016 64
BPF Compiler Collection
Frontend
python, lua
llvm library
BPF bytecode
libbcc.so
BPF C text/code
BCC module
BCC
bpf syscallperf event / trace_fs
User
program
03/09/2016 65
BPF_HASH(start, struct request *);
void trace_start(struct pt_regs *ctx, struct request *req) {
                  …...
}
void trace_completion(struct pt_regs *ctx, struct request *req) {
u64 *tsp, delta;
tsp = start.lookup(&req);
if (tsp != 0) {
delta = bpf_ktime_get_ns() ­ *tsp;
bpf_trace_printk("%d %x %dn", req­>__data_len,
    req­>cmd_flags, delta / 1000);
start.delete(&req);
}
}
BCC Example: BPF c Program
Simpler than kernel samples
03/09/2016 66
BCC Example: Python Frontend
from bcc import BPF
b = BPF (src_file="disksnoop.c")
b.attach_kprobe (event="blk_start_request", fn_name="trace_start")
b.attach_kprobe (event="blk_mq_start_request", fn_name="trace_start")
b.attach_kprobe (event="blk_account_io_completion",                
                             fn_name="trace_completion")
                    …....
while 1:
(task, pid, cpu, flags, ts, msg) = b.trace_fields()
                    …....
print("%­18.9f %­2s %­7s %8.2f" % (ts, type_s, bytes_s, ms))
03/09/2016 67
Current Tracing Scripts
in BCC
https://raw.githubusercontent.com/iovisor/bcc/master/images/bcc_tracing_tools_2016.png
Tools for BPF­based Linux IO analysis, networking, monitoring, and 
more
03/09/2016 68
BPF Utilities 3:
perf tools
$ perf bpf record --object sample_bpf.o -- -a sleep 4
●
Introduced by Wang Nan
03/09/2016 69
Summary
●
eBPF: In­kernel VM designed to be JITed
●
Used by many subsystems as a filtering engine
– Packet monitor filtering
– Tracing and perf
– Seccomp
– Networking
●
Tools
– BCC 
●
Easy to customized script for probe kernel
●
Kernel >=4.1, LLVM >= 3.7
– perf
03/09/2016 70
Other Topics:
How to use in embedded system?
03/09/2016 71
Other Topics:
Linux­4.7: hist trigger
Another mechanism other than eBPF
http://www.brendangregg.com/blog/2016­06­08/linux­hist­triggers.html
03/09/2016 72
Q & A
9/3/16 73/75
Reference
[1] Alexei Starovoitov (May. 2014), “tracing: accelerate tracing filters with BPF”, KERNEL
PATCH
[2] Alexei Starovoitov, (Feb. 2015), "BPF – in-kernel virtual machine", presented at
Collaboration Summit 2015
[3] Brendan Gregg, (Feb. 2016), "Linux 4.x Performance Using BPF Superpowers ",
presented at Performance@ scale 2016
[4] Elena Zannoni (Jun. 2015), “New (and Exciting!) Developments in Linux Tracing ”,
presented at Linuxcon Japan 2015
[5] Gary Lin (Mar. 2016), “eBPF: Trace from Kernel to Userspace ”, presented at OpenSUSE
Technology Sharing Day 2016
[6] Jonathan Corbet. (May. 2014), “BPF: the universal in-kernel virtual machine ”, LWN
[7] Kernel documentation, “Using the Linux Kernel Tracepoints”
[8] Suchakrapani D. Sharma (Dec. 2014), “Towards Faster Trace Filtersvusing eBPF and JIT ”
[9] Michael Larabel, (Jan. 2015), “
BPF Backend Merged Into LLVM To Make Use Of New Kernel Functionality ”, Phoronix
9/3/16 74/75
● HCSM is the community of Hsinchu Coders in Taiwan.
● iovisor is a project of Linux Foundation
● ARM are trademarks or registered trademarks of ARM Holdings.
● Linux Foundation is a registered trademark of The Linux Foundation.
● Linux is a registered trademark of Linus Torvalds.
● Other company, product, and service names may be trademarks or service marks
of others.
● The license of each graph belongs to each website listed individually.
● The others of my work in the slide is licensed under a CC-BY-SA License.
● License text: http://creativecommons.org/licenses/by-sa/4.0/legalcode
Rights to Copy
copyright © 2016 Viller Hsiao
9/3/16 Viller Hsiao
THE END

More Related Content

What's hot

Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
Sasha Goldshtein
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
Alex Maestretti
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
Ray Jenkins
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
lcplcp1
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
Brendan Gregg
 
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF SuperpowersLinux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
Brendan Gregg
 
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of SoftwareUM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
Brendan Gregg
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
Michelle Holley
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Thomas Graf
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
Michal Rostecki
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in Cilium
ScyllaDB
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
Anne Nicolas
 
Introduction to eBPF
Introduction to eBPFIntroduction to eBPF
Introduction to eBPF
RogerColl2
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCC
Kernel TLV
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
Brendan Gregg
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019
Brendan Gregg
 

What's hot (20)

Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF SuperpowersLinux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
 
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of SoftwareUM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in Cilium
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
 
Introduction to eBPF
Introduction to eBPFIntroduction to eBPF
Introduction to eBPF
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCC
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
 
eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019
 

Viewers also liked

Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
Brendan Gregg
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdso
Viller Hsiao
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
PLUMgrid
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
Thomas Graf
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
Brendan Gregg
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
Sasha Goldshtein
 
ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!
Affan Syed
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
Brendan Gregg
 
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
Brendan Gregg
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCU
Viller Hsiao
 
OpenEmbedded & BitBake - Denx
OpenEmbedded & BitBake - DenxOpenEmbedded & BitBake - Denx
OpenEmbedded & BitBake - Denx
yang firo
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
Viller Hsiao
 
mbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graphmbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graph
Viller Hsiao
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene Pirogov
Pivorak MeetUp
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
Thomas Graf
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
Evolving Virtual Networking with IO Visor
Evolving Virtual Networking with IO VisorEvolving Virtual Networking with IO Visor
Evolving Virtual Networking with IO Visor
Larry Lang
 
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeCon EU 2016: Using Traffic Control to Test Apps in KubernetesKubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeAcademy
 
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
The Linux Foundation
 

Viewers also liked (20)

Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdso
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
 
ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!ebpf and IO Visor: The What, how, and what next!
ebpf and IO Visor: The What, how, and what next!
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCU
 
OpenEmbedded & BitBake - Denx
OpenEmbedded & BitBake - DenxOpenEmbedded & BitBake - Denx
OpenEmbedded & BitBake - Denx
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
mbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graphmbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graph
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene Pirogov
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
 
Evolving Virtual Networking with IO Visor
Evolving Virtual Networking with IO VisorEvolving Virtual Networking with IO Visor
Evolving Virtual Networking with IO Visor
 
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeCon EU 2016: Using Traffic Control to Test Apps in KubernetesKubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
 
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
 

Similar to Meet cute-between-ebpf-and-tracing

Kernel Recipes 2016 - The kernel report
Kernel Recipes 2016 - The kernel reportKernel Recipes 2016 - The kernel report
Kernel Recipes 2016 - The kernel report
Anne Nicolas
 
shilpi
shilpishilpi
shilpi
shilpi singh
 
Shilpi
ShilpiShilpi
Shilpi
shilpi singh
 
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
ssuserf8b8bd1
 
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
Flink Forward
 
Extensive Introduction to ModSecurity and the OWASP Core Rule Set
Extensive Introduction to ModSecurity and the OWASP Core Rule SetExtensive Introduction to ModSecurity and the OWASP Core Rule Set
Extensive Introduction to ModSecurity and the OWASP Core Rule Set
Christian Folini
 
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Lighton Phiri
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Jian-Hong Pan
 
Efficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native EnvironmentsEfficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native Environments
Gergely Szabó
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!
Cumulus Networks
 
Building Scalable Data Center Networks
Building Scalable Data Center NetworksBuilding Scalable Data Center Networks
Building Scalable Data Center Networks
Cumulus Networks
 
Launch and Environment Constraints Overview
Launch and Environment Constraints OverviewLaunch and Environment Constraints Overview
Launch and Environment Constraints Overview
Csaba Fitzl
 
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Thomas K. Y. Lam
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetup
John Vandenberg
 
ChainerUI v0.2, v0.3
ChainerUI v0.2, v0.3ChainerUI v0.2, v0.3
ChainerUI v0.2, v0.3
Preferred Networks
 
Newstalk week 20/2014
Newstalk week 20/2014Newstalk week 20/2014
Newstalk week 20/2014
Dusan Klinec
 
Time Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux KernelTime Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux Kernel
henrikau
 
Improved kernel based port-knocking in linux
Improved kernel based port-knocking in linuxImproved kernel based port-knocking in linux
Improved kernel based port-knocking in linux
dinomasch
 
161215
161215161215
161215
robo_lab
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016
Jonathan Battiato
 

Similar to Meet cute-between-ebpf-and-tracing (20)

Kernel Recipes 2016 - The kernel report
Kernel Recipes 2016 - The kernel reportKernel Recipes 2016 - The kernel report
Kernel Recipes 2016 - The kernel report
 
shilpi
shilpishilpi
shilpi
 
Shilpi
ShilpiShilpi
Shilpi
 
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
[발표자료] 오픈소스 기반 고가용성 Pacemaker 소개 및 적용 사례_20230703_v1.1F.pptx
 
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
Francesco Versaci - Flink in genomics - efficient and scalable processing of ...
 
Extensive Introduction to ModSecurity and the OWASP Core Rule Set
Extensive Introduction to ModSecurity and the OWASP Core Rule SetExtensive Introduction to ModSecurity and the OWASP Core Rule Set
Extensive Introduction to ModSecurity and the OWASP Core Rule Set
 
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
 
Efficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native EnvironmentsEfficient System Monitoring in Cloud Native Environments
Efficient System Monitoring in Cloud Native Environments
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!
 
Building Scalable Data Center Networks
Building Scalable Data Center NetworksBuilding Scalable Data Center Networks
Building Scalable Data Center Networks
 
Launch and Environment Constraints Overview
Launch and Environment Constraints OverviewLaunch and Environment Constraints Overview
Launch and Environment Constraints Overview
 
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetup
 
ChainerUI v0.2, v0.3
ChainerUI v0.2, v0.3ChainerUI v0.2, v0.3
ChainerUI v0.2, v0.3
 
Newstalk week 20/2014
Newstalk week 20/2014Newstalk week 20/2014
Newstalk week 20/2014
 
Time Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux KernelTime Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux Kernel
 
Improved kernel based port-knocking in linux
Improved kernel based port-knocking in linuxImproved kernel based port-knocking in linux
Improved kernel based port-knocking in linux
 
161215
161215161215
161215
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016
 

Recently uploaded

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 

Recently uploaded (20)

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 

Meet cute-between-ebpf-and-tracing