- All Implemented Interfaces:
AttachmentProperties,BaseProperties,ServiceConnectionProperties,ServiceManager,StatisticsManager
FBStatisticsManager class is responsible for replicating the functionality of
the gstat command-line tool.
This functionality includes:
- Retrieving data table statistics
- Retrieving the database header page
- Retrieving index statistics
- Retrieving database logging information
- Retrieving statistics for the data dictionary
- Author:
- Gabriel Reid
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.firebirdsql.management.StatisticsManager
StatisticsManager.DatabaseTransactionInfo -
Field Summary
Fields inherited from class org.firebirdsql.management.FBServiceManager
BUFFER_SIZEFields inherited from interface org.firebirdsql.management.StatisticsManager
DATA_TABLE_STATISTICS, INDEX_STATISTICS, RECORD_VERSION_STATISTICS, SYSTEM_TABLE_STATISTICS -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instance ofFBMaintenanceManagerbased on the default GDSType.FBStatisticsManager(String gdsType) Create a new instance ofFBMaintenanceManagerbased on a given GDSType.FBStatisticsManager(GDSType gdsType) Create a new instance ofFBMaintenanceManagerbased on a given GDSType. -
Method Summary
Modifier and TypeMethodDescriptionvoidGet the full database statistics information, excluding system table information.voidgetDatabaseStatistics(int options) Get specific database statistics.Get transaction information of the database specified indatabase.getDatabaseTransactionInfo(Connection connection) Get transaction information for an existing database connection.voidFetch the database statistics header page.voidgetTableStatistics(String[] tableNames) Get the table statistics.Methods inherited from class org.firebirdsql.management.FBServiceManager
attachDatabase, attachServiceManager, connectionPropertyValues, createRequestBuffer, executeServicesOperation, getAuthPlugins, getBooleanProperty, getCharSet, getDatabase, getDbCryptConfig, getExpectedDb, getHost, getIntProperty, getLogger, getPassword, getPort, getPortNumber, getProperty, getServerName, getServerVersion, getServiceName, getUser, getWireCrypt, getWireCryptAsEnum, isWireCompression, queueService, setAuthPlugins, setBooleanProperty, setCharSet, setDatabase, setDbCryptConfig, setExpectedDb, setHost, setIntProperty, setLogger, setPassword, setPort, setPortNumber, setProperty, setServerName, setServiceName, setType, setUser, setWireCompression, setWireCryptAsEnumMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties
getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEnableProtocol, getEncoding, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSocketFactory, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEnableProtocol, setEncoding, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSocketFactory, setSoTimeout, setType, setUser, setWireCompression, setWireCryptMethods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setPropertyMethods inherited from interface org.firebirdsql.jaybird.props.ServiceConnectionProperties
getExpectedDb, getServiceName, setExpectedDb, setServiceNameMethods inherited from interface org.firebirdsql.management.ServiceManager
getDatabase, getHost, getLogger, getPort, getServerVersion, getWireCryptAsEnum, setDatabase, setHost, setLogger, setPort, setWireCryptAsEnum
-
Constructor Details
-
FBStatisticsManager
public FBStatisticsManager()Create a new instance ofFBMaintenanceManagerbased on the default GDSType. -
FBStatisticsManager
Create a new instance ofFBMaintenanceManagerbased on a given GDSType.- Parameters:
gdsType- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
FBStatisticsManager
Create a new instance ofFBMaintenanceManagerbased on a given GDSType.- Parameters:
gdsType- The GDS implementation type to use
-
-
Method Details
-
getHeaderPage
Description copied from interface:StatisticsManagerFetch the database statistics header page.The header information is written to this
StatisticsManager's logger.- Specified by:
getHeaderPagein interfaceStatisticsManager- Throws:
SQLException- if a database access error occurs
-
getDatabaseStatistics
Description copied from interface:StatisticsManagerGet 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
gstaton the command-line.- Specified by:
getDatabaseStatisticsin interfaceStatisticsManager- Throws:
SQLException- if a database access error occurs
-
getDatabaseStatistics
Description copied from interface:StatisticsManagerGet 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_STATISTICSSYSTEM_TABLE_STATISTICSINDEX_STATISTICSRECORD_VERSION_STATISTICS
If this method is invoked with
0as theoptionsvalue, only the header and log statistics will be output.- Specified by:
getDatabaseStatisticsin interfaceStatisticsManager- Parameters:
options- A bitmask combination ofDATA_TABLE_STATISTICS,SYSTEM_TABLE_STATISTICS,INDEX_STATISTICS, orRECORD_VERSION_STATISTICS. Can also be0, which is equivalent to calling methodStatisticsManager.getDatabaseStatistics()- Throws:
SQLException
-
getTableStatistics
Description copied from interface:StatisticsManagerGet 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 <table name>on the command-line.- Specified by:
getTableStatisticsin interfaceStatisticsManager- Parameters:
tableNames- array of table names to analyze.- Throws:
SQLException- if something went wrong.
-
getDatabaseTransactionInfo
Description copied from interface:StatisticsManagerGet transaction information of the database specified indatabase.- Specified by:
getDatabaseTransactionInfoin interfaceStatisticsManager- Returns:
- Database transaction information
- Throws:
SQLException- Ifdatabaseis not specified, or for failures to connect or retrieve information
-
getDatabaseTransactionInfo
public static StatisticsManager.DatabaseTransactionInfo getDatabaseTransactionInfo(Connection connection) throws SQLException Get transaction information for an existing database connection.- Parameters:
connection- Database connection; must unwrap toFirebirdConnection.- Returns:
- Database transaction information
- Throws:
SQLException- Ifconnectiondoes not unwrap toFirebirdConnection, or for failures to retrieve information- Since:
- 3
-