Child pages
  • JDBC Settings
Skip to end of metadata
Go to start of metadata

JDBC -> Settings lets you modify various elements relating to JDBC. The page has the following items:

Logging / Metrics

JDBC Logging (Log Files)

Configuration

Description

JDBC Logging

If JDBC Logging is enabled then JDBC information will be written to the JDBC log.

Only queries slower than: (ms)

Only log queries that run longer than this time will be written to the log files. (Optional)

View Size (KB)

This value indicates how much of the log file should be displayed when you view the JDBC log from inside FusionReactor.

File SizeIf the Logging Engine (Logging -> Log Settings -> Log Engine Settings) is in Traditional Per-Log Rotation mode, this value dictates the maximum size of the log before it's rotated.  If Centralized Archive and Rotation is in use, this field doesn't appear.
File CountSimilarly, this value dictates the number of files held in the log history.  An incoming log causes the oldest log to be deleted.
SQL Text LimitingIf enabled, the text of the statement will be limited t the Number of Characters field below.
Number Of CharactersThe number of characters used for SQL Text Limiting. SQL Statements will be limited to this amount when they are logged.
Query Parameter LoggingIf disabled, prepared statements will appear in their unbound form with '?' placeholders. If enabled (default), FusionReactor will interpret and display each bound parameter.
Stack Tracing (5.0.0-5.0.8)

Configuration

Description

Query Location

When this feature is enabled and a JDBC request is executed, FusionReactor will store a Java Stack Trace which can be used to find out the location of each query that ran. You change the amount of information which gets stored in this stack trace by going to the Stack Trace Filter page. The resulting stack traces are visible from the Request Detail Page page and within the JDBC Log Files.

Stack Trace Settings (from 5.0.9) 

ConfigurationDescription
Query Location

When this feature is enabled and a JDBC request is executed, FusionReactor will store a Java Stack Trace which can be used to find out the location of each query that ran. You change the amount of information which gets stored in this stack trace by going to the Stack Trace Filter page. The resulting stack traces are visible from the Request Detail Page page and within the JDBC Log Files.


Only Record Location On Queries Slower ThanOnly record the location (stack trace) on queries that run longer than this time. (Optional - Default 100ms). Recording the location on a query is very fast, but on systems that run very many queries where performance is absoutely critical, you can lower the overhead by only recording the code location of the query for JDBC requests that take longer than a configurable amount of time in ms.

Transaction Settings

ConfigurationDescription
Transaction is Closed

Specifies when the system will close a JDBC transaction. Select the option most appropriate to the timing data you wish to acquire. See note below.

Transaction Handling

Choosing when to close a transaction alters the timing data for JDBC statements.

When statement execution completes

    • The transaction closes as soon as the database finishes executing the statement.  The timing of the transaction – start/end/duration – is therefore tied solely to the time it took the engine to execute the statement.
    • Use this mode if you are happy with your result set handling, and you suspect the database is slowing you down.

When the first result set closes

    • The transaction closes as soon as the first result set deriving from it is closed.  The timing of the transaction is extended to include both the execution time and the time taken to process and close the result set.
    • Use this mode if you suspect your page is spending too long processing a result set.
      Caveat: if your statement doesn't have a result set (it might be a delete statement, for instance), then the JDBC transaction will close:
      • When the statement is closed, or
      • When its parent transaction – probably a Web Request – is closed.  In this case, you'll see "Cascade Closed" as the transaction status, indicating the parent was closed while the JDBC transaction was still open.
    • If your statement produces multiple result sets, all subsequent sets will be counted for aggregates (row count etc.) but only the first will be used for transaction timing.

 

History

ConfigurationDescription
History SizeThe number of JDBC requests FusionReactor keeps in memory. This does not effect the size of the jdbc logfile.
Slow Request History SizeThis is the number of requests which will be shown on the Longest JDBC Requests page. The default is 100 requests.
Slow Request ThresholdOnce a request has run for longer than specified here, it is considered a slow running request. By default any request over 8 seconds is considered slow.
Query Storage StrategyThis will determine how the sub transactions are stored on their parent. The Storage Strategies are defined as follows:
    • First X: Store the first X transactions that come in. Where X is the value of 'Sub Transaction Limit'
    • Slower Than X: Store only those transactions that exceed X. Where X is the 'Slow Request Threshold'
    • Slowest X: Store the slowest X transactions. Where X is the value of 'Sub Transaction Limit'
    • Summary Only: Store only a summary of the transactions. The duration and any aggregates will be stored, but no sub transactions

For more information about subtransactions, see the blue information box in Request Settings.

Query Limit ('X')This is the 'X' value used in the storage strategies.
  • No labels