Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upFYI: Prometheus federation master: 60s flamegraph #2010
Comments
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
|
Hi @beorn7,
|
This comment has been minimized.
This comment has been minimized.
|
In general, I would expect a server that does nothing else but scraping a light load and then federate everything further up to have a CPU workload with a significant part of GC, as it's mostly shoveling data around without a let to do otherwise for the CPU. Having said all that, https://github.com/gogo/protobuf looks like the package I have been looking for all the time, while I was upset how allocation-wasteful the standard protobuf implementation is. I just had a first glance, and I didn't know the package before. This is definitely something we should look into. Thanks for the pointer. The practical impact might be limited, as the protobuf encoding and decoding is rarely a bottle neck, but every little helps, and more idiomatic code anyway. @juliusv Perhaps that's something that can be stuffed into the proto3 transition, too? |
This comment has been minimized.
This comment has been minimized.
|
I've filed prometheus/client_model#15 about the gogo/protobuf idea. Will close this here as there is no real issue left. |
beorn7
closed this
Sep 22, 2016
This comment has been minimized.
This comment has been minimized.
lock
bot
commented
Mar 24, 2019
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
mjtrangoni commentedSep 20, 2016
What did you do?
Just to let you know: I created a 60s FlameGraph of our Prometheus federation master using go-torch.
What did you expect to see?
I am surprised by the GC cpu time.
What did you see instead? Under which circumstances?
62% cpu time spent in Garbage Collector. Is this expected?This is just FYI. Feel free to close this issue if this is expected behavior.
Environment
CentOS Linux release 7.2.1511 (Core)
Linux 3.10.0-327.28.3.el7.x86_64 x86_64
prometheus, version 1.1.3 (branch: v1.1.3_build, revision: ac374aa)
build date: 20160916-12:58:14
go version: go1.7.1
This zip contains the FlameGraph svg:
prometheus_federation_60s.zip
How to read the FlameGraph: "The x-axis shows the stack profile population, sorted alphabetically (it is not the passage of time), and the y-axis shows stack depth. Each rectangle represents a stack frame. The wider a frame is is, the more often it was present in the stacks. The top edge shows what is on-CPU, and beneath it is its ancestry. The colors are usually not significant, picked randomly to differentiate frames." Source