1e86589bee
This commit adds a channel event store to the channel fitness package which is used to manage tracking of a node's channels. It adds tracking for channel open/closed and peer online/offline events for all channels that a node has open. Events are consumed from channelNotifier and peerNotifier event subscriptions. If either of these subscriptions is cancelled, channel scoring stops, because both subscriptions are expected to run until node shutdown. Two functions are exposed to allow external callers to get uptime information about a channel. GetLifespan returns the period over which the channel has been monitored. GetUptime returns the channel's uptime over a specified period. Callers can use these functions to get the channel's remote peer uptime over its entire lifetime, or a subset of that period.
64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
run:
|
|
# timeout for analysis
|
|
deadline: 4m
|
|
|
|
# Linting uses a lot of memory. Keep it under control by only running a single
|
|
# worker.
|
|
concurrency: 1
|
|
|
|
# Skip autogenerated files for mobile.
|
|
skip-files:
|
|
- "mobile\\/.*generated\\.go"
|
|
|
|
build-tags:
|
|
- autopilotrpc
|
|
- chainrpc
|
|
- invoicesrpc
|
|
- routerrpc
|
|
- signrpc
|
|
- walletrpc
|
|
- watchtowerrpc
|
|
- wtclientrpc
|
|
|
|
linters-settings:
|
|
govet:
|
|
# Don't report about shadowed variables
|
|
check-shadowing: false
|
|
gofmt:
|
|
# simplify code: gofmt with `-s` option, true by default
|
|
simplify: true
|
|
|
|
linters:
|
|
enable-all: true
|
|
disable:
|
|
# Global variables are used in many places throughout the code base.
|
|
- gochecknoglobals
|
|
|
|
# Some lines are over 80 characters on purpose and we don't want to make them
|
|
# even longer by marking them as 'nolint'.
|
|
- lll
|
|
|
|
# We don't care (enough) about misaligned structs to lint that.
|
|
- maligned
|
|
|
|
# We have long functions, especially in tests. Moving or renaming those would
|
|
# trigger funlen problems that we may not want to solve at that time.
|
|
- funlen
|
|
|
|
# Disable for now as we haven't yet tuned the sensitivity to our codebase
|
|
# yet. Enabling by default for example, would also force new contributors to
|
|
# potentially extensively refactor code, when they want to smaller change to
|
|
# land.
|
|
- gocyclo
|
|
|
|
# Instances of table driven tests that don't pre-allocate shouldn't trigger
|
|
# the linter.
|
|
- prealloc
|
|
|
|
# Init functions are used by loggers throughout the codebase.
|
|
- gochecknoinits
|
|
|
|
issues:
|
|
# Only show newly introduced problems.
|
|
new-from-rev: 01f696afce2f9c0d4ed854edefa3846891d01d8a
|