8 Commits

Author SHA1 Message Date
Wendi Yu
ac5039ab39 Remove unnecessary cache copying in ratelimiting
Signed-off-by: Wendi Yu <wendi.yu@yahoo.ca>
2020-05-08 10:16:43 -06:00
Wendi Yu
8a94ccc5a2 Replace time-dependent cache limiting with LRU
To keep memory usage as constant as possible, the previous cache
purging at periodic time intervals has been replaced by an LRU that
discards the oldest string when the capacity of the cache is reached.

Also fixed some formatting and commenting issues, and added better
testing for the rate limiter.

Signed-off-by: Wendi Yu <wendi.yu@yahoo.ca>
2020-05-07 14:06:07 -06:00
Wendi Yu
ca6675386b Implement rate limiting on log messages
Addresses issue #317, where logs can get spammed with the same message
nonstop. Created a rate limiting closure on logging functions, which
limits the number of messages being logged per second based on format
string.

Signed-off-by: Wendi Yu <wendi.yu@yahoo.ca>
2020-05-06 18:10:32 -06:00
Brad Fitzpatrick
45f2b53aca all: remove unnecessary trailing newlines in format patterns for consistency
And document on logger.Logf that it's unnecessary.
2020-04-11 08:35:34 -07:00
David Anderson
96b2f20c5b types/logger: add Discard helper. 2020-04-06 19:15:19 -07:00
Brad Fitzpatrick
946df89fa6 types/logger: add adapters for Logf to std Logger/Writer 2020-03-06 12:00:24 -08:00
Brad Fitzpatrick
3988ddc85d types/logger: add WithPrefix, use it in two places
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-25 11:35:46 -08:00
Brad Fitzpatrick
2896be60db Move "logger" package to under types, now that we have it.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-14 20:23:05 -08:00