3706170628f061fc0881cd466172a1fd0ea2cca8
1 from TraceTest
import AnalysesTest
5 class IoTest(AnalysesTest
):
6 def __init__(self
, delete_trace
=False, verbose
=False):
7 super().__init
__(delete_trace
=delete_trace
,
9 self
.test_list
= [('iousagetop', self
.run_iousagetop
),
10 ('iolatencytop', self
.run_iolatencytop
)]
12 def write_trace(self
):
13 # app (99) is known at statedump
14 self
.t
.write_lttng_statedump_process_state(1000, 0, 99, 99, 99, 99, 98,
15 98, "app", 0, 5, 0, 5, 0)
16 # app2 (100) unknown at statedump has testfile, FD 3 defined at
18 self
.t
.write_lttng_statedump_file_descriptor(1001, 0, 100, 3, 0, 0,
20 # app write 10 bytes to FD 4
21 self
.t
.write_sched_switch(1002, 0, "swapper/0", 0, "app", 99)
22 self
.t
.write_syscall_write(1004, 0, 1, 4, 0xabcd, 10, 10)
23 # app2 reads 100 bytes in FD 3
24 self
.t
.write_sched_switch(1006, 0, "app", 99, "app2", 100)
25 self
.t
.write_syscall_read(1008, 0, 1, 3, 0xcafe, 100, 100)
26 # app3 and its FD 3 are completely unknown at statedump, tries to read 100
27 # bytes from FD 3 but only gets 42
28 self
.t
.write_sched_switch(1010, 0, "app2", 100, "app3", 101)
29 self
.t
.write_syscall_read(1012, 0, 1, 3, 0xcafe, 100, 42)
31 self
.t
.write_block_rq_issue(1015, 0, 264241152, 33, 10, 40, 99, 0, 0, "", "app")
32 self
.t
.write_block_rq_complete(1016, 0, 264241152, 33, 10, 0, 0, 0, "")
34 # FIXME: does not look right
35 self
.t
.write_block_rq_issue(1017, 0, 8388608, 33, 11, 90, 101, 1, 0, "", "app3")
36 self
.t
.write_block_rq_complete(1018, 0, 8388608, 33, 11, 0, 1, 0, "")
38 # FIXME: does not look right
39 self
.t
.write_net_dev_xmit(1020, 2, 0xff, 32, 0, "wlan0")
41 self
.t
.write_netif_receive_skb(1021, 1, 0xff, 100, "wlan1")
42 self
.t
.write_netif_receive_skb(1022, 1, 0xff, 200, "wlan0")
44 self
.t
.write_syscall_open(1023, 0, 1, "test/open/file", 0, 0, 42)
47 def run_iousagetop(self
):
48 expected
= """Timerange: [1969-12-31 19:00:01.000000000, 1969-12-31 19:00:01.022000000]
50 ###############################################################################
51 ██████████████████████████████████████████████████ 100.00 B (100) 0 B file 0 B net 100.00 B unknown
52 █████████████████████ 42.00 B app3 (unknown (tid=101)) 0 B file 0 B net 42.00 B unknown
53 0 B app (99) 0 B file 0 B net 0 B unknown
55 ###############################################################################
56 ██████████████████████████████████████████████████ 10.00 B app (99) 0 B file 0 B net 10.00 B unknown
57 0 B (100) 0 B file 0 B net 0 B unknown
58 0 B app3 (unknown (tid=101)) 0 B file 0 B net 0 B unknown
60 ###############################################################################
61 ██████████████████████████████████████████████████ 100.00 B testfile fd 3 in (100)
62 █████████████████████ 42.00 B unknown(app3) fd 3 in app3 (101)
64 ###############################################################################
65 ██████████████████████████████████████████████████ 10.00 B unknown(app) fd 4 in app (99)
67 ###############################################################################
68 ██████████████████████████████████████████████████ 5.00 KB app (pid=99)
70 ###############################################################################
71 ██████████████████████████████████████████████████ 5.00 KB app (pid=99)
72 Disk requests sector count
73 ###############################################################################
74 ██████████████████████████████████████████████████████████████████ 11.00 sectors (8,0)
75 ████████████████████████████████████████████████████████████ 10.00 sectors (252,0)
77 ###############################################################################
78 ███████████████████████████████████████████████████████████████████ 1.00 requests (252,0)
79 ███████████████████████████████████████████████████████████████████ 1.00 requests (8,0)
80 Disk request average latency
81 ###############################################################################
82 █████████████████████████████████████████████████████████████████ 1.00 ms (252,0)
83 █████████████████████████████████████████████████████████████████ 1.00 ms (8,0)
84 Network received bytes
85 ###############################################################################
86 ██████████████████████████████████████████████████████████ 200.00 B wlan0
87 █████████████████████████████ 100.00 B wlan1
89 ###############################################################################
93 return self
.compare_output('%slttng-iousagetop %s "%s"' % (
94 self
.cmd_root
, self
.common_options
, self
.t
.trace_root
),
97 def run_iolatencytop(self
):
98 expected
= """Timerange: [1969-12-31 19:00:01.000000000, 1969-12-31 19:00:01.022000000]
100 Top system call latencies read (usec)
101 Begin End Name Duration (usec) Size Proc PID Filename
102 [19:00:01.008000000,19:00:01.009000000] read 1000.000 100.00 B 100 testfile (fd=3)
103 [19:00:01.008000000,19:00:01.009000000] read 1000.000 100.00 B 100 testfile (fd=3)
104 [19:00:01.012000000,19:00:01.013000000] read 1000.000 42.00 B app3 101 unknown (fd=3)
105 [19:00:01.012000000,19:00:01.013000000] read 1000.000 42.00 B app3 101 unknown (fd=3)
107 Top system call latencies write (usec)
108 Begin End Name Duration (usec) Size Proc PID Filename
109 [19:00:01.004000000,19:00:01.005000000] write 1000.000 10.00 B app 99 unknown (fd=4)
110 [19:00:01.004000000,19:00:01.005000000] write 1000.000 10.00 B app 99 unknown (fd=4)"""
112 return self
.compare_output('%slttng-iolatencytop %s "%s"' % (
113 self
.cmd_root
, self
.common_options
,
114 self
.t
.get_trace_root()), expected
)
118 t
= IoTest(verbose
=True)
This page took 0.035759 seconds and 4 git commands to generate.