# Functions
NewConfigWatcher creates a new ConfigWatcher.
Utils for initializing.
NewLimiter creates a new *Limiter given a configuration and prometheus registerer.
newMultiHashring creates a multi-tenant hashring for a given slice of groups.
NewMultiTSDB creates new MultiTSDB.
NewNopConfig creates a no-op config content (no configuration).
ParseConfig parses the raw configuration content and returns a HashringConfig.
ParseLimitConfigContent parses the limit configuration from the path or content.
ParseRootLimitConfig parses the root limit configuration.
WithMetricNameFilterEnabled enables metric name filtering on TSDB clients.
# Constants
AllTenantsQueryParam is the query parameter for getting TSDB stats for all tenants.
DefaultReplicaHeader is the default header used to designate the replica count of a write request.
DefaultStatsLimit is the default value used for limiting tenant stats.
LimitStatsQueryParam is the query parameter for limiting the amount of returned TSDB stats.
SectionsPerNode is the number of sections in the ring assigned to each node in the ketama hashring.
TenantMatcherGlob matches tenants using glob patterns.
TenantMatcherTypeExact matches tenants exactly.
# Variables
ErrNotReady is returned if the underlying storage is not ready yet.
# Structs
ConfigWatcher is able to watch a file containing a hashring configuration for updates.
Handler serves a Prometheus remote write receiving HTTP endpoint.
HashringConfig represents the configuration for a hashring a receive node knows about.
Limiter is responsible for managing the configuration and initialization of different types that apply limits to the Receive instance.
Options for the web Handler.
ReadyStorage implements the Storage interface while allowing to set the actual storage at a later point in time.
Wraps storage.Appender to add validation and logging.
RootLimitsConfig is the root configuration for limits.
UnRegisterer is a Prometheus registerer that ensures that collectors can be registered by unregistering already-registered collectors.
A tenant might not always have limits configured, so things here must use pointers.
# Interfaces
Appendable returns an Appender.
Hashring finds the correct node to handle a given time series for a specified tenant.
# Type aliases
HashringAlgorithm is the algorithm used to distribute series in the ring.
MultiTSDBOption is a functional option for MultiTSDB.
SingleNodeHashring always returns the same node.
TenantsWriteLimitsConfig is a map of tenant IDs to their *WriteLimitConfig.