# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # sub pre_run { # Initialize filebench to appropriate personality, create files # and processes op_init(); # The op_load command automatically creates files op_load(conf_reqval("personality")); # Flush the FS cache op_command("system \"" . get_FILEBENCH() . "/scripts/fs_flush " . conf_reqval("filesystem") . " " . conf_reqval("dir") . "\""); # Initialise statistics and argument arrays @ext_stats=(); @file_stats=(); @arg_stats=(); } sub post_run { my $statsbase = get_STATSBASE(); # Shutdown processes and quit filebench op_quit(); # Create a html summary of the run system ("cd $statsbase; " . get_FILEBENCH() . "/scripts/filebench_compare $statsbase") } sub bm_run { my $runtime = conf_reqval("runtime"); my $fs = get_CONFNAME(); # The following array must not contain empty values ! This causes the # statistics scripts to miss arguments ! # Clear, run the benchmark, snap statistics # This command will also run external statistics (supplied in an array) # if desired # Statistics automatically dumped into directory matching stats # profile variable # /-/ # create processes and start run, then collect statistics op_stats($runtime,"stats.$fs",@ext_stats,@file_stats,@arg_stats); } 1;