mdb

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2019 License: MIT Imports: 21 Imported by: 4

Documentation

Index

Constants

View Source
const KEYHOLEDB = "_KEYHOLE_"

KEYHOLEDB -

View Source
const PRIMARY = "PRIMARY"

PRIMARY - primary node

View Source
const REPLICA = "replica"

REPLICA set

View Source
const SECONDARY = "SECONDARY"

SECONDARY - secondary node

View Source
const SHARDED = "sharded"

SHARDED cluster

View Source
const STANDALONE = "standalone"

STANDALONE cluster

Variables

This section is empty.

Functions

func GetIndexes

func GetIndexes(client *mongo.Client, dbName string) string

GetIndexes list all indexes of collections of databases

func GetIndexesFromDB

func GetIndexesFromDB(client *mongo.Client, dbName string) string

GetIndexesFromDB list all indexes of collections of a database

func GetOptime

func GetOptime(optime interface{}) int64

GetOptime -

func GetShards

func GetShards(client *mongo.Client, uri string) ([]string, error)

GetShards -

func GetShardsURIList

func GetShardsURIList(client *mongo.Client, uri string) ([]string, error)

GetShardsURIList gets shards list

func GetStorageSize added in v1.1.0

func GetStorageSize(num interface{}) string

GetStorageSize returns storage size in [TGMK] B

func IsMaster

func IsMaster(client *mongo.Client) (bson.M, error)

IsMaster executes dbisMaster()

func ListDatabaseNames

func ListDatabaseNames(client *mongo.Client) ([]string, error)

ListDatabaseNames gets all database names

func MongoPipeline

func MongoPipeline(str string) mongo.Pipeline

MongoPipeline gets aggregation pipeline from a string

func NewMongoClient

func NewMongoClient(uri string, opts ...string) (*mongo.Client, error)

NewMongoClient new mongo client

func Parse

func Parse(uri string) (string, error)

Parse checks if password is included

func ReadPasswordFromStdin

func ReadPasswordFromStdin() (string, error)

ReadPasswordFromStdin reads password from stdin

func RunAdminCommand

func RunAdminCommand(client *mongo.Client, command string) (bson.M, error)

RunAdminCommand executes admin Command

func RunCommandOnDB

func RunCommandOnDB(client *mongo.Client, command string, db string) (bson.M, error)

RunCommandOnDB execute admin Command at given database

func Silent

func Silent(data interface{})

Silent does nothing

func Stringify

func Stringify(doc interface{}, opts ...string) string

Stringify return a formatted string from JSON

Types

type Cardinality

type Cardinality struct {
	// contains filtered or unexported fields
}

Cardinality -

func NewCardinality

func NewCardinality(database string, collection string) *Cardinality

NewCardinality returns cardinality constructor

func (*Cardinality) CheckCardinality

func (card *Cardinality) CheckCardinality(client *mongo.Client) (bson.M, error)

CheckCardinality -

func (*Cardinality) SetVerbose

func (card *Cardinality) SetVerbose(verbose bool)

SetVerbose -

type ChangeStream added in v1.0.1

type ChangeStream struct {
	// contains filtered or unexported fields
}

ChangeStream defines what to watch? client, database or collection

func NewChangeStream added in v1.0.1

func NewChangeStream() *ChangeStream

NewChangeStream gets a new ChangeStream

func (*ChangeStream) SetCollection added in v1.0.1

func (cs *ChangeStream) SetCollection(collection string)

SetCollection sets collection

func (*ChangeStream) SetDatabase added in v1.0.1

func (cs *ChangeStream) SetDatabase(database string)

SetDatabase sets database

func (*ChangeStream) SetPipeline added in v1.0.1

func (cs *ChangeStream) SetPipeline(pipeline []bson.D)

SetPipeline sets pipeline

func (*ChangeStream) SetPipelineString added in v1.0.1

func (cs *ChangeStream) SetPipelineString(pipe string)

SetPipelineString sets pipeline string

func (*ChangeStream) Watch added in v1.0.1

func (cs *ChangeStream) Watch(client *mongo.Client, cb callback)

Watch prints oplogs in JSON format

type ConcurrentTransactionsCountDoc

type ConcurrentTransactionsCountDoc struct {
	Available    int64 `json:"available" bson:"available"`
	Out          int64 `json:"out" bson:"out"`
	TotalTickets int64 `json:"totalTickets" bson:"totalTickets"`
}

ConcurrentTransactionsCountDoc contains db.serverStatus().wiredTiger.concurrentTransactions.[read|write]

type ConcurrentTransactionsDoc

type ConcurrentTransactionsDoc struct {
	Read  ConcurrentTransactionsCountDoc `json:"read" bson:"read"`
	Write ConcurrentTransactionsCountDoc `json:"write" bson:"write"`
}

ConcurrentTransactionsDoc contains db.serverStatus().wiredTiger.concurrentTransactions

type ConnectionsDoc

type ConnectionsDoc struct {
	Current      int64 `json:"current" bson:"current"`
	Available    int64 `json:"available" bson:"available"`
	TotalCreated int64 `json:"totalCreated" bson:"totalCreated"`
}

ConnectionsDoc contains db.serverStatus().connections

type DBStats

type DBStats struct {
	DB        string `json:"db" bson:"db"`
	DataSize  int    `json:"dataSize" bson:"dataSize"`
	IndexSize int    `json:"indexSize" bson:"indexSize"`
	Objects   int    `json:"objects" bson:"objects"`
}

DBStats contains info from db.stats()

type DocumentDoc

type DocumentDoc struct {
	Deleted  int `json:"deleted" bson:"deleted"`
	Inserted int `json:"inserted" bson:"inserted"`
	Returned int `json:"returned" bson:"returned"`
	Updated  int `json:"updated" bson:"updated"`
}

DocumentDoc contains db.serverStatus().document

type ExtraInfoDoc

type ExtraInfoDoc struct {
	PageFaults int64 `json:"page_faults" bson:"page_faults"`
}

ExtraInfoDoc contains db.serverStatus().extra_info

type GlobalLockDoc

type GlobalLockDoc struct {
	ActiveClients GlobalLockSubDoc `json:"activeClients" bson:"activeClients"`
	CurrentQueue  GlobalLockSubDoc `json:"currentQueue" bson:"currentQueue"`
	TotalTime     int              `json:"totalTime" bson:"totalTime"`
}

GlobalLockDoc contains db.serverStatus().globalLockDoc

type GlobalLockSubDoc

type GlobalLockSubDoc struct {
	Readers int64 `json:"readers" bson:"readers"`
	Total   int64 `json:"total" bson:"total"`
	Writers int64 `json:"writers" bson:"writers"`
}

GlobalLockSubDoc contains db.serverStatus().globalLockDoc.[activeClients|currentQueue]

type IndexStatsDoc

type IndexStatsDoc struct {
	Key          string
	EffectiveKey string
	Usage        []UsageDoc
}

IndexStatsDoc -

type MemDoc

type MemDoc struct {
	Resident int64 `json:"resident" bson:"resident"`
	Virtual  int64 `json:"virtual" bson:"virtual"`
}

MemDoc containers db.serverStatus().mem

type MemberDoc

type MemberDoc struct {
	Name   string      `json:"name" bson:"name"`
	Optime interface{} `json:"optime" bson:"optime"`
	State  int         `json:"state" bson:"state"`
}

MemberDoc stores replset status

type MetricsDoc

type MetricsDoc struct {
	Document      DocumentDoc      `json:"document" bson:"document"`
	QueryExecutor QueryExecutorDoc `json:"queryExecutor" bson:"queryExecutor"`
	Operation     OperationDoc     `json:"operation" bson:"operation"`
}

MetricsDoc contains db.serverStatus().metrics

type MongoCluster added in v1.1.0

type MongoCluster struct {
	// contains filtered or unexported fields
}

MongoCluster holds mongo cluster info

func NewMongoCluster added in v1.1.0

func NewMongoCluster(client *mongo.Client) *MongoCluster

NewMongoCluster server info struct

func (*MongoCluster) GetClusterInfo added in v1.1.0

func (mc *MongoCluster) GetClusterInfo() (bson.M, error)

GetClusterInfo -

func (*MongoCluster) SetVerbose added in v1.1.0

func (mc *MongoCluster) SetVerbose(verbose bool)

SetVerbose -

func (*MongoCluster) WriteJSON added in v1.1.0

func (mc *MongoCluster) WriteJSON(filename string) error

WriteJSON outputs cluster into to a JSON file

type OpCountersDoc

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

OpCountersDoc contains db.serverStatus().OpCounters

type OpLatenciesDoc

type OpLatenciesDoc struct {
	Commands OpLatenciesOpDoc `json:"commands" bson:"commands"`
	Reads    OpLatenciesOpDoc `json:"reads" bson:"reads"`
	Writes   OpLatenciesOpDoc `json:"writes" bson:"writes"`
}

OpLatenciesDoc contains db.serverStatus().opLatencies

type OpLatenciesOpDoc

type OpLatenciesOpDoc struct {
	Latency int64 `json:"latency" bson:"latency"`
	Ops     int64 `json:"ops" bson:"ops"`
}

OpLatenciesOpDoc contains doc of db.serverStatus().opLatencies

type OperationDoc

type OperationDoc struct {
	ScanAndOrder   int64 `json:"scanAndOrder" bson:"scanAndOrder"`
	WriteConflicts int64 `json:"writeConflicts" bson:"writeConflicts"`
}

OperationDoc contains db.serverStatus().operation

type OptimeDoc

type OptimeDoc struct {
	T  int64 `json:"t" bson:"t"`
	TS int64 `json:"ts" bson:"ts"`
}

OptimeDoc -

type QueryExecutorDoc

type QueryExecutorDoc struct {
	Scanned        int64 `json:"scanned" bson:"scanned"`
	ScannedObjects int64 `json:"scannedObjects" bson:"scannedObjects"`
}

QueryExecutorDoc contains db.serverStatus().queryExecutor

type ReplSetStatusDoc

type ReplSetStatusDoc struct {
	Date    time.Time   `json:"date" bson:"date"`
	Members []MemberDoc `json:"members" bson:"members"`
}

ReplSetStatusDoc stores replset status

type ServerInfo

type ServerInfo struct {
	Cluster     string `json:"cluster" bson:"cluster"`
	Host        string `json:"host" bson:"host"`
	Process     string `json:"process" bson:"process"`
	Version     string `json:"version" bson:"version"`
	Sharding    bson.M `json:"sharding" bson:"sharding"`
	Repl        bson.M `json:"repl" bson:"repl"`
	StorageSize bson.M
}

ServerInfo constains server info from db.serverStatus()

func GetServerInfo

func GetServerInfo(client *mongo.Client) (ServerInfo, error)

GetServerInfo returns ServerInfo from db.serverStatus()

type ServerStatusDoc

type ServerStatusDoc struct {
	Connections ConnectionsDoc `json:"connections" bson:"connections"`
	ExtraInfo   ExtraInfoDoc   `json:"extra_info" bson:"extra_info"`
	GlobalLock  GlobalLockDoc  `json:"globalLock" bson:"globalLock"`
	Host        string         `json:"host" bson:"host"`
	LocalTime   time.Time      `json:"localTime" bson:"localTime"`
	Mem         MemDoc         `json:"mem" bson:"mem"`
	Metrics     MetricsDoc     `json:"metrics" bson:"metrics"`
	OpCounters  OpCountersDoc  `json:"opcounters" bson:"opcounters"`
	OpLatencies OpLatenciesDoc `json:"opLatencies" bson:"opLatencies"`
	Process     string         `json:"process" bson:"process"`
	Repl        bson.M         `json:"repl" bson:"repl"`
	Sharding    bson.M         `json:"sharding" bson:"sharding"`
	Uptime      int64          `json:"uptime" bson:"uptime"`
	Version     string         `json:"version" bson:"version"`
	WiredTiger  WiredTigerDoc  `json:"wiredTiger" bson:"wiredTiger"`
}

ServerStatusDoc contains docs from db.serverStatus()

type ShardDoc

type ShardDoc struct {
	ID    string `json:"_id" bson:"_id"`
	Host  string `json:"host" bson:"host"`
	State int    `json:"state" bson:"state"`
}

ShardDoc information

type ShardList

type ShardList struct {
	Shards []ShardDoc `json:"shards" bson:"shards"`
	OK     int        `json:"ok" bson:"ok"`
}

ShardList -

type UsageDoc

type UsageDoc struct {
	Hostname string
	Ops      int       `json:"ops" bson:"ops"`
	Since    time.Time `json:"since" bson:"since"`
}

UsageDoc -

type WiredTigerCacheDoc

type WiredTigerCacheDoc struct {
	MaxBytesConfigured     int64 `json:"maximum bytes configured" bson:"maximum bytes configured"`
	CurrentlyInCache       int64 `json:"bytes currently in the cache" bson:"bytes currently in the cache"`
	ModifiedPagesEvicted   int64 `json:"modified pages evicted" bson:"modified pages evicted"`
	UnmodifiedPagesEvicted int64 `json:"unmodified pages evicted" bson:"unmodified pages evicted"`
	TrackedDirtyBytes      int64 `json:"tracked dirty bytes in the cache" bson:"tracked dirty bytes in the cache"`
	PagesReadIntoCache     int64 `json:"pages read into cache" bson:"pages read into cache"`
	PagesWrittenFromCache  int64 `json:"pages written from cache" bson:"pages written from cache"`
}

WiredTigerCacheDoc contains db.serverStatus().wiredTiger.cache

type WiredTigerDoc

type WiredTigerDoc struct {
	Perf                   interface{}               `json:"perf" bson:"perf"`
	Cache                  WiredTigerCacheDoc        `json:"cache" bson:"cache"`
	ConcurrentTransactions ConcurrentTransactionsDoc `json:"concurrentTransactions" bson:"concurrentTransactions"`
}

WiredTigerDoc contains db.serverStatus().wiredTiger

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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