Documentation ¶
Overview ¶
Package exporter implements the collectors and metrics handlers.
Index ¶
- Constants
- Variables
- func GetSeedListFromSRV(uri string, log *logrus.Logger) string
- func OverallTargetsHandler(exporters []*Exporter, logger *logrus.Logger) http.HandlerFunc
- func RunWebServer(opts *ServerOpts, exporters []*Exporter, log *logrus.Logger)
- type Exporter
- type GathererWrapped
- type Opts
- type ServerMap
- type ServerOpts
- type ShardingChangelogStats
- type ShardingChangelogSummary
- type ShardingChangelogSummaryID
Constants ¶
const ( // PrimaryState is the state of the primary node in a replica set. // See: https://docs.mongodb.com/manual/reference/replica-states/ PrimaryState = 1 // SecondaryState is the state of a secondary node in a replica set. SecondaryState = 2 // UnknownState is the state of an unknown node in a replica set. UnknownState = 6 // ArbiterState is the state of an arbiter in a replica set. ArbiterState = 7 // EnterpriseEdition shows that MongoDB is Enterprise edition. EnterpriseEdition = "Enterprise" // CommunityEdition shows that MongoDB is Community edition. CommunityEdition = "Community" // PerconaVendor means that MongoDB provided by Percona. PerconaVendor = "Percona" // MongoDBVendor means that MongoDB provided by Mongo. MongoDBVendor = "MongoDB" )
Variables ¶
var ErrCannotGetTopologyLabels = fmt.Errorf("cannot get topology labels")
ErrCannotGetTopologyLabels Cannot read topology labels.
var ErrInvalidOrMissingInprogEntry = errors.New("invalid or missing inprog entry in currentop results")
var ErrInvalidOrMissingTotalsEntry = fmt.Errorf("invalid or misssing totals entry in top results")
Functions ¶
func GetSeedListFromSRV ¶ added in v0.42.0
GetSeedListFromSRV converts mongodb+srv URI to flat connection string.
func OverallTargetsHandler ¶ added in v0.42.0
func OverallTargetsHandler(exporters []*Exporter, logger *logrus.Logger) http.HandlerFunc
OverallTargetsHandler is a handler to scrape all the targets in one request. Adds instance label to each metric.
func RunWebServer ¶ added in v0.40.0
func RunWebServer(opts *ServerOpts, exporters []*Exporter, log *logrus.Logger)
Runs the main web-server
Types ¶
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
Exporter holds Exporter methods and attributes.
type GathererWrapped ¶ added in v0.42.0
type GathererWrapped struct {
// contains filtered or unexported fields
}
GathererWrapped is a wrapper for prometheus.Gatherer that adds labels to all metrics.
func NewGathererWrapper ¶ added in v0.42.0
func NewGathererWrapper(gs prometheus.Gatherer, labels prometheus.Labels) *GathererWrapped
NewGathererWrapper creates a new GathererWrapped with the given Gatherer and additional labels.
func (*GathererWrapped) Gather ¶ added in v0.42.0
func (g *GathererWrapped) Gather() ([]*io_prometheus_client.MetricFamily, error)
Gather implements prometheus.Gatherer interface.
type Opts ¶
type Opts struct { // Only get stats for the collections matching this list of namespaces. // Example: db1.col1,db.col1 CollStatsNamespaces []string CollStatsLimit int CompatibleMode bool DirectConnect bool ConnectTimeoutMS int DisableDefaultRegistry bool DiscoveringMode bool GlobalConnPool bool ProfileTimeTS int TimeoutOffset int CurrentOpSlowTime string CollectAll bool EnableDBStats bool EnableDBStatsFreeStorage bool EnableDiagnosticData bool EnableReplicasetStatus bool EnableReplicasetConfig bool EnableCurrentopMetrics bool EnableTopMetrics bool EnableIndexStats bool EnableCollStats bool EnableProfile bool EnableShards bool EnableFCV bool // Feature Compatibility Version. EnableOverrideDescendingIndex bool // Enable metrics for Percona Backup for MongoDB (PBM). EnablePBMMetrics bool IndexStatsCollections []string Logger *logrus.Logger URI string NodeName string }
Opts holds new exporter options.
func GetRequestOpts ¶ added in v0.42.0
GetRequestOpts makes exporter.Opts structure from request filters and default options.
type ServerOpts ¶ added in v0.40.0
type ServerOpts struct { Path string MultiTargetPath string OverallTargetPath string WebListenAddress string TLSConfigPath string DisableDefaultRegistry bool }
ServerOpts is the options for the main http handler
type ShardingChangelogStats ¶
type ShardingChangelogStats struct {
Items *[]ShardingChangelogSummary
}
ShardingChangelogStats is an array of Sharding changelog stats.
type ShardingChangelogSummary ¶
type ShardingChangelogSummary struct { ID *ShardingChangelogSummaryID `bson:"_id"` Count float64 `bson:"count"` }
ShardingChangelogSummary Sharding Changelog Summary.
type ShardingChangelogSummaryID ¶
ShardingChangelogSummaryID Sharding Changelog Summary ID.
Source Files ¶
- base_collector.go
- collstats_collector.go
- common.go
- currentop_collector.go
- dbstats_collector.go
- debug.go
- diagnostic_data_collector.go
- exporter.go
- exporter_metrics.go
- feature_compatibility_version_collector.go
- gatherer_wrapper.go
- general_collector.go
- indexstats_collector.go
- metrics.go
- pbm_collector.go
- profile_status_collector.go
- replset_config_collector.go
- replset_status_collector.go
- seedlist.go
- server.go
- shards_collector.go
- top_collector.go
- topology_info.go
- v1_compatibility.go