System Diagnostics Stats Tools

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of System Diagnostics Stats Tools

    The Stats Tools within the System Diagnostics module are designed to record and evaluate performance metrics related to system activities, including the execution of queries, scripts, and transactions. This tool is automatically activated with the default plugin and requires administrative privileges for any upgrades or activations.

    Show full answer Show less

    Key Features

    • Modules under System Diagnostics > Stats: Slow Queries, Slow Scripts, and Slow Transactions.
    • Access to activity pattern tables: sysquerypattern, sysscriptpattern, and systransactionpattern.
    • Ability to filter logs by application scope for targeted performance debugging.
    • Immediate caching of activity patterns with eventual persistence to pattern tables.

    Key Outcomes

    Using Stats Tools, customers can expect to:

    • Gain insights into performance metrics such as total and average execution times for unique activities.
    • Identify and analyze specific execution details through metadata associated with pattern records.
    • Monitor various transaction types, including HTTP Requests and scripts, to enhance system performance.

    This information aids in optimizing system performance and troubleshooting potential issues efficiently.

    To aid in performance evaluation, the Stats Tools records statistics for system activities that affect performance such as the execution of queries, scripts, and transactions.

    Note:
    The Stats Tools plugin is activated by default. It requires the admin role to activate or upgrade, and it requires the com.snc.jrobin.
    Stats Tools adds modules under System Diagnostics > Stats, including Slow Queries, Slow Scripts, and Slow Transactions. Each module accesses a table of activity patterns [sys_query_pattern], [sys_script_pattern], [sys_transaction_pattern]. Each pattern table represents a collection of unique activities. Each collection is an aggregation of executions of that unique activity over all time. Each record provides basic timing analysis with example identifiable details of the activity.
    Note:
    To aid in debugging, you can filter most of these logs by application scope, limiting the transactions (for example, slow scripts or events) to only those transactions originating in specific scopes.

    Activity patterns are immediately recorded to a cache and are later persisted to their pattern table. If you flush server caches, then recorded activities that have not been persisted are cleared. The following are examples of pattern records.

    • Each time a query is executed that meets the recording and persistence threshold it is aggregated and stored as a query pattern record.
    • Each time a particular business rule is executed it aggregates to a script pattern record.
    • Each time a particular background job runs it aggregates into a unique transaction pattern record.
    • Each click of the New button on the Incidents list counts as a list type transaction pattern with specific form action.

    Metrics

    Metrics include total and average times of interest per unique execution pattern over the total execution count. Metrics are aggregated with each new instance of the unique activity and persisted to the pattern record.

    Metadata

    Example data from specific executions are included on each pattern to identify execution details.

    Characterizations of each activity type

    Table 1.
    Transactions

    Any transaction type includes server-side and related client-side transactions.

    Metrics include Total server load time, which aggregates the total server-side time excluding semaphore and session wait times. It also aggregates relevant server transaction times that are found on the syslog_transaction table.

    Transaction types:

    • An HTTP Request transaction is identified by a URL, transaction type, processor, form/list action, URL query (filters), and related table name.
    • Any other transaction is identified by its transaction URL/page/name, transaction type, and processor or thread name.
    Scripts

    Any script activity type includes scripts evaluated by GlideScopedEvaluator.

    Script Types:

    • A Jelly Script is identified by the sys_jelly_file table, jelly file path, line number, and script that was executed.
    • Any other script is identified by the table and sys_id.
    Queries

    Any query activity includes prepared statements executed by GlideDBI.

    Query Types:

    All queries are identified by MongoDB query or insert, update, or select statements, as well as other components of the statement like selected columns, where clause, unions, column sets, and limits.