Documentation
¶
Overview ¶
Package exporter implements the collectors and metrics handlers.
Index ¶
- Constants
- Variables
- func GetSeedListFromSRV(uri string, logger *slog.Logger) string
- func OverallTargetsHandler(exporters []*Exporter, logger *slog.Logger) http.HandlerFunc
- func RunWebServer(opts *ServerOpts, exporters []*Exporter, log *slog.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 *slog.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 *slog.Logger)
RunWebServer 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 {
CompatibleMode bool
DirectConnect bool
ConnectTimeoutMS int
DisableDefaultRegistry bool
DiscoveringMode bool
GlobalConnPool bool
TimeoutOffset int
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.
EnablePBMMetrics bool
EnableOverrideDescendingIndex bool
// Only get stats for the collections matching this list of namespaces.
// Example: db1.col1,db.col1
CollStatsNamespaces []string
CollStatsLimit int
CollStatsEnableDetails bool
IndexStatsCollections []string
CurrentOpSlowTime string
ProfileTimeTS int
Logger *slog.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
- http_error_logger.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