curry.backends.generic.eval.telemetry module

Code for reporting the status of Sprite over time.

class curry.backends.generic.eval.telemetry.TelemetryData(rts, full_report_interval=20)[source]

Bases: object

ATTRS = ['copy_spine', 'entries_to_D', 'entries_to_N', 'entries_to_S', 'entries_to_hnf', 'forks', 'iterations_in_D', 'iterations_in_hnf', 'next_cid', 'next_sid', 'num_values', 'number_of_queues', 'pull_tab_steps', 'queue_stack_depth', 'rewrite_steps', 'sftable_size', 'top_eqconstr', 'vtable_size']
P_GET_COUNT = re.compile('count\\((\\d+)\\)')
capture()[source]

Capture the telemetry information.

property copy_spine

The number of times a spine was copied.

property entries_to_D

The number of entries to D.

property entries_to_N

The number of entries to N.

property entries_to_S

The number of entries to S.

property entries_to_hnf

The number of entries to hnf.

property forks

The number of times a configuration forked.

property iterations_in_D

The number of iterations in D.

property iterations_in_hnf

The number of iterations in hnf.

property next_cid

The next available choice or variable ID

property next_sid

The next available set ID

property num_values

The number of constrint-lifting steps.

property number_of_queues

The number of work queues in existence

property pull_tab_steps

The number of pull-tab steps.

property queue_stack_depth

The set function nesting depth

report(prev=None)[source]

Output a report to the log.

property rewrite_steps

The number of rewrite steps taken.

property sftable_size

The number of set functions currently being evaluated

show(data, full=False)[source]

Show the telemetry information.

property top_eqconstr

The number of times an equational constraint was handled by D.

property vtable_size

The number of free variables in existence

curry.backends.generic.eval.telemetry.report_telemetry(rts, interval, generator)[source]

Sets a repeating timer to log telemetry every interval seconds while evaluating the generator.