Manage metrics

Reuse existing metrics on startup and reduce the operational memory overhead

Objective

Provide optional ability to reuse existing metrics on startup and reduce the operational memory overhead for stored metrics.

Example & DSL attributes

This example performs two key metric table functions:

  1. Truncates the BidMovingAverage table on process startup providing a clean restart.

  2. Executes the default compaction query on a 8 hour schedule for the BidMovingAverage metric.

Example

metrics engine:
  ...
  foreach metric compute:
    metrics:
    - name: BidMovingAverage
    ...  
    #
    # Truncate BidMovingAverage on startup
    #
    truncate on start: true
    
    #
    # Manage metric storage
    #
    compaction policy:
      frequency: 8
      time unit: HOURS

Metric Management Attributes

Each metric definition includes management attributes to control how the metric table is managed throughout the Joule process lifetime. Since Joule uses an in-memory database the size of table needs to be managed.

Compaction Policy Attributes

Managing metrics is a key aspect to the performance of the Joule runtime. By applying the compaction policy this will reduce the memory footprint required of the JVM and therefore the number of GC cycles.

Last updated