Releases: lyft/gostats
Releases · lyft/gostats
Fix race conditions
v0.2.17
- Fix race conditions in
NewCounterWithTags
andNewCounterWithTags
- Fix panic when duplicate names were registered with
expvar.Publish
by preventing the registration of duplicate names
Improve performance and reduce allocs
- Improve the performance of New* methods and tcpStatsdSink #50
- Scope: remove fmt.Sprintf() string concatenation and improve tag merge #61
Benchmark Results (7054f86..bade9ed benchmarks backported to 7054f86):
benchmark old ns/op new ns/op delta
BenchmarkStore_MutexContention-8 251 112 -55.38%
BenchmarkStore_NewCounterWithTags-8 2710 489 -81.96%
BenchmarkStore_ScopeWithTags-8 6041 1389 -77.01%
BenchmarkStore_ScopeNoTags-8 3347 556 -83.39%
BenchmarkSerializeTags-8 2513 456 -81.85%
benchmark old allocs new allocs delta
BenchmarkStore_MutexContention-8 2 0 -100.00%
BenchmarkStore_NewCounterWithTags-8 32 3 -90.62%
BenchmarkStore_ScopeWithTags-8 61 4 -93.44%
BenchmarkStore_ScopeNoTags-8 37 4 -89.19%
BenchmarkSerializeTags-8 30 3 -90.00%
benchmark old bytes new bytes delta
BenchmarkStore_MutexContention-8 22 2 -90.91%
BenchmarkStore_NewCounterWithTags-8 800 272 -66.00%
BenchmarkStore_ScopeWithTags-8 1648 544 -66.99%
BenchmarkStore_ScopeNoTags-8 1200 304 -74.67%
BenchmarkSerializeTags-8 768 272 -64.58%
scopes: fix bug with tag inheritance.
- scopes: fix bug with tag inheritance. (#45)
Replace Periods in Tag Values
This release replaces periods in tag values with underscores to mimic python-lyft-stats
behavior and to prevent malformed metric names / tags. wavefrontproxy
expects there to be no periods in the tag value.
Tag improvements
This release adds validation to tag values to defend unsanitized input from creating malformed statsd output, and defines a new ScopeWithTags()
method to add default tags to a scope that are inherited that scope's child scopes and metrics.
Commits:
Store.Flush() blocks until actual flush
Fix TCP Sink Ticker
ticker (#37) Signed-off-by: James Sedgwick <[email protected]>
Increase tcp stats sink perf
Improve statsd sink performance (#32) * initial Signed-off-by: James Sedgwick <[email protected]> * fix Signed-off-by: James Sedgwick <[email protected]> * lint Signed-off-by: James Sedgwick <[email protected]> * use buffer pool Signed-off-by: James Sedgwick <[email protected]> * check Signed-off-by: James Sedgwick <[email protected]> * update travis config * sync.Pool([]byte) -> (*bytes.Buffer), etc (#33)
Add counter names to log messages.
Timespan returns time.Duration on Complete()
return the duration of the span (#28) * return the duration of the span * fix the interface