Add mongo document and connection metrics (#4362)

This commit is contained in:
Ayrdrie 2018-07-03 15:09:20 -06:00 committed by Daniel Nelson
parent b5abf2c577
commit 9106011f58
3 changed files with 98 additions and 62 deletions

View File

@ -53,6 +53,13 @@ var DefaultStats = map[string]string{
"cursor_no_timeout": "NoTimeoutC", "cursor_no_timeout": "NoTimeoutC",
"cursor_pinned": "PinnedC", "cursor_pinned": "PinnedC",
"cursor_total": "TotalC", "cursor_total": "TotalC",
"document_deleted": "DeletedD",
"document_inserted": "InsertedD",
"document_returned": "ReturnedD",
"document_updated": "UpdatedD",
"connections_current": "CurrentC",
"connections_available": "AvailableC",
"connections_total_created": "TotalCreatedC",
} }
var DefaultReplStats = map[string]string{ var DefaultReplStats = map[string]string{

View File

@ -38,6 +38,13 @@ func TestAddNonReplStats(t *testing.T) {
NoTimeoutC: 0, NoTimeoutC: 0,
PinnedC: 0, PinnedC: 0,
TotalC: 0, TotalC: 0,
DeletedD: 0,
InsertedD: 0,
ReturnedD: 0,
UpdatedD: 0,
CurrentC: 0,
AvailableC: 0,
TotalCreatedC: 0,
}, },
tags, tags,
) )
@ -219,6 +226,13 @@ func TestStateTag(t *testing.T) {
"cursor_no_timeout": int64(0), "cursor_no_timeout": int64(0),
"cursor_pinned": int64(0), "cursor_pinned": int64(0),
"cursor_total": int64(0), "cursor_total": int64(0),
"document_deleted": int64(0),
"document_inserted": int64(0),
"document_returned": int64(0),
"document_updated": int64(0),
"connections_current": int64(0),
"connections_available": int64(0),
"connections_total_created": int64(0),
} }
acc.AssertContainsTaggedFields(t, "mongodb", fields, stateTags) acc.AssertContainsTaggedFields(t, "mongodb", fields, stateTags)
} }

View File

@ -225,7 +225,7 @@ type FlushStats struct {
type ConnectionStats struct { type ConnectionStats struct {
Current int64 `bson:"current"` Current int64 `bson:"current"`
Available int64 `bson:"available"` Available int64 `bson:"available"`
TotalCreated int64 `bson:"totalCreated"` TotalCreated int64 `bson:"total_created"`
} }
// DurTiming stores information related to journaling. // DurTiming stores information related to journaling.
@ -291,6 +291,7 @@ type OpcountStats struct {
type MetricsStats struct { type MetricsStats struct {
TTL *TTLStats `bson:"ttl"` TTL *TTLStats `bson:"ttl"`
Cursor *CursorStats `bson:"cursor"` Cursor *CursorStats `bson:"cursor"`
Document *DocumentStats `bson:"document"`
} }
// TTLStats stores information related to documents with a ttl index. // TTLStats stores information related to documents with a ttl index.
@ -305,6 +306,14 @@ type CursorStats struct {
Open *OpenCursorStats `bson:"open"` Open *OpenCursorStats `bson:"open"`
} }
// DocumentStats stores information related to document metrics.
type DocumentStats struct {
Deleted int64 `bson:"deleted"`
Inserted int64 `bson:"inserted"`
Returned int64 `bson:"returned"`
Updated int64 `bson:"updated"`
}
// OpenCursorStats stores information related to open cursor metrics // OpenCursorStats stores information related to open cursor metrics
type OpenCursorStats struct { type OpenCursorStats struct {
NoTimeout int64 `bson:"noTimeout"` NoTimeout int64 `bson:"noTimeout"`
@ -457,6 +466,12 @@ type StatLine struct {
TimedOutC int64 TimedOutC int64
NoTimeoutC, PinnedC, TotalC int64 NoTimeoutC, PinnedC, TotalC int64
// Document fields
DeletedD, InsertedD, ReturnedD, UpdatedD int64
// Connection fields
CurrentC, AvailableC, TotalCreatedC int64
// Collection locks (3.0 mmap only) // Collection locks (3.0 mmap only)
CollectionLocks *CollectionLockStatus CollectionLocks *CollectionLockStatus