youtubebeat/vendor/github.com/elastic/beats/metricbeat/module/rabbitmq/node/node_test.go

158 lines
5 KiB
Go

// Licensed to Elasticsearch B.V. under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Elasticsearch B.V. licenses this file to you under
// the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package node
import (
"testing"
"github.com/elastic/beats/libbeat/common"
mbtest "github.com/elastic/beats/metricbeat/mb/testing"
"github.com/elastic/beats/metricbeat/module/rabbitmq/mtest"
"github.com/stretchr/testify/assert"
)
func TestFetchNodeEventContents(t *testing.T) {
testFetch(t, configCollectNode)
}
func TestFetchClusterEventContents(t *testing.T) {
testFetch(t, configCollectCluster)
}
func testFetch(t *testing.T, collect string) {
server := mtest.Server(t, mtest.DefaultServerConfig)
defer server.Close()
config := map[string]interface{}{
"module": "rabbitmq",
"metricsets": []string{"node"},
"hosts": []string{server.URL},
"node.collect": collect,
}
ms := mbtest.NewReportingMetricSetV2(t, config)
events, errors := mbtest.ReportingFetchV2(ms)
if !assert.True(t, len(errors) == 0, "There shouldn't be errors") {
t.Log(errors)
}
if !assert.True(t, len(events) > 0, "There should be events") {
t.FailNow()
}
event := events[0].MetricSetFields
t.Logf("%s/%s event: %+v", ms.Module().Name(), ms.Name(), event.StringToPrint())
disk := event["disk"].(common.MapStr)
free := disk["free"].(common.MapStr)
assert.EqualValues(t, 98317942784, free["bytes"])
limit := free["limit"].(common.MapStr)
assert.EqualValues(t, 50000000, limit["bytes"])
fd := event["fd"].(common.MapStr)
assert.EqualValues(t, 1048576, fd["total"])
assert.EqualValues(t, 31, fd["used"])
gc := event["gc"].(common.MapStr)
num := gc["num"].(common.MapStr)
assert.EqualValues(t, 1049055, num["count"])
reclaimed := gc["reclaimed"].(common.MapStr)
assert.EqualValues(t, 27352751800, reclaimed["bytes"])
io := event["io"].(common.MapStr)
file_handle := io["file_handle"].(common.MapStr)
open_attempt := file_handle["open_attempt"].(common.MapStr)
avg := open_attempt["avg"].(common.MapStr)
assert.EqualValues(t, 0, avg["ms"])
assert.EqualValues(t, 597670, open_attempt["count"])
read := io["read"].(common.MapStr)
avg = read["avg"].(common.MapStr)
assert.EqualValues(t, 0, avg["ms"])
assert.EqualValues(t, 1, read["bytes"])
assert.EqualValues(t, 3, read["count"])
reopen := io["reopen"].(common.MapStr)
assert.EqualValues(t, 3, reopen["count"])
seek := io["seek"].(common.MapStr)
avg = seek["avg"].(common.MapStr)
assert.EqualValues(t, 0, avg["ms"])
assert.EqualValues(t, 23, seek["count"])
sync := io["sync"].(common.MapStr)
avg = sync["avg"].(common.MapStr)
assert.EqualValues(t, 2, avg["ms"])
assert.EqualValues(t, 149402, sync["count"])
write := io["write"].(common.MapStr)
avg = write["avg"].(common.MapStr)
assert.EqualValues(t, 0, avg["ms"])
assert.EqualValues(t, 36305460, write["bytes"])
assert.EqualValues(t, 149402, write["count"])
mem := event["mem"].(common.MapStr)
limit = mem["limit"].(common.MapStr)
assert.EqualValues(t, 6628692787, limit["bytes"])
used := mem["used"].(common.MapStr)
assert.EqualValues(t, 105504768, used["bytes"])
mnesia := event["mnesia"].(common.MapStr)
disk = mnesia["disk"].(common.MapStr)
tx := disk["tx"].(common.MapStr)
assert.EqualValues(t, 1, tx["count"])
ram := mnesia["ram"].(common.MapStr)
tx = ram["tx"].(common.MapStr)
assert.EqualValues(t, 92, tx["count"])
msg := event["msg"].(common.MapStr)
store_read := msg["store_read"].(common.MapStr)
assert.EqualValues(t, 0, store_read["count"])
store_write := msg["store_write"].(common.MapStr)
assert.EqualValues(t, 0, store_write["count"])
assert.EqualValues(t, "rabbit@e2b1ae6390fd", event["name"])
proc := event["proc"].(common.MapStr)
assert.EqualValues(t, 1048576, proc["total"])
assert.EqualValues(t, 403, proc["used"])
assert.EqualValues(t, 4, event["processors"])
queue := event["queue"].(common.MapStr)
index := queue["index"].(common.MapStr)
journal_write := index["journal_write"].(common.MapStr)
assert.EqualValues(t, 448230, journal_write["count"])
read = index["read"].(common.MapStr)
assert.EqualValues(t, 0, read["count"])
write = index["write"].(common.MapStr)
assert.EqualValues(t, 2, write["count"])
run := event["run"].(common.MapStr)
assert.EqualValues(t, 0, run["queue"])
socket := event["socket"].(common.MapStr)
assert.EqualValues(t, 943626, socket["total"])
assert.EqualValues(t, 3, socket["used"])
assert.EqualValues(t, "disc", event["type"])
assert.EqualValues(t, 98754834, event["uptime"])
}