From 0faa1c886a492bb20d74443c101c414c7b8a3921 Mon Sep 17 00:00:00 2001 From: Orne Brocaar Date: Thu, 9 Jul 2015 20:38:51 +0200 Subject: [PATCH] Implement http stats. --- plugins/elasticsearch/elasticsearch.go | 4 ++++ plugins/elasticsearch/elasticsearch_test.go | 3 +++ plugins/elasticsearch/testdata_test.go | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/plugins/elasticsearch/elasticsearch.go b/plugins/elasticsearch/elasticsearch.go index a9d52d7b5..e51d121cf 100644 --- a/plugins/elasticsearch/elasticsearch.go +++ b/plugins/elasticsearch/elasticsearch.go @@ -23,6 +23,7 @@ type node struct { Network interface{} `json:"network"` FS interface{} `json:"fs"` Transport interface{} `json:"transport"` + HTTP interface{} `json:"http"` } const sampleConfig = ` @@ -127,6 +128,9 @@ func (e *Elasticsearch) gatherUrl(url string, acc plugins.Accumulator) error { if err := e.parseInterface(acc, "transport", tags, n.Transport); err != nil { return err } + if err := e.parseInterface(acc, "http", tags, n.HTTP); err != nil { + return err + } } return nil diff --git a/plugins/elasticsearch/elasticsearch_test.go b/plugins/elasticsearch/elasticsearch_test.go index 3d82877ab..306e1d9fe 100644 --- a/plugins/elasticsearch/elasticsearch_test.go +++ b/plugins/elasticsearch/elasticsearch_test.go @@ -82,4 +82,7 @@ func TestElasticsearch(t *testing.T) { for key, val := range transportExpected { assert.NoError(t, acc.ValidateTaggedValue(key, val, tags)) } + for key, val := range httpExpected { + assert.NoError(t, acc.ValidateTaggedValue(key, val, tags)) + } } diff --git a/plugins/elasticsearch/testdata_test.go b/plugins/elasticsearch/testdata_test.go index 055a20e3a..2c1233c4d 100644 --- a/plugins/elasticsearch/testdata_test.go +++ b/plugins/elasticsearch/testdata_test.go @@ -407,6 +407,10 @@ const statsResponse = ` "rx_size_in_bytes": 1380, "tx_count": 6, "tx_size_in_bytes": 1380 + }, + "http": { + "current_open": 3, + "total_opened": 3 } } } @@ -682,3 +686,8 @@ var transportExpected = map[string]float64{ "transport_tx_count": 6, "transport_tx_size_in_bytes": 1380, } + +var httpExpected = map[string]float64{ + "http_current_open": 3, + "http_total_opened": 3, +}