summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.maps/ix.stp
blob: 328fa0663e079dbb08f0ddd4896056e188f0b24f (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
#test of int maps containing stats

global foo

probe begin {
	for (i=0;i<11;i++)
		foo[i] <<< 100
	for (i=0;i<11;i++)
		foo[i] <<< i
 	for (i=0;i<11;i++)
		foo[i] <<< -2

	foreach (i+ in foo)
	 	printf("foo[%d]: count:%d  sum:%d  avg:%d  min:%d  max:%d\n", 
			i, @count(foo[i]), @sum(foo[i]), @avg(foo[i]),
			@min(foo[i]), @max(foo[i]))
	printf("\nNow reverse order...\n")
	foreach (i- in foo)
	 	printf("foo[%d]: count:%d  sum:%d  avg:%d  min:%d  max:%d\n", 
			i, @count(foo[i]), @sum(foo[i]), @avg(foo[i]),
			@min(foo[i]), @max(foo[i]))

	printf ("\nNow adding 10 to each...\n")
 	for (i=0;i<11;i++)
		foo[i] <<< 10
	foreach (i+ in foo)
	 	printf("foo[%d]: count:%d  sum:%d  avg:%d  min:%d  max:%d\n", 
			i, @count(foo[i]), @sum(foo[i]), @avg(foo[i]),
			@min(foo[i]), @max(foo[i]))

	printf ("\nRun a quick foreach without sorting...\n");
	foreach (i in foo)
		allsum += @sum(foo[i])
	printf ("complete sum of foo:%d\n", allsum)
	exit()
}