org.firebirdsql.management

## Interface TraceManager

All Superinterfaces:
  ServiceManager

All Known Implementing Classes:
  FBTraceManager

    public interface TraceManager
    extends ServiceManager

Implements the Trace/Audit API available new in Firebird 2.5.

This functionality includes:

- Starting a new trace session
- Stopping an existing trace session
- Suspending an existing trace session
- Resuming a suspended trace session
- Retrieving a list of trace sessions

Author:
  Thomas Steinmaurer

### Method Summary

Methods
`java.lang.Integer` `getSessionId(java.lang.String sessionName)` Gets the sessionId for the given name.
`void` `listTraceSessions()` List all currently registered trace sessions
`java.lang.String` `loadConfigurationFromFile(java.lang.String fileName)` Deprecated. We suggest you use standard Java functionality instead (eg `new String(Files.readAllBytes(Paths.get(fileName)), Charset.defaultCharset())`. This method will be removed in Jaybird 5.
`void` `resumeTraceSession(int traceSessionId)` Resumes a trace session with the given trace session ID
`void` `startTraceSession(java.lang.String traceSessionName, java.lang.String configuration)` Starts a trace session with an optioanl trace session name and configuration
`void` `stopTraceSession(int traceSessionId)` Stops a trace session with the given trace session ID
`void` `suspendTraceSession(int traceSessionId)` Suspends a trace session with the given trace session ID

### Methods inherited from interface org.firebirdsql.management.ServiceManager

`getAuthPlugins, getCharSet, getDatabase, getDbCryptConfig, getHost, getLogger, getPassword, getPort, getServerVersion, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setDatabase, setDbCryptConfig, setHost, setLogger, setPassword, setPort, setUser, setWireCompression, setWireCrypt`

### Method Detail

#### startTraceSession

    void startTraceSession(java.lang.String traceSessionName,
                         java.lang.String configuration)
                           throws java.sql.SQLException

Starts a trace session with an optioanl trace session name and configuration

Parameters:
  `traceSessionName` - The trace session name (optional)
  `configuration` - The trace configuration. For an example, look into fbtrace.conf in the root directory of your Firebird installation
Throws:
  `java.sql.SQLException`

#### stopTraceSession

    void stopTraceSession(int traceSessionId)
                          throws java.sql.SQLException

Stops a trace session with the given trace session ID

Parameters:
  `traceSessionId` - The trace session ID
Throws:
  `java.sql.SQLException`

#### suspendTraceSession

    void suspendTraceSession(int traceSessionId)
                             throws java.sql.SQLException

Suspends a trace session with the given trace session ID

Parameters:
  `traceSessionId` - The trace session ID
Throws:
  `java.sql.SQLException`

#### resumeTraceSession

    void resumeTraceSession(int traceSessionId)
                            throws java.sql.SQLException

Resumes a trace session with the given trace session ID

Parameters:
  `traceSessionId` - The trace session ID
Throws:
  `java.sql.SQLException`

#### listTraceSessions

    void listTraceSessions()
                           throws java.sql.SQLException

List all currently registered trace sessions

Throws:
  `java.sql.SQLException`

#### loadConfigurationFromFile

    @Deprecated
    java.lang.String loadConfigurationFromFile(java.lang.String fileName)
                                               throws java.io.IOException

Deprecated. We suggest you use standard Java functionality instead (eg `new String(Files.readAllBytes(Paths.get(fileName)), Charset.defaultCharset())`. This method will be removed in Jaybird 5.
Loads a configuration from the specified fileName using the default character set.

Parameters:
  `fileName` - File name
Throws:
  `java.io.IOException`

#### getSessionId

    java.lang.Integer getSessionId(java.lang.String sessionName)

Gets the sessionId for the given name.

Returns null if the sessionName does not exist or hasn't been initialized yet.

If multiple sessions are started with the same name, the last one is returned.

Parameters:
  `sessionName` - Name of the session
Returns:
  Id of the session or null otherwise