Cutting edge Mesos resource usage grabber written in GO. Can grab usage statistics from remote nodes and store then locally.
Tested on GO 1.4.2 (min probably 1.3)
go get github.com/skonefal/dust-tail
go build
./dust-tail
Serenity uses raw ResourceUsage message from resource monitor. I added an endopoint /monitor/serenity_statistics.json to Mesos.
I posted this on my branch: git clone -b serenity_resource_usage_for_dust_tail https://github.com/skonefal/mesos
Until external configuration will be completed, you need to hardcode your needs.
const (
SAMPLING_TIME = 1 * time.Second // interval between sampling
HTTP_TIMEOUT = 200 * time.Millisecond // endpoint timeout
EXPERIMENT_TIME = 60 * time.Second //
EXPERIMENT_RESULTS_FOLDER = "results" // folder with results
STATISTICS_ENDPOINT = "/monitor/serenity_statistics.json" // mesos worker statistics endpoint
)
var mesosAgents = [...]string{
"http://localhost:5051"} //list of mesos workers that will be sampled
Results will be stored in EXPERIMENT_RESULTS_FOLDER in form endpoint-node-name_timestamp eg.
localhost_2015-06-03 00:37:18.755666406 +0200 CEST
Results are stored as JSON array of arrays of executor resource usage.
Example result: http://pastebin.com/YDhu9LZa