Skip to content

performance: provide the ability to compact completed computation records #233

Description

@markmark206

if a graph has a "high frequency" tick_recurring node (which won't be the case in most production cases), the historical computation records for the completed ticks (and, perhaps, its triggered downstream nodes) will start adding up after a while.

provide the ability to compact completed tick_recurring record, to save storage / bandwidth / memory.

example:

in the jourdash delivery app, a couple of "deliveries" waited for pickup or dropoff for weeks, while generating frequent (:time_simulation) ticks and processing them as (:driver_location_current_update) simulated gps updates. after a while, that added up to a lot of records. these records serve as historical records, but (at least in this simulated case) might add up to a lot of records, and it would be nice to have the option to have them automatically compressed away.

=> select state, node_name, computation_type, count(*) from computations where execution_id='EXEC01T7998GRG8LD7AGB9R0'  group by state, node_name, computation_type;
   state   |           node_name            | computation_type | count
-----------+--------------------------------+------------------+-------
 success   | rating_reminder                | compute          |     1
 abandoned | trip_history                   | compute          |     1
 success   | payment_collection             | compute          |     1
 abandoned | rating_reminder                | compute          |     1
 success   | created_at                     | compute          |     1
 abandoned | driver_location_current_update | mutate           |    27
 success   | rating_reminder_timer          | tick_once        |     1
 success   | driver_location_current_update | mutate           | 24059
 success   | trip_history                   | compute          |     9
 abandoned | time_simulation                | tick_recurring   |    31
 success   | time_simulation                | tick_recurring   | 24084
 success   | current_activity               | compute          |    12
 success   | trip_completed_at              | compute          |     1
 not_set   | time_simulation                | tick_recurring   |     1
(14 rows)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions