Home

Awesome

Dust Tail

Cutting edge Mesos resource usage grabber written in GO. Can grab usage statistics from remote nodes and store then locally.

Building Dust Tail

Tested on GO 1.4.2 (min probably 1.3)

go get github.com/skonefal/dust-tail
go build
./dust-tail

Mesos Compatibility

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

Usage

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