## org.firebirdsql.management
Interface StatisticsManager

All Superinterfaces:
  ServiceManager

All Known Implementing Classes:
  FBStatisticsManager

    public interface StatisticsManager

extends ServiceManager

A `StatisticsManager` 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

Field Summary
`static int` `DATA_TABLE_STATISTICS` Request statistics on data tables.
`static int` `INDEX_STATISTICS` Request statistics on indexes.
`static int` `RECORD_VERSION_STATISTICS` Request statistics on record versions.
`static int` `SYSTEM_TABLE_STATISTICS` Request statistics on system tables.

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[] tableNames)` Get the table statistics.

Methods inherited from interface org.firebirdsql.management.ServiceManager
`getDatabase, getHost, getLogger, getPassword, getPort, getUser, setDatabase, setHost, setLogger, setPassword, setPort, setUser`

Field Detail

### DATA_TABLE_STATISTICS

    static final int DATA_TABLE_STATISTICS

  Request statistics on data tables.

  See Also:
    Constant Field Values

### INDEX_STATISTICS

    static final int INDEX_STATISTICS

  Request statistics on indexes.

  See Also:
    Constant Field Values

### SYSTEM_TABLE_STATISTICS

    static final int SYSTEM_TABLE_STATISTICS

  Request statistics on system tables.

  See Also:
    Constant Field Values

### RECORD_VERSION_STATISTICS

    static final int RECORD_VERSION_STATISTICS

  Request statistics on record versions.

  See Also:
    Constant Field Values

Method Detail

### getHeaderPage

    void getHeaderPage()
                       throws SQLException

  Fetch the database statistics header page. The header information is written to this `StatisticsManager`'s logger.

  Throws:
    `SQLException` - if a database access error occurs

### getDatabaseStatistics

    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 `gstat` on the command-line.

  Throws:
    `SQLException` - if a database access error occurs

### getDatabaseStatistics

    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`
  - `RECORD_VERSION_STATISTICS`

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

  Parameters:
    `options` - A bitmask combination of `DATA_TABLE_STATISTICS`, `SYSTEM_TABLE_STATISTICS`, `INDEX_STATISTICS`, or `RECORD_VERSION_STATISTICS`. Can also be `0`, which is equivalent to calling method `getDatabaseStatistics()`
  Throws:
    `SQLException`

### getTableStatistics

    void getTableStatistics(String[] tableNames)
                            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.

  Parameters:
    `tableNames` - array of table names to analyze.
  Throws:
    `SQLException` - if something went wrong.

Copyright © 2001-2010. All Rights Reserved.