mongo

package
v0.34.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2022 License: GPL-3.0 Imports: 12 Imported by: 1

README

MongoDB monitoring with Netdata

MongoDB MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).

source: Wikipedia


This module monitors one or more MongoDB instances, depending on your configuration.

It collects information and statistics about the server executing the following commands:

Charts

Default charts

Works with local and cloud hosted Atlas database servers

Operations by type
  • insert in ops/s
  • query in ops/s
  • update in ops/s
  • delete in ops/s
  • getmore in ops/s
  • command in ops/s
Operations Latency
  • ops reads in milliseconds
  • ops writes in milliseconds
  • commands in milliseconds
Connections
  • available in connections
  • current in connections
Connections Rate
  • created in connections/s
Connections By State
  • active in connections
  • threaded in connections
  • exhaustIsMaster in connections
  • exhaustHello in connections
  • awaiting topology changes in connections
Network IO
  • bytes in in bytes/s
  • bytes out in bytes/s
Network Requests
  • Requests in requests/s
Memory
  • resident in MiB
  • virtual in MiB
  • mapped in MiB
  • mapped with journal in MiB
Page faults
  • Page Faults in page faults/s
Raised assertions
  • regular in asserts/s
  • warning in asserts/s
  • msg in asserts/s
  • user in asserts/s
  • tripwire in asserts/s
  • rollovers in asserts/s
Current Transactions
  • current active in transactions
  • current inactive in transactions
  • current open in transactions
  • current prepared in transactions
Optional charts:

Depending on the database server version and configuration Mongo reports slightly different statistics. We use the serverStatus command to monitor the database. Based on the command output the following may be included:

Active Clients
  • readers in clients
  • writers in clients

if serverStatus reports global locks active clients

Queued operations because of a lock
  • readers in clients
  • writers in clients

if serverStatus reports global locks current queue clients

Tcmalloc generic metrics
  • current_allocated_bytes in bytes
  • heap_size in bytes

if serverStatus reports tcmalloc stats

Tcmalloc metrics
  • pageheap free in bytes
  • pageheap unmapped in bytes
  • total threaded cache in bytes
  • free in bytes
  • pageheap committed in bytes
  • pageheap total commit in bytes
  • pageheap decommit in bytes
  • pageheap reserve in bytes

if serverStatus reports tcmalloc stats

Acquired locks
  • global read locks in locks/s
  • global write locks in locks/s
  • database read locks in locks/s
  • database write locks in locks/s
  • collection read locks in locks/s
  • collection write locks in locks/s
Flow Control Stats
  • acquiring time in milliseconds
  • lagged time in milliseconds

if serverStatus reports flow control

Wired Tiger Charts

Available only if WiredTiger is used as the storage engine.

Wired Tiger Block Manager
  • bytes read in bytes
  • bytes read via memory map API in bytes
  • bytes read via system call API in bytes
  • bytes written in bytes
  • bytes written for checkpoint in bytes
  • bytes written via memory map API in bytes
Wired Tiger Cache
  • bytes allocated for updates in bytes
  • bytes read into cache in bytes
  • bytes written from cache in bytes
Wired Tiger Capacity
  • time waiting due to total capacity in usec
  • time waiting during checkpoint in usec
  • time waiting during eviction in usec
  • time waiting during logging in usec
  • time waiting during read in usec
Wired Tiger Connection
  • memory allocations in ops/s
  • memory frees in ops/s
  • memory re-allocations in ops/s
Wired Tiger Cursor
  • open cursor count in calls/s
  • cached cursor count in calls/s
  • cursor bulk loaded cursor insert calls in calls/s
  • cursor close calls that result in cache in calls/s
  • cursor create calls in calls/s
  • cursor insert calls in calls/s
  • cursor modify calls in calls/s
  • cursor next calls in calls/s
  • cursor operation restarted in calls/s
  • cursor prev calls in calls/s
  • cursor remove calls in calls/s
  • cursor remove key bytes removed in calls/s
  • cursor reserve calls in calls/s
  • cursor reset calls in calls/s
  • cursor search calls in calls/s
  • cursor search history store calls in calls/s
  • cursor search near calls in calls/s
  • cursor sweep buckets in calls/s
  • cursor sweep cursors closed in calls/s
  • cursor sweep cursors examined in calls/s
  • cursor sweeps in calls/s
  • cursor truncate calls in calls/s
  • cursor update calls in calls/s
  • cursor update value size change in calls/s
Wired Tiger Lock
  • checkpoint lock acquisitions in ops/s
  • dhandle read lock acquisitions in ops/s
  • dhandle write lock acquisitions in ops/s
  • durable timestamp queue read lock acquisitions in ops/s
  • durable timestamp queue write lock acquisitions in ops/s
  • metadata lock acquisitions in ops/s
  • read timestamp queue read lock acquisitions in ops/s
  • read timestamp queue write lock acquisitions in ops/s
  • schema lock acquisitions in ops/s
  • table read lock acquisitions in ops/s
  • table write lock acquisitions in ops/s
  • txn global read lock acquisitions in ops/s
Wired Tiger Lock Duration
  • checkpoint lock application thread wait time in usec
  • checkpoint lock internal thread wait time in usec
  • dhandle lock application thread time waiting in usec
  • dhandle lock internal thread time waiting in usec
  • durable timestamp queue lock application thread time waiting in usec
  • durable timestamp queue lock internal thread time waiting in usec
  • metadata lock application thread wait time in usec
  • metadata lock internal thread wait time in usec
  • read timestamp queue lock application thread time waiting in usec
  • read timestamp queue lock internal thread time waiting in usec
  • schema lock application thread wait time in usec
  • schema lock internal thread wait time in usec
  • table lock application thread time waiting for the table lock in usec
  • table lock internal thread time waiting for the table lock in usec
  • txn global lock application thread time waiting in usec
  • txn global lock internal thread time waiting in usec
Wired Tiger Log Operations
  • log flush operations in ops/s
  • log force write operations in ops/s
  • log force write operations skipped in ops/s
  • log scan operations in ops/s
  • log sync operations in ops/s
  • log sync_dir operations in ops/s
  • log write operations in ops/s
Wired Tiger Log Operations IO
  • log bytes of payload data in bytes/s
  • log bytes written in bytes/s
  • logging bytes consolidated in bytes/s
  • total log buffer size in bytes/s
Wired Tiger Log Transactions
  • prepared transactions in transactions/s
  • query timestamp calls in transactions/s
  • rollback to stable calls in transactions/s
  • set timestamp calls in transactions/s
  • transaction begins in transactions/s
  • transaction sync calls in transactions/s
  • transactions committed in transactions/s
  • transactions rolled back in transactions/s
Database Statistics

Stack chart that include per database metrics for collections, indexes, views, documents and disk size. Because internally the module has to run the dbstats commands once per database and each server may have a large number of databases, these charts are disabled by default. To enabled them please use a matcher in the configuration file to enable the collection for specific or all databases.

For example, to exclude the admin and config databases use:

 databases:
   includes:
     - "* *"
   excludes:
     - "= config"
     - "= admin"
Collections

Number of collections per database in collections

Indexes

Number of indexes per database in indexes

Views

Number of views per database in views

Documents

Number of documents per database in documents

Disk Size

Total space allocated to all collections in the database for document storage(including free space) in bytes

Replication

Charts are available on replica sets only.

Replication lag

Time when last entry from the oplog was applied for every member in milliseconds

Replication set member heartbeat latency

Time when last heartbeat was received from replica set member milliseconds

Ping

Round trip time between members and local instance in milliseconds

Sharding

Charts are available on shards only for mongos

Transaction Commit Types

Number of initiated and successful no shard, single shard, shard write ,two phasecommits in commits

Shard Nodes

Number of shard aware vs shard unaware nodes in nodes

Databases Sharding Status

Partitioned vs UnPartitioned databases in databases

Collections Sharding Status

Partitioned vs UnPartitioned collections in databases

Chucks Per Node

Number of chucks per node in chunks

Prerequisites

Create a read-only user for Netdata in the admin database.

  1. Authenticate as the admin user.
use admin
db.auth("admin", "<MONGODB_ADMIN_PASSWORD>")
  1. Create a user.
# MongoDB 2.x.
db.addUser("netdata", "<UNIQUE_PASSWORD>", true)

# MongoDB 3.x or higher.
db.createUser({
  "user":"netdata",
  "pwd": "<UNIQUE_PASSWORD>",
  "roles" : [
    {role: 'read', db: 'admin' },
    {role: 'clusterMonitor', db: 'admin'},
    {role: 'read', db: 'local' }
  ]
})

Configuration

Edit the go.d/mongodb.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config go.d/mongodb.conf

Sample using connection string:

This is the preferred way

uri: 'mongodb://localhost:27017'

If no configuration is given, module will attempt to connect to mongodb daemon on 127.0.0.1:27017 address

For all available options, see the mongodb collector's configuration file.

Troubleshooting

To troubleshoot issues with the mongodb collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

First, navigate to your plugins directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo -u netdata -s

You can now run the go.d.plugin to debug the collector:

./go.d.plugin -d -m mongodb

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Asserts

type Asserts struct {
	Regular   *int64 `bson:"regular" stm:"regular"`
	Warning   *int64 `bson:"warning" stm:"warning"`
	Msg       *int64 `bson:"msg" stm:"msg"`
	User      *int64 `bson:"user" stm:"user"`
	Tripwire  *int64 `bson:"tripwire" stm:"tripwire"`
	Rollovers *int64 `bson:"rollovers" stm:"rollovers"`
}

type CommitType

type CommitType struct {
	Initiated  int64 `json:"initiated" stm:"initiated"`
	Successful int64 `json:"successful" stm:"successful"`
}

type CommitTypes

type CommitTypes struct {
	NoShards         CommitType `bson:"noShards" stm:"no_shards"`
	SingleShard      CommitType `bson:"singleShard" stm:"single_shard"`
	SingleWriteShard CommitType `bson:"singleWriteShard" stm:"single_write_shard"`
	TwoPhaseCommit   CommitType `bson:"twoPhaseCommit" stm:"two_phase"`
}

type Config

type Config struct {
	URI       string             `yaml:"uri"`
	Timeout   time.Duration      `yaml:"timeout"`
	Databases matcher.SimpleExpr `yaml:"databases"`
}

type Connections

type Connections struct {
	Current                 *int64 `bson:"current" stm:"current"`
	Available               *int64 `bson:"available" stm:"available"`
	TotalCreated            *int64 `bson:"totalCreated" stm:"total_created"`
	Active                  *int64 `bson:"active" stm:"active"`
	Threaded                *int64 `bson:"threaded" stm:"threaded"`
	ExhaustIsMaster         *int64 `bson:"exhaustIsMaster" stm:"exhaustIsMaster"`
	ExhaustHello            *int64 `bson:"exhaustHello" stm:"exhaustHello"`
	AwaitingTopologyChanges *int64 `bson:"awaitingTopologyChanges" stm:"awaitingTopologyChanges"`
}

type ExtraInfo

type ExtraInfo struct {
	PageFaults *int64 `bson:"page_faults" stm:"page_faults"`
}

type FlowControl

type FlowControl struct {
	TargetRateLimit     *int64 `bson:"targetRateLimit" stm:"target_rate_limit"`
	TimeAcquiringMicros *int64 `bson:"timeAcquiringMicros" stm:"time_acquiring_micros"`
}

type Generic

type Generic struct {
	CurrentAllocatedBytes *int64 `bson:"current_allocated_bytes" stm:"current_allocated"`
	HeapSize              *int64 `bson:"heap_size" stm:"heap_size"`
}

type GlobalLock

type GlobalLock struct {
	ActiveClients *struct {
		Readers *int64 `bson:"readers" stm:"readers"`
		Writers *int64 `bson:"writers" stm:"writers"`
	} `bson:"activeClients" stm:"active_clients"`
	CurrentQueue *struct {
		Readers *int64 `bson:"readers" stm:"readers"`
		Writers *int64 `bson:"writers" stm:"writers"`
	} `bson:"currentQueue" stm:"current_queue"`
}

type Locks

type Locks struct {
	Global *struct {
		AcquireCount struct {
			R *int64 `bson:"r" stm:"read"`
			W *int64 `bson:"W" stm:"write"`
		} `bson:"acquireCount" stm:""`
	} `bson:"Global" stm:"global"`
	Database *struct {
		AcquireCount struct {
			R *int64 `bson:"r" stm:"read"`
			W *int64 `bson:"W" stm:"write"`
		} `bson:"acquireCount" stm:""`
	} `bson:"Database" stm:"database"`
	Collection *struct {
		AcquireCount struct {
			R *int64 `bson:"r" stm:"read"`
			W *int64 `bson:"W" stm:"write"`
		} `bson:"acquireCount" stm:""`
	} `bson:"Collection" stm:"collection"`
}

type Mongo

type Mongo struct {
	module.Base
	Config `yaml:",inline"`
	// contains filtered or unexported fields
}

func New

func New() *Mongo

func (*Mongo) Charts

func (m *Mongo) Charts() *module.Charts

func (*Mongo) Check

func (m *Mongo) Check() bool

func (*Mongo) Cleanup

func (m *Mongo) Cleanup()

func (*Mongo) Collect

func (m *Mongo) Collect() map[string]int64

func (*Mongo) Init

func (m *Mongo) Init() bool

type Network

type Network struct {
	BytesIn     *int64 `bson:"bytesIn" stm:"bytes_in"`
	BytesOut    *int64 `bson:"bytesOut" stm:"bytes_out"`
	NumRequests *int64 `bson:"numRequests" stm:"requests"`
}

type OpLatencies

type OpLatencies struct {
	Reads *struct {
		Latency *int64 `bson:"latency" stm:""`
	} `bson:"reads" stm:"read"`
	Writes *struct {
		Latency *int64 `bson:"latency" stm:""`
	} `bson:"writes" stm:"write"`
	Commands *struct {
		Latency *int64 `bson:"latency" stm:""`
	} `bson:"commands" stm:"command"`
}

type Opcounters

type Opcounters struct {
	Insert  *int64 `bson:"insert" stm:"insert"`
	Query   *int64 `bson:"query" stm:"query"`
	Update  *int64 `bson:"update" stm:"update"`
	Delete  *int64 `bson:"delete" stm:"delete"`
	Getmore *int64 `bson:"getmore" stm:"getmore"`
	Command *int64 `bson:"command" stm:"command"`
}

type ServerStatusTcmalloc

type ServerStatusTcmalloc struct {
	Generic  *Generic          `bson:"generic" stm:"generic"`
	Tcmalloc *TcmallocTcmalloc `bson:"tcmalloc" stm:"tcmalloc"`
}

type TcmallocTcmalloc

type TcmallocTcmalloc struct {
	PageheapFreeBytes          *int64 `bson:"pageheap_free_bytes" stm:"pageheap_free"`
	PageheapUnmappedBytes      *int64 `bson:"pageheap_unmapped_bytes" stm:"pageheap_unmapped"`
	MaxTotalThreadCacheBytes   *int64 `bson:"max_total_thread_cache_bytes" stm:"max_total_thread_cache"`
	TotalFreeBytes             *int64 `bson:"total_free_bytes" stm:"total_free"`
	PageheapCommittedBytes     *int64 `bson:"pageheap_committed_bytes" stm:"pageheap_committed"`
	PageheapTotalCommitBytes   *int64 `bson:"pageheap_total_commit_bytes" stm:"pageheap_total_commit"`
	PageheapTotalDecommitBytes *int64 `bson:"pageheap_total_decommit_bytes" stm:"pageheap_total_decommit"`
	PageheapTotalReserveBytes  *int64 `bson:"pageheap_total_reserve_bytes" stm:"pageheap_total_reserve"`
}

type Transactions

type Transactions struct {
	CurrentActive   *int64       `bson:"currentActive" stm:"active"`
	CurrentInactive *int64       `bson:"currentInactive" stm:"inactive"`
	CurrentOpen     *int64       `bson:"currentOpen" stm:"open"`
	CurrentPrepared *int64       `bson:"currentPrepared" stm:"prepared"`
	CommitTypes     *CommitTypes `bson:"commitTypes" stm:"commit_types"`
}

type WiredTiger

type WiredTiger struct {
	BlockManager *struct {
		BytesRead                    int `bson:"bytes read" stm:"read"`
		BytesReadViaMemoryMapAPI     int `bson:"bytes read via memory map API" stm:"read_via_memory"`
		BytesReadViaSystemCallAPI    int `bson:"bytes read via system call API" stm:"read_via_system_api"`
		BytesWritten                 int `bson:"bytes written" stm:"written"`
		BytesWrittenForCheckpoint    int `bson:"bytes written for checkpoint" stm:"written_for_checkpoint"`
		BytesWrittenViaMemoryMapAPI  int `bson:"bytes written via memory map API" stm:"written_via_memory"`
		BytesWrittenViaSystemCallAPI int `bson:"bytes written via system call API" stm:"written_via_system_api"`
	} `bson:"block-manager" json:"block-manager" stm:"block_manager"`
	Cache *struct {
		BytesAllocatedForUpdates int `bson:"bytes allocated for updates" stm:"alloccated"`
		BytesReadIntoCache       int `bson:"bytes read into cache" stm:"read"`
		BytesWrittenFromCache    int `bson:"bytes written from cache" stm:"write"`
	} `bson:"cache" stm:"cache"`
	Capacity *struct {
		TimeWaitingDueToTotalCapacityUsecs int `bson:"time waiting due to total capacity (usecs)" stm:"wait_capacity"`
		TimeWaitingDuringCheckpointUsecs   int `bson:"time waiting during checkpoint (usecs)" stm:"wait_checkpoint"`
		TimeWaitingDuringEvictionUsecs     int `bson:"time waiting during eviction (usecs)" stm:"wait_eviction"`
		TimeWaitingDuringLoggingUsecs      int `bson:"time waiting during logging (usecs)" stm:"wait_logging"`
		TimeWaitingDuringReadUsecs         int `bson:"time waiting during read (usecs)" stm:"wait_read"`
	} `bson:"capacity" stm:"capacity"`
	Connection *struct {
		MemoryAllocations   int `bson:"memory allocations" stm:"allocations"`
		MemoryFrees         int `bson:"memory frees" stm:"frees"`
		MemoryReAllocations int `bson:"memory re-allocations" stm:"reallocations"`
	} `bson:"connection" stm:"connection"`
	Cursor *struct {
		CachedCursorCount                 int `bson:"cached cursor count" stm:"count"`
		CursorBulkLoadedCursorInsertCalls int `bson:"cursor bulk loaded cursor insert calls" stm:"bulk"`
		CursorCloseCallsThatResultInCache int `bson:"cursor close calls that result in cache" stm:"close"`
		CursorCreateCalls                 int `bson:"cursor create calls" stm:"create"`
		CursorInsertCalls                 int `bson:"cursor insert calls" stm:"insert"`
		CursorModifyCalls                 int `bson:"cursor modify calls" stm:"modify"`
		CursorNextCalls                   int `bson:"cursor next calls" stm:"next"`
		CursorOperationRestarted          int `bson:"cursor operation restarted" stm:"restarted"`
		CursorPrevCalls                   int `bson:"cursor prev calls" stm:"prev"`
		CursorRemoveCalls                 int `bson:"cursor remove calls" stm:"remove"`
		CursorReserveCalls                int `bson:"cursor reserve calls" stm:"reserve"`
		CursorResetCalls                  int `bson:"cursor reset calls" stm:"reset"`
		CursorSearchCalls                 int `bson:"cursor search calls" stm:"search"`
		CursorSearchHistoryStoreCalls     int `bson:"cursor search history store calls" stm:"search_history"`
		CursorSearchNearCalls             int `bson:"cursor search near calls" stm:"search_near"`
		CursorSweepBuckets                int `bson:"cursor sweep buckets" stm:"sweep_buckets"`
		CursorSweepCursorsClosed          int `bson:"cursor sweep cursors closed" stm:"sweep_cursors"`
		CursorSweepCursorsExamined        int `bson:"cursor sweep cursors examined" stm:"sweep_examined"`
		CursorSweeps                      int `bson:"cursor sweeps" stm:"sweeps"`
		CursorTruncateCalls               int `bson:"cursor truncate calls" stm:"truncate"`
		CursorUpdateCalls                 int `bson:"cursor update calls" stm:"update"`
		CursorUpdateValueSizeChange       int `bson:"cursor update value size change" stm:"update_value"`
	} `bson:"cursor" stm:"cursor"`
	Lock *struct {
		CheckpointLockAcquisitions                 int `bson:"checkpoint lock acquisitions" stm:"checkpoint_acquisitions"`
		DhandleReadLockAcquisitions                int `bson:"dhandle read lock acquisitions" stm:"read_acquisitions"`
		DhandleWriteLockAcquisitions               int `bson:"dhandle write lock acquisitions" stm:"write_acquisitions"`
		DurableTimestampQueueReadLockAcquisitions  int `bson:"durable timestamp queue read lock acquisitions" stm:"durable_timestamp_queue_read_acquisitions"`
		DurableTimestampQueueWriteLockAcquisitions int `bson:"durable timestamp queue write lock acquisitions" stm:"durable_timestamp_queue_write_acquisitions"`
		MetadataLockAcquisitions                   int `bson:"metadata lock acquisitions" stm:"metadata_acquisitions"`
		ReadTimestampQueueReadLockAcquisitions     int `bson:"read timestamp queue read lock acquisitions" stm:"read_timestamp_queue_read_acquisitions"`
		ReadTimestampQueueWriteLockAcquisitions    int `bson:"read timestamp queue write lock acquisitions" stm:"read_timestamp_queue_write_acquisitions"`
		SchemaLockAcquisitions                     int `bson:"schema lock acquisitions" stm:"schema_acquisitions"`
		TableReadLockAcquisitions                  int `bson:"table read lock acquisitions" stm:"table_read_acquisitions"`
		TableWriteLockAcquisitions                 int `bson:"table write lock acquisitions" stm:"table_write_acquisitions"`
		TxnGlobalReadLockAcquisitions              int `bson:"txn global read lock acquisitions" stm:"txn_global_read_acquisitions"`

		CheckpointLockApplicationThreadWaitTimeUsecs               int `bson:"checkpoint lock application thread wait time (usecs)" stm:"checkpoint_wait_time"`
		CheckpointLockInternalThreadWaitTimeUsecs                  int `bson:"checkpoint lock internal thread wait time (usecs)" stm:"checkpoint_internal_thread_wait_time"`
		DhandleLockApplicationThreadTimeWaitingUsecs               int `bson:"dhandle lock application thread time waiting (usecs)" stm:"application_thread_time_waiting"`
		DhandleLockInternalThreadTimeWaitingUsecs                  int `bson:"dhandle lock internal thread time waiting (usecs)" stm:"internal_thread_time_waiting"`
		DurableTimestampQueueLockApplicationThreadTimeWaitingUsecs int `` /* 137-byte string literal not displayed */
		DurableTimestampQueueLockInternalThreadTimeWaitingUsecs    int `` /* 131-byte string literal not displayed */
		MetadataLockApplicationThreadWaitTimeUsecs                 int `bson:"metadata lock application thread wait time (usecs)" stm:"metadata_application_thread_wait_time"`
		MetadataLockInternalThreadWaitTimeUsecs                    int `bson:"metadata lock internal thread wait time (usecs)" stm:"metadata_internal_thread_wait_time"`
		ReadTimestampQueueLockApplicationThreadTimeWaitingUsecs    int `` /* 131-byte string literal not displayed */
		ReadTimestampQueueLockInternalThreadTimeWaitingUsecs       int `bson:"read timestamp queue lock internal thread time waiting (usecs)" stm:"read_timestamp_queue_internal_thread_time_waiting"`
		SchemaLockApplicationThreadWaitTimeUsecs                   int `bson:"schema lock application thread wait time (usecs)" stm:"schema_application_thread_wait_time"`
		SchemaLockInternalThreadWaitTimeUsecs                      int `bson:"schema lock internal thread wait time (usecs)" stm:"schema_internal_thread_wait_time"`
	} `bson:"lock" stm:"lock"`
	Log *struct {
		LogFlushOperations             int `bson:"log flush operations" stm:"flush"`
		LogForceWriteOperations        int `bson:"log force write operations" stm:"force_write"`
		LogForceWriteOperationsSkipped int `bson:"log force write operations skipped" stm:"write_skip"`
		LogScanOperations              int `bson:"log scan operations" stm:"scan"`
		LogSyncOperations              int `bson:"log sync operations" stm:"sync"`
		LogSyncDirOperations           int `bson:"log sync_dir operations" stm:"sync_dir"`
		LogWriteOperations             int `bson:"log write operations" stm:"write"`

		LogBytesOfPayloadData    int `bson:"log bytes of payload data" stm:"payload"`
		LogBytesWritten          int `bson:"log bytes written" stm:"written"`
		LoggingBytesConsolidated int `bson:"logging bytes consolidated" stm:"consolidated"`
		TotalLogBufferSize       int `bson:"total log buffer size" stm:"buffer_size"`
	} `bson:"log" stm:"log"`
	Transaction *struct {
		PreparedTransactions   int `bson:"prepared transactions" stm:"prepare"`
		QueryTimestampCalls    int `bson:"query timestamp calls" stm:"query"`
		RollbackToStableCalls  int `bson:"rollback to stable calls" stm:"rollback"`
		SetTimestampCalls      int `bson:"set timestamp calls" stm:"set_timestamp"`
		TransactionBegins      int `bson:"transaction begins" stm:"begin"`
		TransactionSyncCalls   int `bson:"transaction sync calls" stm:"sync"`
		TransactionsCommitted  int `bson:"transactions committed" stm:"committed"`
		TransactionsRolledBack int `bson:"transactions rolled back" stm:"rolled_back"`
	} `bson:"transaction" stm:"transaction"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL