112 lines
1.9 KiB
Go
112 lines
1.9 KiB
Go
|
package mongodb
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
"time"
|
||
|
|
||
|
"github.com/influxdb/telegraf/testutil"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
var tags = make(map[string]string)
|
||
|
|
||
|
func TestAddNonReplStats(t *testing.T) {
|
||
|
d := NewMongodbData(
|
||
|
&StatLine{
|
||
|
StorageEngine: "",
|
||
|
Time: time.Now(),
|
||
|
Insert: 0,
|
||
|
Query: 0,
|
||
|
Update: 0,
|
||
|
Delete: 0,
|
||
|
GetMore: 0,
|
||
|
Command: 0,
|
||
|
Flushes: 0,
|
||
|
Virtual: 0,
|
||
|
Resident: 0,
|
||
|
QueuedReaders: 0,
|
||
|
QueuedWriters: 0,
|
||
|
ActiveReaders: 0,
|
||
|
ActiveWriters: 0,
|
||
|
NetIn: 0,
|
||
|
NetOut: 0,
|
||
|
NumConnections: 0,
|
||
|
},
|
||
|
tags,
|
||
|
)
|
||
|
var acc testutil.Accumulator
|
||
|
|
||
|
d.AddDefaultStats(&acc)
|
||
|
|
||
|
for key, _ := range DefaultStats {
|
||
|
assert.True(t, acc.HasIntValue(key))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestAddReplStats(t *testing.T) {
|
||
|
d := NewMongodbData(
|
||
|
&StatLine{
|
||
|
StorageEngine: "mmapv1",
|
||
|
Mapped: 0,
|
||
|
NonMapped: 0,
|
||
|
Faults: 0,
|
||
|
},
|
||
|
tags,
|
||
|
)
|
||
|
|
||
|
var acc testutil.Accumulator
|
||
|
|
||
|
d.AddDefaultStats(&acc)
|
||
|
|
||
|
for key, _ := range MmapStats {
|
||
|
assert.True(t, acc.HasIntValue(key))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestAddWiredTigerStats(t *testing.T) {
|
||
|
d := NewMongodbData(
|
||
|
&StatLine{
|
||
|
StorageEngine: "wiredTiger",
|
||
|
CacheDirtyPercent: 0,
|
||
|
CacheUsedPercent: 0,
|
||
|
},
|
||
|
tags,
|
||
|
)
|
||
|
|
||
|
var acc testutil.Accumulator
|
||
|
|
||
|
d.AddDefaultStats(&acc)
|
||
|
|
||
|
for key, _ := range WiredTigerStats {
|
||
|
assert.True(t, acc.HasFloatValue(key))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestStateTag(t *testing.T) {
|
||
|
d := NewMongodbData(
|
||
|
&StatLine{
|
||
|
StorageEngine: "",
|
||
|
Time: time.Now(),
|
||
|
Insert: 0,
|
||
|
Query: 0,
|
||
|
NodeType: "PRI",
|
||
|
},
|
||
|
tags,
|
||
|
)
|
||
|
|
||
|
stats := []string{"inserts_per_sec", "queries_per_sec"}
|
||
|
|
||
|
stateTags := make(map[string]string)
|
||
|
stateTags["state"] = "PRI"
|
||
|
|
||
|
var acc testutil.Accumulator
|
||
|
|
||
|
d.AddDefaultStats(&acc)
|
||
|
|
||
|
for _, key := range stats {
|
||
|
err := acc.ValidateTaggedValue(key, int64(0), stateTags)
|
||
|
require.NoError(t, err)
|
||
|
}
|
||
|
}
|