Class PerformanceQueries

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

public class PerformanceQueries extends Object
  • Constructor Details

    • PerformanceQueries

      public PerformanceQueries()
  • Method Details

    • queryPerformance

      @ScriptApi public static 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 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.
    • queryPerformanceAsTreeTable

      @ScriptApi public static TreeTable queryPerformanceAsTreeTable()
      Converts the query performance table into a tree table.
      Returns:
      query performance tree table.
    • queryOperationPerformanceAsTreeTable

      @ScriptApi public static TreeTable queryOperationPerformanceAsTreeTable()
      Merges the query performance and query operation performance tables into a single tree table.
      Returns:
      query operation performance tree 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 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,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 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