Internally catch error that is thrown when we have too few
values to calcualte outliers and simply return an all false
map rather than exposing the error to calling functions. If
there are too few values to calculate outliers, then no values
are outliers so a false map is appropriate.
This commit adds a Recommendation stuct which provides the value that
a close recommendation was based on and the close recommendation
boolean. It also adds channels with false recommendations to the
report (rather than only containing the channels recommended for close).
The value is added to provide users more
information about how the recommendation
was reached, and providing the false
recommendations provides better insight
into which channels were and were eligible
for a close recommendation but did not
meet the close criteria.
This commit updates outlier close recommendation logic to allow user
specified outlier multipliers. This change is made to allow more
flexibility when the grpc server is introduced.
This commit adds a dataset package which calculates
outliers for datasets with float64 values. The
inter-quartile method of calcualting outliers is used.
This commit adds a getEvents function which accumulates
the results of a paginated forwarder log query to obtain
a full set of events. It uses a map of known channel id
mappings to convert short channel ids to outpoints.
Add a revenue report which provides information
about pairwise volume and revenue for channels
over a set of forwarding events. Fees are split
between incoming and outgoing channels because
forwards are enabled by pairs of channels.
This commit adds code to connect to LND's RPC from the
terminator main function. It allows users to specify
config through command line flags, and validates the
input where possible.
This commit sets up the terminator's main package nested in
the cmd directory. This is done because defers created in
the top level scope of a main method are not executed if
os.Exit() is called.
A logger for a single terminator subsystem is addded and
go modules are initialized.