Class PerformanceQueries

java.lang.Object
io.deephaven.engine.table.impl.util.PerformanceQueries

public class PerformanceQueries extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static float
    approxRatio(long v0, long v1)
     
    static String
    processInfo(String processInfoId, String type, String key)
    Gets the information for a process.
    static io.deephaven.engine.table.Table
    queryOperationPerformance(long evaluationNumber)
    Takes in a query evaluation number and returns a view for that query's individual operations's performance data.
    static io.deephaven.engine.table.Table
    queryPerformance(long evaluationNumber)
    Takes in a query evaluation number and returns a view for that query's performance data.
    static io.deephaven.engine.table.Table
    queryUpdatePerformance(long evaluationNumber)
    Takes in a query evaluation number and returns a view for that query's update performance data.
    static Map<String,io.deephaven.engine.table.Table>
    queryUpdatePerformanceMap(long evaluationNumber)
    Creates multiple tables with performance data for a given query identified by an evaluation number.
    static io.deephaven.engine.table.Table
    A user friendly view with basic memory, UGP and GC stats samples for the current engine process, collected on a periodic basis.
    static Map<String,Object>
    User friendly table and widgets with basic memory, UGP and GC stats samples for the current engine process, collected on a periodic basis.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PerformanceQueries

      public PerformanceQueries()
  • Method Details

    • queryPerformance

      @ScriptApi public static io.deephaven.engine.table.Table queryPerformance(long evaluationNumber)

      Takes in a query evaluation number and returns a view for that query's performance data.

      You can obtain query evaluation numbers, which uniquely identify a query and its subqueries, via the QueryPerformance and QueryOperationPerformance tables, calling TableLoggers.queryPerformanceLog() or TableLoggers.queryOperationPerformanceLog().

      The query performance log contains data on how long each query takes to run. Examples of what constitutes one individual query, for performance logging purposes, include:

      • A new command in the console (i.e. type something, then press the return key)
      • A sort, filter, or custom column generated by a UI
      • A call from a client API external application

      Parameters:
      evaluationNumber - evaluation number
      Returns:
      query performance table.
    • queryOperationPerformance

      @ScriptApi public static io.deephaven.engine.table.Table queryOperationPerformance(long evaluationNumber)

      Takes in a query evaluation number and returns a view for that query's individual operations's performance data.

      You can obtain query evaluation numbers, which uniquely identify a query and its subqueries, via the QueryPerformance and QueryOperationPerformance tables, calling TableLoggers.queryPerformanceLog() or TableLoggers.queryOperationPerformanceLog().

      The query operation performance result contains data on how long each individual operation of a query (where(), update(), naturalJoin(), etc., as well as internal functions) takes to execute, and the change in resource consumption while each was executing.

      Parameters:
      evaluationNumber - evaluation number
      Returns:
      query operation performance table.
    • processInfo

      public static String processInfo(String processInfoId, String type, String key)
      Gets the information for a process.
      Parameters:
      processInfoId - id
      type - type
      key - key
      Returns:
      process information
    • queryUpdatePerformance

      @ScriptApi public static io.deephaven.engine.table.Table queryUpdatePerformance(long evaluationNumber)

      Takes in a query evaluation number and returns a view for that query's update performance data.

      You can obtain query evaluation numbers, which uniquely identify a query and its subqueries, via the QueryPerformance and QueryOperationPerformance tables, calling TableLoggers.queryPerformanceLog() or TableLoggers.queryOperationPerformanceLog().

      Parameters:
      evaluationNumber - evaluation number
      Returns:
      query update performance table.
    • queryUpdatePerformanceMap

      @ScriptApi public static Map<String,io.deephaven.engine.table.Table> queryUpdatePerformanceMap(long evaluationNumber)

      Creates multiple tables with performance data for a given query identified by an evaluation number. The tables are returned in a map with the following String keys:

      • QueryUpdatePerformance (QUP) The table created by the method of the same name in this class
      • UpdateWorst Same table as above but sorted as to show slower updates (column Ratio) first
      • WorstInterval Show only operations in the slowest update interval in QUP
      • UpdateMostRecent Show only operations in the last update interval in QUP
      • UpdateAggregate Summary if update performance data per update interval
      • UpdateSummaryStats Percentiles and maximum for Ratio and QueryMemUsed columns per update interval

      You can obtain query evaluation numbers, which uniquely identify a query and its subqueries, via the QueryPerformance and QueryOperationPerformance tables, calling TableLoggers.queryPerformanceLog() or TableLoggers.queryOperationPerformanceLog().

      Parameters:
      evaluationNumber - evaluation number
      Returns:
      map of query update performance tables.
    • approxRatio

      public static float approxRatio(long v0, long v1)
    • serverState

      @ScriptApi public static io.deephaven.engine.table.Table serverState()
      A user friendly view with basic memory, UGP and GC stats samples for the current engine process, collected on a periodic basis.
      Returns:
      a view on ProcessMemoryLog.
    • serverStateWithPlots

      @ScriptApi public static Map<String,Object> serverStateWithPlots()
      User friendly table and widgets with basic memory, UGP and GC stats samples for the current engine process, collected on a periodic basis.
      Returns:
      map of table and plots derived from the server state log