summaryrefslogtreecommitdiffstats
path: root/nfs/nfs_writes.stp
blob: 27ddc40df076e6baaefe43ad829cf839fbf5db9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
global nfs_file_write_start_time, file_write_time, file_write_longest

probe module("nfs").function("nfs_file_write")
{
	nfs_file_write_start_time = gettimeofday_us()
}
probe module("nfs").function("nfs_file_write").return
{
	file_write_time <<< gettimeofday_us() - nfs_file_write_start_time
	if (@max(file_write_time) > file_write_longest)
		printf ("%s: %s time avg %d max %d\n", execname(), probefunc(), 
			@avg(file_write_time), @max(file_write_time))
	file_write_longest = @max(file_write_time)
}

global nfs_write_begin_start_time, write_bg_time, write_bg_longest

probe module("nfs").function("nfs_write_begin")
{
	nfs_write_begin_start_time = gettimeofday_us()
}
probe module("nfs").function("nfs_write_begin").return
{
	write_bg_time <<< gettimeofday_us() - nfs_write_begin_start_time
	if (@max(write_bg_time) > write_bg_longest)
		printf ("%s: %s time avg %d max %d\n", execname(), probefunc(), 
			@avg(write_bg_time), @max(write_bg_time))
	write_bg_longest = @max(write_bg_time)
}

global nfs_flush_incompatible_start_time, flush_ttime, longest_flush

probe module("nfs").function("nfs_flush_incompatible")
{
	nfs_flush_incompatible_start_time = gettimeofday_us()
}
probe module("nfs").function("nfs_flush_incompatible").return
{
	flush_ttime <<< gettimeofday_us() - nfs_flush_incompatible_start_time
	if (@max(flush_ttime) > longest_flush)
		printf ("%s: %s time avg %d max %d\n", execname(), probefunc(), 
			@avg(flush_ttime), @max(flush_ttime));
	longest_flush = @max(flush_ttime)
}
global nfs_wb_page_start_time, wb_page_time, wb_page_longest

probe module("nfs").function("nfs_wb_page")
{
	nfs_wb_page_start_time = gettimeofday_us()
}
probe module("nfs").function("nfs_wb_page").return
{
	wb_page_time <<< gettimeofday_us() - nfs_wb_page_start_time
	if (@max(wb_page_time) > wb_page_longest)
		printf ("%s: %s time avg %d max %d\n", execname(), probefunc(), 
			@avg(wb_page_time), @max(wb_page_time));
	wb_page_longest = @max(wb_page_time)
}

global nfs_commit_inode_start_time, commit_time, commit_longest

probe module("nfs").function("nfs_commit_inode")
{
	nfs_commit_inode_start_time = gettimeofday_us()
}
probe module("nfs").function("nfs_commit_inode").return
{
	commit_time <<< gettimeofday_us() - nfs_commit_inode_start_time
	if (@max(commit_time) > commit_longest)
		printf ("%s: %s time avg %d max %d\n", execname(), probefunc(), 
			@avg(commit_time), @max(commit_time));
	commit_longest = @max(commit_time)
}

probe begin { log("starting nfs_writes probe") }
probe end { log("ending nfs_writes probe") }