TestAPI2.java revision fb3fb4f3d76d55b64440afd0af72775dfad3bd1d
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * CDDL HEADER START
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * The contents of this file are subject to the terms of the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Common Development and Distribution License (the "License").
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * You may not use this file except in compliance with the License.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * or http://www.opensolaris.org/os/licensing.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * See the License for the specific language governing permissions
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * and limitations under the License.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * When distributing Covered Code, include this CDDL HEADER in each
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * If applicable, add the following below this CDDL HEADER, with the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * fields enclosed by brackets "[]" replaced with your own identifying
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * information: Portions Copyright [yyyy] [name of copyright owner]
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * CDDL HEADER END
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Use is subject to license terms.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ident "%Z%%M% %I% %E% SMI"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
import org.opensolaris.os.dtrace.*;
import java.io.File;
public class TestAPI2 {
public static void
main(String[] args)
{
if (args.length < 1) {
System.err.println("Usage: java TestAPI2 <script> " +
"[ macroargs... ]");
System.exit(2);
}
File file = new File(args[0]);
String[] macroArgs = new String[args.length - 1];
System.arraycopy(args, 1, macroArgs, 0, (args.length - 1));
Consumer consumer = new LocalConsumer();
consumer.addConsumerListener(new ConsumerAdapter() {
public void dataReceived(DataEvent e) {
// System.out.println(e.getProbeData());
ProbeData data = e.getProbeData();
java.util.List < Record > records = data.getRecords();
for (Record r : records) {
if (r instanceof ExitRecord) {
} else {
System.out.println(r);
}
}
}
});
try {
consumer.open();
consumer.compile(file, macroArgs);
consumer.enable();
consumer.go();
Aggregate a;
do {
Thread.sleep(1000);
a = consumer.getAggregate();
if (!a.asMap().isEmpty()) {
System.out.println(a);
}
} while (consumer.isRunning());
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}