Commit 6e789ab1 authored by mcaleavya's avatar mcaleavya

added spaces and tidyup of biosnoop

parent cbe10b5b
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
# 16-Sep-2015 Brendan Gregg Created this. # 16-Sep-2015 Brendan Gregg Created this.
# 11-Feb-2016 Allan McAleavy updated for BPF_PERF_OUTPUT # 11-Feb-2016 Allan McAleavy updated for BPF_PERF_OUTPUT
from __future__ import print_function from __future__ import print_function
from bcc import BPF from bcc import BPF
import ctypes as ct import ctypes as ct
...@@ -40,7 +39,6 @@ struct key_t { ...@@ -40,7 +39,6 @@ struct key_t {
char name[TASK_COMM_LEN]; char name[TASK_COMM_LEN];
}; };
BPF_HASH(start, struct request *); BPF_HASH(start, struct request *);
BPF_HASH(infobyreq, struct request *, struct val_t); BPF_HASH(infobyreq, struct request *, struct val_t);
BPF_PERF_OUTPUT(events); BPF_PERF_OUTPUT(events);
...@@ -118,7 +116,6 @@ b.attach_kprobe(event="blk_mq_start_request", fn_name="trace_req_start") ...@@ -118,7 +116,6 @@ b.attach_kprobe(event="blk_mq_start_request", fn_name="trace_req_start")
b.attach_kprobe(event="blk_account_io_completion", b.attach_kprobe(event="blk_account_io_completion",
fn_name="trace_req_completion") fn_name="trace_req_completion")
TASK_COMM_LEN = 16 # linux/sched.h TASK_COMM_LEN = 16 # linux/sched.h
DISK_NAME_LEN = 32 # linux/genhd.h DISK_NAME_LEN = 32 # linux/genhd.h
...@@ -144,25 +141,34 @@ delta = 0 ...@@ -144,25 +141,34 @@ delta = 0
# process event # process event
def print_event(cpu, data, size): def print_event(cpu, data, size):
event = ct.cast(data, ct.POINTER(Data)).contents event = ct.cast(data, ct.POINTER(Data)).contents
val = -1 val = -1
global start_ts global start_ts
global prev_ts global prev_ts
global delta global delta
if event.rwflag == 1: if event.rwflag == 1:
rwflg = "W" rwflg = "W"
if event.rwflag == 0: if event.rwflag == 0:
rwflg = "R" rwflg = "R"
if not re.match('\?', event.name): if not re.match('\?', event.name):
val = event.sector val = event.sector
if start_ts == 0: if start_ts == 0:
prev_ts = start_ts prev_ts = start_ts
if start_ts == 1: if start_ts == 1:
delta = float(delta) + (event.ts - prev_ts) delta = float(delta) + (event.ts - prev_ts)
print("%-14.9f %-14.14s %-6s %-7s %-2s %-9s %-7s %7.2f" % ( print("%-14.9f %-14.14s %-6s %-7s %-2s %-9s %-7s %7.2f" % (
delta / 1000000, event.name, event.pid, event.disk_name, rwflg, val, delta / 1000000, event.name, event.pid, event.disk_name, rwflg, val,
event.len, float(event.delta) / 1000000)) event.len, float(event.delta) / 1000000))
prev_ts = event.ts prev_ts = event.ts
start_ts = 1 start_ts = 1
b["events"].open_perf_buffer(print_event) b["events"].open_perf_buffer(print_event)
while 1: while 1:
b.kprobe_poll() b.kprobe_poll()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment