org.firebirdsql.management

Class FBStatisticsManager

Implemented Interfaces:
ServiceManager, StatisticsManager

public class FBStatisticsManager
extends FBServiceManager
implements StatisticsManager

The FBStatisticsManager class is responsible for replicating the functionality of the gstat command-line tool. This functionality includes:
Author:
Gabriel Reid

Field Summary

Fields inherited from class org.firebirdsql.management.FBServiceManager

BUFFER_SIZE

Fields inherited from interface org.firebirdsql.management.StatisticsManager

DATA_TABLE_STATISTICS, INDEX_STATISTICS, RECORD_VERSION_STATISTICS, SYSTEM_TABLE_STATISTICS

Constructor Summary

FBStatisticsManager()
Create a new instance of FBMaintenanceManager based on the default GDSType.
FBStatisticsManager(String gdsType)
Create a new instance of FBMaintenanceManager based on a given GDSType.
FBStatisticsManager(org.firebirdsql.gds.impl.GDSType gdsType)
Create a new instance of FBMaintenanceManager based on a given GDSType.

Method Summary

void
getDatabaseStatistics()
Get the full database statistics information, excluding system table information.
void
getDatabaseStatistics(int options)
Get specific database statistics.
void
getHeaderPage()
Fetch the database statistics header page.
void
getTableStatistics(String[] tableName)
Get the table statistics.

Methods inherited from class org.firebirdsql.management.FBServiceManager

attachServiceManager, createRequestBuffer, detachServiceManager, executeServicesOperation, getDatabase, getGds, getHost, getLogger, getPassword, getPort, getServiceName, getUser, queueService, setDatabase, setHost, setLogger, setPassword, setPort, setUser

Constructor Details

FBStatisticsManager

public FBStatisticsManager()
Create a new instance of FBMaintenanceManager based on the default GDSType.

FBStatisticsManager

public FBStatisticsManager(String gdsType)
Create a new instance of FBMaintenanceManager based on a given GDSType.
Parameters:
gdsType - type must be PURE_JAVA, EMBEDDED, or NATIVE

FBStatisticsManager

public FBStatisticsManager(org.firebirdsql.gds.impl.GDSType gdsType)
Create a new instance of FBMaintenanceManager based on a given GDSType.
Parameters:
gdsType - The GDS implementation type to use

Method Details

getDatabaseStatistics

public void getDatabaseStatistics()
            throws SQLException
Get the full database statistics information, excluding system table information. The statistics information is written to this StatisticsManager's logger.

The listed data includes:

  • statistics header page
  • log statistics
  • index statistics
  • data table statistics

Invoking this method is equivalent to the default behaviour of gfix on the command-line.

Specified by:
getDatabaseStatistics in interface StatisticsManager

getDatabaseStatistics

public void getDatabaseStatistics(int options)
            throws SQLException
Get specific database statistics. The statistics information is written to this StatisticsManager's logger. All invocations of this method will result in the header page and log data being output. The following options can be supplied as a bitmask:
  • DATA_TABLE_STATISTICS
  • SYSTEM_TABLE_STATISTICS
  • INDEX_STATISTICS

If this method is invoked with 0 as the options value, only the header and log statistics will be output.

Specified by:
getDatabaseStatistics in interface StatisticsManager
Parameters:
options - A bitmask combination of DATA_TABLE_STATISTICS, SYSTEM_TABLE_STATISTICS, or INDEX_STATISTICS. Can also be 0.

getHeaderPage

public void getHeaderPage()
            throws SQLException
Fetch the database statistics header page. The header information is written to this StatisticsManager's logger.
Specified by:
getHeaderPage in interface StatisticsManager

getTableStatistics

public void getTableStatistics(String[] tableName)
            throws SQLException
Get the table statistics. The statistics information is written to this StatisticsManager's logger.

The listed data includes:

  • the primary pointer and index root page numbers
  • number of data pages and their average fill
  • fill distribution

Invoking this method is equivalent to the behaviour of gstat -t

on the command-line.
Specified by:
getTableStatistics in interface StatisticsManager
Parameters:

Copyright B) 2001 David Jencks and other authors. All rights reserved.