Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream changes #1

Open
wants to merge 321 commits into
base: master
Choose a base branch
from
Open

Upstream changes #1

wants to merge 321 commits into from

Conversation

forkbot
Copy link

@forkbot forkbot commented Apr 9, 2014

Automatically opened by http://forkbomb.io

rcrowley and others added 30 commits December 29, 2013 00:24
Now all the statistics that Histograms report can be driven directly by Samples.
This will allow internally consistent reporting in the near future.
add missing display attributes
Undoubtedly this commit doesn't build or test but it's part of a larger series of intertwined changes.
This has the welcome side-effect of now offering a probabalistic recent min/max/etc.
Conflicts:
	graphite.go
This bug was already fixed by #20 (and reported in #19) but was rolled
back after merging #17.

`uncounted` has been moved to top with a comment explaining that it
should stay at top. This is not mandatory but this is the easiest way to
ensure a good alignment in the future without taking too much care.

This alignment is required to use atomic functions as explained here:
 http://godoc.org/sync/atomic#pkg-note-bug
ewma: ensure 64-bit alignment of uncounted
Fixes #41.

@majek is right that numGC not being updated breaks the PauseNs
histogram pretty badly.  What's more, the simplistic bridge between
runtime.MemStats and go-metrics was unable to cope with a couple of
obvious possibilities like wrapping PauseNs and more than 256 GCs since
the last metric update.
vikramraman and others added 30 commits May 3, 2018 10:40
Fixes #245

Signed-off-by: Matthew Sykes <sykesmat@us.ibm.com>
Creating a map entry with a string type as key leads to a copy of that
string in Go. Iterating via Each creates a lot of these entries,
especially while reporting lots of values to a remote metrics system.

Our use case is modelled with HugeRegistry and the below benchmarks show
improvements there to to the removed memory allocation.

```
name                  old time/op    new time/op    delta
Counter-4               9.83ns ± 0%   10.03ns ± 1%   +2.03%          (p=0.016 n=4+5)
GuageFloat64-4          62.7ns ± 4%    60.6ns ± 1%   -3.38%          (p=0.008 n=5+5)
Histogram-4              117ns ± 3%     129ns ± 4%  +10.26%          (p=0.008 n=5+5)
Registry-4               760ns ± 2%     232ns ± 2%  -69.52%          (p=0.008 n=5+5)
HugeRegistry-4          2.58ms ± 3%    0.82ms ± 1%  -68.10%          (p=0.008 n=5+5)
UniformSample257-4       108ns ± 2%     123ns ± 5%  +13.10%          (p=0.008 n=5+5)
UniformSample514-4       106ns ± 2%     118ns ± 5%  +10.90%          (p=0.008 n=5+5)
UniformSample1028-4      106ns ± 1%     119ns ± 2%  +12.43%          (p=0.008 n=5+5)

name                  old alloc/op   new alloc/op   delta
Registry-4                336B ± 0%       32B ± 0%  -90.48%          (p=0.008 n=5+5)
HugeRegistry-4           598kB ± 0%     328kB ± 0%     ~             (p=0.079 n=4+5)

name                  old allocs/op  new allocs/op  delta
Registry-4                2.00 ± 0%      1.00 ± 0%  -50.00%          (p=0.008 n=5+5)
HugeRegistry-4            5.00 ± 0%      3.00 ± 0%  -40.00%          (p=0.008 n=5+5)
```
Replace lock with CAS in standard meter stop
Add appoptics client link to README
Fixed #252 - guard against multiple registrations of runtime and debug stats
add more recent releases, quote the versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.