From: Per N. <per...@us...> - 2002-12-29 11:16:02
|
Update of /cvsroot/ozone/ozone/server/src/org/ozoneDB/tools In directory sc8-pr-cvs1:/tmp/cvs-serv3365/src/org/ozoneDB/tools Modified Files: ClusterStats.java IODevice.java OO1BenchmarkApp.java Statistics.java Log Message: JavaDoc fixes. Also trying to bring classic store back to life... Index: ClusterStats.java =================================================================== RCS file: /cvsroot/ozone/ozone/server/src/org/ozoneDB/tools/ClusterStats.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ClusterStats.java 18 Sep 2002 06:54:18 -0000 1.2 +++ ClusterStats.java 29 Dec 2002 11:15:58 -0000 1.3 @@ -1,63 +1,63 @@ -// You can redistribute this software and/or modify it under the terms of -// the Ozone Library License version 1 published by ozone-db.org. -// -// The original code and portions created by SMB are -// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. -// -// $Id$ - -package org.ozoneDB.tools; - -import org.ozoneDB.DxLib.DxObject; - - -public class ClusterStats extends DxObject { - int member = 6; - int[] counter = new int[member]; - - - public ClusterStats() { - for (int i = 0; i < member; i++) { - counter[i] = 0; - } - } - - - public String toString() { - return - "\nobjects loaded : " + counter[0] + " cluster loaded : " + counter[3] + "\nobjects stored : " - + counter[1] + " cluster stored : " + counter[4] + "\nobjects deleted : " + counter[2] - + " cluster deleted : " + counter[5]; - } - - - public void objectLoaded() { - counter[0]++; - } - - - public void objectStored() { - counter[1]++; - } - - - public void objectDeleted() { - counter[2]++; - } - - - public void clusterLoaded() { - counter[3]++; - } - - - public void clusterStored() { - counter[4]++; - } - - - public void clusterDeleted() { - counter[5]++; - } - -} +// You can redistribute this software and/or modify it under the terms of +// the Ozone Library License version 1 published by ozone-db.org. +// +// The original code and portions created by SMB are +// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. +// +// $Id$ + +package org.ozoneDB.tools; + +import org.ozoneDB.DxLib.DxObject; + + +public class ClusterStats extends DxObject { + int member = 6; + int[] counter = new int[member]; + + + public ClusterStats() { + for (int i = 0; i < member; i++) { + counter[i] = 0; + } + } + + + public String toString() { + return + "\nobjects loaded : " + counter[0] + " cluster loaded : " + counter[3] + "\nobjects stored : " + + counter[1] + " cluster stored : " + counter[4] + "\nobjects deleted : " + counter[2] + + " cluster deleted : " + counter[5]; + } + + + public void objectLoaded() { + counter[0]++; + } + + + public void objectStored() { + counter[1]++; + } + + + public void objectDeleted() { + counter[2]++; + } + + + public void clusterLoaded() { + counter[3]++; + } + + + public void clusterStored() { + counter[4]++; + } + + + public void clusterDeleted() { + counter[5]++; + } + +} Index: IODevice.java =================================================================== RCS file: /cvsroot/ozone/ozone/server/src/org/ozoneDB/tools/IODevice.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- IODevice.java 18 Sep 2002 06:54:18 -0000 1.2 +++ IODevice.java 29 Dec 2002 11:15:58 -0000 1.3 @@ -1,25 +1,25 @@ -// You can redistribute this software and/or modify it under the terms of -// the Ozone Library License version 1 published by ozone-db.org. -// -// The original code and portions created by SMB are -// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. -// -// $Id$ - -package org.ozoneDB.tools; - - -/** - * IODevice is a thing where a CommandExecute can output its messages and - * get input from. - */ -public interface IODevice { - - public void message( String mess ); - - public void asyncMessage( String mess ); - - public void close(); - - public boolean request( String req ); -} +// You can redistribute this software and/or modify it under the terms of +// the Ozone Library License version 1 published by ozone-db.org. +// +// The original code and portions created by SMB are +// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. +// +// $Id$ + +package org.ozoneDB.tools; + + +/** + * IODevice is a thing where a CommandExecute can output its messages and + * get input from. + */ +public interface IODevice { + + public void message( String mess ); + + public void asyncMessage( String mess ); + + public void close(); + + public boolean request( String req ); +} Index: OO1BenchmarkApp.java =================================================================== RCS file: /cvsroot/ozone/ozone/server/src/org/ozoneDB/tools/OO1BenchmarkApp.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- OO1BenchmarkApp.java 18 Sep 2002 06:54:18 -0000 1.3 +++ OO1BenchmarkApp.java 29 Dec 2002 11:15:58 -0000 1.4 @@ -1,353 +1,353 @@ -// You can redistribute this software and/or modify it under the terms of -// the Ozone Library License version 1 published by ozone-db.org. -// -// The original code and portions created by SMB are -// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. -// -// $Id$ - -package org.ozoneDB.tools; - -import java.applet.Applet; -import java.awt.*; -import java.awt.event.*; -import java.util.Vector; - - -/** */ -class BenchmarkThread extends Thread { - /** */ - public String benchmarkClassName; - private int benchmarkId = 1; - private int size = 1000; - private String objectName = "cattell"; - private String serverHost = "localhost"; - private BenchmarkProgressLog log = new BenchmarkProgressLog(); - - - /** */ - public BenchmarkThread( String className ) { - benchmarkClassName = className; - } - - - /** */ - public void setProgressLog( BenchmarkProgressLog blog ) { - log = blog; - } - - - /** */ - public String[] filterAndApplyArgs( String[] args ) { - Vector remainingArgs = new Vector(); - - for (int i = 0; i < args.length; i++) { - if (args[i].startsWith( "-benchmark=" )) { - benchmarkId = new Integer( args[i].substring( 11 ) ).intValue(); - } else if (args[i].startsWith( "-size=" )) { - size = new Integer( args[i].substring( 6 ) ).intValue(); - } else if (args[i].startsWith( "-name=" )) { - objectName = args[i].substring( 6 ); - } else if (args[i].startsWith( "-host=" )) { - serverHost = args[i].substring( 6 ); - log.logMessage("serverHost=" + serverHost); - } else { - remainingArgs.addElement( args[i] ); - } - } - - String[] result = new String[remainingArgs.size()]; - for (int i = 0; i < result.length; i++) { - result[i] = (String)remainingArgs.elementAt( i ); - } - - return result; - } - - - /** */ - public static String availableArgs() { - return "-benchmark=<test> -size=<size> [-name=<name>] [-host=<host[:port]>]"; - } - - - /** */ - public static String helpText() { - return - " -benchmark= : 1: create database; size: 100..(10000)\n" - + " 2: lookup; size 1..\n" + " 3: traversal; size: 1..7\n" - + " 4: insert and delete; size: 1..\n" + " 5: insert; size: 1..\n" - + " 6: insert size*1000 objects\n" - + " 7: traversal on the first size cattell objects\n" - + " 8: insert on the first size cattell objects\n" - + " -size : the size of the test\n" - + " -name : optional name of the benchmark object\n" - + " -host : optional name of the server host\n"; - } - - - /** */ - public void run() { - try { - Class benchmarkClass = Class.forName( benchmarkClassName ); - OO1Benchmark benchmark = (OO1Benchmark)benchmarkClass.newInstance(); - benchmark.setProgressLog( log ); - switch (benchmarkId) { - case 1: - benchmark.create( size, objectName, serverHost ); - break; - case 2: - benchmark.lookup( size, objectName, serverHost ); - break; - case 3: - benchmark.traversal( size, objectName, serverHost ); - break; - case 4: - benchmark.insertAndDelete( size, objectName, serverHost ); - break; - case 5: - benchmark.insert( size, objectName, serverHost ); - break; - case 55: - benchmark.delete( size, objectName, serverHost ); - break; - case 6: - benchmark.createObjects( size, objectName, serverHost ); - break; - case 7: - benchmark.traversalObjects( size, objectName, serverHost ); - break; - case 8: - benchmark.insertObjects( size, objectName, serverHost ); - break; - } - } catch (Exception e) { - e.printStackTrace(); - } - } -} - - -/** */ -public class OO1BenchmarkApp extends Applet implements ActionListener, ItemListener { - - - /** */ - public class AppletProgressLog extends BenchmarkProgressLog { - - - /** */ - public AppletProgressLog() { - } - - - /** */ - public void logMessage( String msg ) { - if (outText != null) { - outText.append( msg + "\n" ); - } - } - - - /** */ - public void logTime( long time ) { - if (outText != null) { - outText.append( "time: " + time + "msec\n" ); - } - if (chart != null) { - chart.appendTime( time ); - } - } - } - - /** */ - protected Button startButton; - protected Choice testChoice; - protected TextField sizeText; - protected TextField nameText; - protected TextField serverText; - protected TextField portText; - protected TextArea outText; - protected Label statusLabel; - protected ChartCanvas chart; - protected BenchmarkThread benchmarkThread; - - - /** */ - public OO1BenchmarkApp() { - } - - - /** */ - public void init() { - init( false, new BenchmarkThread( "CattellImpl" ) ); - } - - - /** */ - public void init( boolean chartOnly, BenchmarkThread bmt ) { - benchmarkThread = bmt; - setLayout( new BorderLayout() ); - - if (!chartOnly) { - Panel panel = new Panel(); - panel.setLayout( new FlowLayout( FlowLayout.LEFT ) ); - - startButton = new Button( " Start " ); - startButton.setFont( new Font( "Monospaced", Font.BOLD, 14 ) ); - startButton.addActionListener( this ); - panel.add( startButton ); - - testChoice = new Choice(); - testChoice.add( "Help" ); - testChoice.add( "1 Create" ); - testChoice.add( "2 Lookup" ); - testChoice.add( "3 Traversal" ); - testChoice.add( "4 Ins & del" ); - testChoice.add( "5 Insert" ); - testChoice.add( "6 Ins*1000" ); - testChoice.add( "7 Traversal" ); - testChoice.add( "8 Insert" ); - testChoice.addItemListener( this ); - panel.add( testChoice ); - - sizeText = new TextField( "1000", 5 ); - sizeText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); - sizeText.addActionListener( this ); - panel.add( sizeText ); - - nameText = new TextField( "cattell", 9 ); - nameText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); - nameText.addActionListener( this ); - panel.add( nameText ); - - serverText = new TextField( "localhost", 9 ); - serverText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); - serverText.addActionListener( this ); - panel.add( serverText ); - - portText = new TextField( "3333", 9 ); - portText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); - portText.addActionListener( this ); - panel.add( portText ); - - add( "North", panel ); - - panel = new Panel(); - panel.setLayout( new BorderLayout() ); - - outText = new TextArea(); - panel.add( outText, "North" ); - - chart = new ChartCanvas(); - panel.add( chart, "Center" ); - - add( "Center", panel ); - - statusLabel = new Label( "Test:Build - Size:1000 - Name:cattell " ); - add( "South", statusLabel ); - } else { - chart = new ChartCanvas(); - add( "Center", chart ); - } - - benchmarkThread.setProgressLog( new AppletProgressLog() ); - } - - - /** */ - public void itemStateChanged( ItemEvent e ) { - String[] defaults = {"0", "1000", "100", "7", "100", "100", "10", "10", "10"}; - if (testChoice.getSelectedIndex() > -1) { - sizeText.setText( defaults[testChoice.getSelectedIndex()] ); - } - } - - - /** */ - public void actionPerformed( ActionEvent e ) { - if (startButton.getLabel().equals( " Start " )) { - int test = testChoice.getSelectedIndex(); - int size = Integer.valueOf( sizeText.getText() ).intValue(); - String name = nameText.getText(); - String server = serverText.getText(); - String port = portText.getText(); - statusLabel.setText( "Test: " + test + " Size: " + size + " Name: " + name + " Host: " + server + ":" - + port ); - - String[] args = {"-benchmark=" + test, "-size=" + size, "-name=" + name, "-host=" + server + ":" + port}; - benchmarkThread.filterAndApplyArgs( args ); - startButton.setLabel( " Stop " ); - benchmarkThread.start(); - } else { - benchmarkThread.stop(); - benchmarkThread = new BenchmarkThread( benchmarkThread.benchmarkClassName ); - benchmarkThread.setProgressLog( new AppletProgressLog() ); - startButton.setLabel( " Start " ); - } - } - - - /** */ - public static void createFrame( boolean chartOnly, BenchmarkThread thread ) { - Frame f = new Frame( "Cattell Benchmark" ); - OO1BenchmarkApp applet = new OO1BenchmarkApp(); - - applet.init( chartOnly, thread ); - applet.start(); - - f.add( "Center", applet ); - f.pack(); - f.setSize( chartOnly ? 300 : 550, chartOnly ? 120 : 400 ); - f.show(); - f.addWindowListener( new WindowAdapter() { - - - public void windowClosing( WindowEvent e ) { - System.exit( 0 ); - } - } ); - - if (chartOnly) { - thread.run(); - } - } - - - /** */ - public static void main( String[] args ) { - boolean chartOnly = false; - boolean noGui = false; - String benchmarkClass = "CattellImpl"; - - for (int i = 0; i < args.length; i++) { - if (args[i].startsWith( "-chartOnly" )) { - chartOnly = true; - } else if (args[i].startsWith( "-noGui" )) { - noGui = true; - } else if (args[i].startsWith( "-class=" )) { - benchmarkClass = args[i].substring( 7 ); - } else { - if (args[i].startsWith( "-help" ) || args[i].startsWith( "-?" )) { - System.out.println( "usage: java OO1BenchmarkApp " + BenchmarkThread.availableArgs() + " " - + ChartCanvas.availableArgs() + " " - + "[-chartOnly] [-noGui] [-class=<classname>] [-help|-h|-?]\n" + "Details:\n" - + BenchmarkThread.helpText() + ChartCanvas.helpText() - + " -chartOnly : show only the chart panel and perform the given test\n" - + " -noGui : show no GUI at all and perform the given test\n" - + " -class= : the benchmark class, default is CattellImpl\n" - + " -help|-h|-? : shows this help" ); - return; - } - } - } - - BenchmarkThread thread = new BenchmarkThread( benchmarkClass ); - thread.filterAndApplyArgs( args ); - if (noGui) { - thread.run(); - } else { - createFrame( chartOnly, thread ); - } - } -} +// You can redistribute this software and/or modify it under the terms of +// the Ozone Library License version 1 published by ozone-db.org. +// +// The original code and portions created by SMB are +// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. +// +// $Id$ + +package org.ozoneDB.tools; + +import java.applet.Applet; +import java.awt.*; +import java.awt.event.*; +import java.util.Vector; + + +/** */ +class BenchmarkThread extends Thread { + /** */ + public String benchmarkClassName; + private int benchmarkId = 1; + private int size = 1000; + private String objectName = "cattell"; + private String serverHost = "localhost"; + private BenchmarkProgressLog log = new BenchmarkProgressLog(); + + + /** */ + public BenchmarkThread( String className ) { + benchmarkClassName = className; + } + + + /** */ + public void setProgressLog( BenchmarkProgressLog blog ) { + log = blog; + } + + + /** */ + public String[] filterAndApplyArgs( String[] args ) { + Vector remainingArgs = new Vector(); + + for (int i = 0; i < args.length; i++) { + if (args[i].startsWith( "-benchmark=" )) { + benchmarkId = new Integer( args[i].substring( 11 ) ).intValue(); + } else if (args[i].startsWith( "-size=" )) { + size = new Integer( args[i].substring( 6 ) ).intValue(); + } else if (args[i].startsWith( "-name=" )) { + objectName = args[i].substring( 6 ); + } else if (args[i].startsWith( "-host=" )) { + serverHost = args[i].substring( 6 ); + log.logMessage("serverHost=" + serverHost); + } else { + remainingArgs.addElement( args[i] ); + } + } + + String[] result = new String[remainingArgs.size()]; + for (int i = 0; i < result.length; i++) { + result[i] = (String)remainingArgs.elementAt( i ); + } + + return result; + } + + + /** */ + public static String availableArgs() { + return "-benchmark=<test> -size=<size> [-name=<name>] [-host=<host[:port]>]"; + } + + + /** */ + public static String helpText() { + return + " -benchmark= : 1: create database; size: 100..(10000)\n" + + " 2: lookup; size 1..\n" + " 3: traversal; size: 1..7\n" + + " 4: insert and delete; size: 1..\n" + " 5: insert; size: 1..\n" + + " 6: insert size*1000 objects\n" + + " 7: traversal on the first size cattell objects\n" + + " 8: insert on the first size cattell objects\n" + + " -size : the size of the test\n" + + " -name : optional name of the benchmark object\n" + + " -host : optional name of the server host\n"; + } + + + /** */ + public void run() { + try { + Class benchmarkClass = Class.forName( benchmarkClassName ); + OO1Benchmark benchmark = (OO1Benchmark)benchmarkClass.newInstance(); + benchmark.setProgressLog( log ); + switch (benchmarkId) { + case 1: + benchmark.create( size, objectName, serverHost ); + break; + case 2: + benchmark.lookup( size, objectName, serverHost ); + break; + case 3: + benchmark.traversal( size, objectName, serverHost ); + break; + case 4: + benchmark.insertAndDelete( size, objectName, serverHost ); + break; + case 5: + benchmark.insert( size, objectName, serverHost ); + break; + case 55: + benchmark.delete( size, objectName, serverHost ); + break; + case 6: + benchmark.createObjects( size, objectName, serverHost ); + break; + case 7: + benchmark.traversalObjects( size, objectName, serverHost ); + break; + case 8: + benchmark.insertObjects( size, objectName, serverHost ); + break; + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} + + +/** */ +public class OO1BenchmarkApp extends Applet implements ActionListener, ItemListener { + + + /** */ + public class AppletProgressLog extends BenchmarkProgressLog { + + + /** */ + public AppletProgressLog() { + } + + + /** */ + public void logMessage( String msg ) { + if (outText != null) { + outText.append( msg + "\n" ); + } + } + + + /** */ + public void logTime( long time ) { + if (outText != null) { + outText.append( "time: " + time + "msec\n" ); + } + if (chart != null) { + chart.appendTime( time ); + } + } + } + + /** */ + protected Button startButton; + protected Choice testChoice; + protected TextField sizeText; + protected TextField nameText; + protected TextField serverText; + protected TextField portText; + protected TextArea outText; + protected Label statusLabel; + protected ChartCanvas chart; + protected BenchmarkThread benchmarkThread; + + + /** */ + public OO1BenchmarkApp() { + } + + + /** */ + public void init() { + init( false, new BenchmarkThread( "CattellImpl" ) ); + } + + + /** */ + public void init( boolean chartOnly, BenchmarkThread bmt ) { + benchmarkThread = bmt; + setLayout( new BorderLayout() ); + + if (!chartOnly) { + Panel panel = new Panel(); + panel.setLayout( new FlowLayout( FlowLayout.LEFT ) ); + + startButton = new Button( " Start " ); + startButton.setFont( new Font( "Monospaced", Font.BOLD, 14 ) ); + startButton.addActionListener( this ); + panel.add( startButton ); + + testChoice = new Choice(); + testChoice.add( "Help" ); + testChoice.add( "1 Create" ); + testChoice.add( "2 Lookup" ); + testChoice.add( "3 Traversal" ); + testChoice.add( "4 Ins & del" ); + testChoice.add( "5 Insert" ); + testChoice.add( "6 Ins*1000" ); + testChoice.add( "7 Traversal" ); + testChoice.add( "8 Insert" ); + testChoice.addItemListener( this ); + panel.add( testChoice ); + + sizeText = new TextField( "1000", 5 ); + sizeText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); + sizeText.addActionListener( this ); + panel.add( sizeText ); + + nameText = new TextField( "cattell", 9 ); + nameText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); + nameText.addActionListener( this ); + panel.add( nameText ); + + serverText = new TextField( "localhost", 9 ); + serverText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); + serverText.addActionListener( this ); + panel.add( serverText ); + + portText = new TextField( "3333", 9 ); + portText.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) ); + portText.addActionListener( this ); + panel.add( portText ); + + add( "North", panel ); + + panel = new Panel(); + panel.setLayout( new BorderLayout() ); + + outText = new TextArea(); + panel.add( outText, "North" ); + + chart = new ChartCanvas(); + panel.add( chart, "Center" ); + + add( "Center", panel ); + + statusLabel = new Label( "Test:Build - Size:1000 - Name:cattell " ); + add( "South", statusLabel ); + } else { + chart = new ChartCanvas(); + add( "Center", chart ); + } + + benchmarkThread.setProgressLog( new AppletProgressLog() ); + } + + + /** */ + public void itemStateChanged( ItemEvent e ) { + String[] defaults = {"0", "1000", "100", "7", "100", "100", "10", "10", "10"}; + if (testChoice.getSelectedIndex() > -1) { + sizeText.setText( defaults[testChoice.getSelectedIndex()] ); + } + } + + + /** */ + public void actionPerformed( ActionEvent e ) { + if (startButton.getLabel().equals( " Start " )) { + int test = testChoice.getSelectedIndex(); + int size = Integer.valueOf( sizeText.getText() ).intValue(); + String name = nameText.getText(); + String server = serverText.getText(); + String port = portText.getText(); + statusLabel.setText( "Test: " + test + " Size: " + size + " Name: " + name + " Host: " + server + ":" + + port ); + + String[] args = {"-benchmark=" + test, "-size=" + size, "-name=" + name, "-host=" + server + ":" + port}; + benchmarkThread.filterAndApplyArgs( args ); + startButton.setLabel( " Stop " ); + benchmarkThread.start(); + } else { + benchmarkThread.stop(); + benchmarkThread = new BenchmarkThread( benchmarkThread.benchmarkClassName ); + benchmarkThread.setProgressLog( new AppletProgressLog() ); + startButton.setLabel( " Start " ); + } + } + + + /** */ + public static void createFrame( boolean chartOnly, BenchmarkThread thread ) { + Frame f = new Frame( "Cattell Benchmark" ); + OO1BenchmarkApp applet = new OO1BenchmarkApp(); + + applet.init( chartOnly, thread ); + applet.start(); + + f.add( "Center", applet ); + f.pack(); + f.setSize( chartOnly ? 300 : 550, chartOnly ? 120 : 400 ); + f.show(); + f.addWindowListener( new WindowAdapter() { + + + public void windowClosing( WindowEvent e ) { + System.exit( 0 ); + } + } ); + + if (chartOnly) { + thread.run(); + } + } + + + /** */ + public static void main( String[] args ) { + boolean chartOnly = false; + boolean noGui = false; + String benchmarkClass = "CattellImpl"; + + for (int i = 0; i < args.length; i++) { + if (args[i].startsWith( "-chartOnly" )) { + chartOnly = true; + } else if (args[i].startsWith( "-noGui" )) { + noGui = true; + } else if (args[i].startsWith( "-class=" )) { + benchmarkClass = args[i].substring( 7 ); + } else { + if (args[i].startsWith( "-help" ) || args[i].startsWith( "-?" )) { + System.out.println( "usage: java OO1BenchmarkApp " + BenchmarkThread.availableArgs() + " " + + ChartCanvas.availableArgs() + " " + + "[-chartOnly] [-noGui] [-class=<classname>] [-help|-h|-?]\n" + "Details:\n" + + BenchmarkThread.helpText() + ChartCanvas.helpText() + + " -chartOnly : show only the chart panel and perform the given test\n" + + " -noGui : show no GUI at all and perform the given test\n" + + " -class= : the benchmark class, default is CattellImpl\n" + + " -help|-h|-? : shows this help" ); + return; + } + } + } + + BenchmarkThread thread = new BenchmarkThread( benchmarkClass ); + thread.filterAndApplyArgs( args ); + if (noGui) { + thread.run(); + } else { + createFrame( chartOnly, thread ); + } + } +} Index: Statistics.java =================================================================== RCS file: /cvsroot/ozone/ozone/server/src/org/ozoneDB/tools/Statistics.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Statistics.java 18 Sep 2002 06:54:18 -0000 1.2 +++ Statistics.java 29 Dec 2002 11:15:58 -0000 1.3 @@ -1,105 +1,105 @@ -// You can redistribute this software and/or modify it under the terms of -// the Ozone Library License version 1 published by ozone-db.org. -// -// The original code and portions created by SMB are -// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. -// -// $Id$ - -package org.ozoneDB.tools; - -import org.ozoneDB.DxLib.DxObject; - -import java.io.*; - - -public class Statistics extends Object { - static String dir = File.separator + "stats"; - public static String clusp = new String( "clusp" ); - - - public static void main( String[] args ) { - try { - String odbdir = args[0].toString(); - System.out.println( "ODB3X statistics" ); - System.out.println( "----------------" ); - printLastOID( odbdir ); - printStats( odbdir ); - } catch (Exception e) { - System.out.println( "\nusage: java Statistics <dir>" ); - System.exit( 1 ); - } - } - - - public static void printLastOID( String odbdir ) { - // FIXME: - // try { - // File f = new File (odbdir, Env.OID_FILE); - // RandomAccessFile rf = new RandomAccessFile (f, "rw"); - // long id = rf.readLong (); - // System.out.println ("DatabaseID : " + (id>>40)); - // System.out.println ("ObjectID count : " + (id & 0xFFFFF)); - // System.out.println ("ClusterID count : " + (rf.readLong() & 0xFFFFF)); - // System.out.println ("TransactionID count : " + (rf.readLong() & 0xFFFFF)); - // rf.close (); - // } catch (IOException e) { - // System.err.println (e); - // } - } - - - public static void printStats( String odbdir ) { - System.out.print( "\nClusterSpace stats:" ); - System.out.println( readClusterStats( odbdir ) ); - } - - - public static void writeStats( DxObject cs, String path, String file ) { - try { - File f = new File( path + dir ); - if (!f.exists()) { - f.mkdir(); - } - f = new File( path + dir, file ); - FileOutputStream fo = new FileOutputStream( f ); - ObjectOutputStream os = new ObjectOutputStream( fo ); - os.writeObject( cs ); - os.close(); - } catch (Exception e) { - System.out.println( e ); - } - } - - - public static DxObject readStats( String path, String file ) { - try { - File f = new File( path + dir, file ); - FileInputStream fi = new FileInputStream( f ); - ObjectInputStream is = new ObjectInputStream( fi ); - DxObject obj = (DxObject)is.readObject(); - fi.close(); - return obj; - } catch (FileNotFoundException e) { - // nichts tun, wenn file nicht da, wird spaeter angelegt - } catch (Exception e) { - System.out.println( e ); - } - return null; - } - - - public static void writeClusterStats( ClusterStats cs, String path ) { - writeStats( cs, path, clusp ); - } - - - public static ClusterStats readClusterStats( String path ) { - ClusterStats cs = (ClusterStats)Statistics.readStats( path, clusp ); - if (cs == null) { - cs = new ClusterStats(); - writeClusterStats( cs, path ); - } - return cs; - } -} +// You can redistribute this software and/or modify it under the terms of +// the Ozone Library License version 1 published by ozone-db.org. +// +// The original code and portions created by SMB are +// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved. +// +// $Id$ + +package org.ozoneDB.tools; + +import org.ozoneDB.DxLib.DxObject; + +import java.io.*; + + +public class Statistics extends Object { + static String dir = File.separator + "stats"; + public static String clusp = new String( "clusp" ); + + + public static void main( String[] args ) { + try { + String odbdir = args[0].toString(); + System.out.println( "ODB3X statistics" ); + System.out.println( "----------------" ); + printLastOID( odbdir ); + printStats( odbdir ); + } catch (Exception e) { + System.out.println( "\nusage: java Statistics <dir>" ); + System.exit( 1 ); + } + } + + + public static void printLastOID( String odbdir ) { + // FIXME: + // try { + // File f = new File (odbdir, Env.OID_FILE); + // RandomAccessFile rf = new RandomAccessFile (f, "rw"); + // long id = rf.readLong (); + // System.out.println ("DatabaseID : " + (id>>40)); + // System.out.println ("ObjectID count : " + (id & 0xFFFFF)); + // System.out.println ("ClusterID count : " + (rf.readLong() & 0xFFFFF)); + // System.out.println ("TransactionID count : " + (rf.readLong() & 0xFFFFF)); + // rf.close (); + // } catch (IOException e) { + // System.err.println (e); + // } + } + + + public static void printStats( String odbdir ) { + System.out.print( "\nClusterSpace stats:" ); + System.out.println( readClusterStats( odbdir ) ); + } + + + public static void writeStats( DxObject cs, String path, String file ) { + try { + File f = new File( path + dir ); + if (!f.exists()) { + f.mkdir(); + } + f = new File( path + dir, file ); + FileOutputStream fo = new FileOutputStream( f ); + ObjectOutputStream os = new ObjectOutputStream( fo ); + os.writeObject( cs ); + os.close(); + } catch (Exception e) { + System.out.println( e ); + } + } + + + public static DxObject readStats( String path, String file ) { + try { + File f = new File( path + dir, file ); + FileInputStream fi = new FileInputStream( f ); + ObjectInputStream is = new ObjectInputStream( fi ); + DxObject obj = (DxObject)is.readObject(); + fi.close(); + return obj; + } catch (FileNotFoundException e) { + // nichts tun, wenn file nicht da, wird spaeter angelegt + } catch (Exception e) { + System.out.println( e ); + } + return null; + } + + + public static void writeClusterStats( ClusterStats cs, String path ) { + writeStats( cs, path, clusp ); + } + + + public static ClusterStats readClusterStats( String path ) { + ClusterStats cs = (ClusterStats)Statistics.readStats( path, clusp ); + if (cs == null) { + cs = new ClusterStats(); + writeClusterStats( cs, path ); + } + return cs; + } +} |