1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright (c) 2016 by Delphix. All rights reserved.
14  */
15 
16 #pragma D option stackframes=100
17 
18 /*
19  * @stacks: The number of times a stack has been recorded
20  */
21 
22 sched:::off-cpu
23 {
24 	self->ts = timestamp;
25 }
26 
27 sched:::on-cpu
28 / self->ts != 0 /
29 {
30 	@stacks[stack()] = sum(timestamp - self->ts);
31 	self->ts = 0;
32 }
33 
34 ERROR
35 {
36 	trace(arg1);
37 	trace(arg2);
38 	trace(arg3);
39 	trace(arg4);
40 	trace(arg5);
41 }
42