plugins icon indicating copy to clipboard operation
plugins copied to clipboard

feat: getstats plugin draft

Open m-schmoock opened this issue 3 years ago • 1 comments

DRAFT

This adds a persistent timeseries tracking plugin for runtime variables, events and counters. This includes:

  • variables: num_peers, num_channels, utxos, ...
  • events: (dis)connects, htlcs, any hooks, ...
  • counters (events with values): fees, amounts, len(custom_message), ...

It also offers query and management functions as CLI methods that can be used by other plugins to make better decisions about fees and peers as well as charting and such:

  • getstats(name, [from], [to]) - returns a timeseries within a given timeframe
  • getstats_median(name, [from], [to]) - returns a median value within a given timeframe
  • getstats_average(name, [from], [to]) - returns an average value within a given timeframe
  • getstats_min(name, [from], [to]) - returns a minimal value within a given timeframe
  • getstats_max(name, [from], [to]) - returns a maximal value within a given timeframe
  • liststats() - return all timeseries names and types

It tracks excessively by design as we can decide later which timeseries are useful or not. The plugin is meant to be useful to gethering special insights on problems as well as optimizing fees and such.

This is work-in-progress with certain TODOs noted in the code.

m-schmoock avatar Dec 28 '20 00:12 m-schmoock

Needs rebase

chrisguida avatar Feb 07 '24 16:02 chrisguida