19512fe85Sahl /* 29512fe85Sahl * CDDL HEADER START 39512fe85Sahl * 49512fe85Sahl * The contents of this file are subject to the terms of the 59512fe85Sahl * Common Development and Distribution License (the "License"). 69512fe85Sahl * You may not use this file except in compliance with the License. 79512fe85Sahl * 89512fe85Sahl * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99512fe85Sahl * or http://www.opensolaris.org/os/licensing. 109512fe85Sahl * See the License for the specific language governing permissions 119512fe85Sahl * and limitations under the License. 129512fe85Sahl * 139512fe85Sahl * When distributing Covered Code, include this CDDL HEADER in each 149512fe85Sahl * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159512fe85Sahl * If applicable, add the following below this CDDL HEADER, with the 169512fe85Sahl * fields enclosed by brackets "[]" replaced with your own identifying 179512fe85Sahl * information: Portions Copyright [yyyy] [name of copyright owner] 189512fe85Sahl * 199512fe85Sahl * CDDL HEADER END 209512fe85Sahl */ 219512fe85Sahl 229512fe85Sahl /* 23*ccf8180eSRafael Vanoni * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 249512fe85Sahl * Use is subject to license terms. 259512fe85Sahl */ 269512fe85Sahl 279512fe85Sahl /* 289512fe85Sahl * ASSERTION: 299512fe85Sahl * Multiple aggregates can be used within the same D script. 309512fe85Sahl * 319512fe85Sahl * SECTION: Aggregations/Aggregations 329512fe85Sahl * 339512fe85Sahl */ 349512fe85Sahl 359512fe85Sahl #pragma D option quiet 369512fe85Sahl 379512fe85Sahl BEGIN 389512fe85Sahl { 399512fe85Sahl time_1 = timestamp; 409512fe85Sahl i = 0; 419512fe85Sahl } 429512fe85Sahl 439512fe85Sahl tick-10ms 449512fe85Sahl /i <= 10/ 459512fe85Sahl { 469512fe85Sahl time_2 = timestamp; 479512fe85Sahl new_time = time_2 - time_1; 489512fe85Sahl @a[pid] = max(new_time); 499512fe85Sahl @b[pid] = min(new_time); 509512fe85Sahl @c[pid] = avg(new_time); 519512fe85Sahl @d[pid] = sum(new_time); 529512fe85Sahl @e[pid] = quantize(new_time); 53*ccf8180eSRafael Vanoni @f[pid] = stddev(new_time); 54*ccf8180eSRafael Vanoni @g[timestamp] = max(new_time); 55*ccf8180eSRafael Vanoni @h[timestamp] = quantize(new_time); 56*ccf8180eSRafael Vanoni @i[timestamp] = lquantize(new_time, 0, 10000, 1000); 57*ccf8180eSRafael Vanoni 589512fe85Sahl time_1 = time_2; 599512fe85Sahl i++; 609512fe85Sahl } 619512fe85Sahl 629512fe85Sahl tick-10ms 639512fe85Sahl /i == 10/ 649512fe85Sahl { 659512fe85Sahl exit(0); 669512fe85Sahl } 67