Documentation ¶
Overview ¶
this is a parser for graphite's storage-schemas.conf it supports old and new retention format see https://graphite.readthedocs.io/en/0.9.9/config-carbon.html#storage-schemas-conf based on https://github.com/grobian/carbonwriter but with some improvements
Index ¶
- func ParseRetentionDefs(retentionDefs string) (whisper.Retentions, error)
- type Schema
- type StoreFunc
- type ThrottleTicker
- type Whisper
- func (p *Whisper) GetMaxUpdatesPerSecond() int
- func (p *Whisper) SetFLock(flock bool)
- func (p *Whisper) SetHardMaxCreatesPerSecond(hardMaxCreatesPerSecond bool)
- func (p *Whisper) SetHashFilenames(v bool)
- func (p *Whisper) SetMaxCreatesPerSecond(maxCreatesPerSecond int)
- func (p *Whisper) SetMaxUpdatesPerSecond(maxUpdatesPerSecond int)
- func (p *Whisper) SetMockStore(fn func() (StoreFunc, func()))
- func (p *Whisper) SetSparse(sparse bool)
- func (p *Whisper) SetTaggedFn(fn func(string, bool))
- func (p *Whisper) SetTagsEnabled(v bool)
- func (p *Whisper) SetWorkers(count int)
- func (p *Whisper) Start() error
- func (p *Whisper) Stat(send helper.StatCallback)
- func (p *Whisper) Stop()
- type WhisperAggregation
- type WhisperSchemas
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseRetentionDefs ¶
ParseRetentionDefs parses retention definitions into a Retentions structure
Types ¶
type Schema ¶ added in v0.7.2
type Schema struct { Name string Pattern *regexp.Regexp RetentionStr string Retentions whisper.Retentions Priority int64 }
Schema represents one schema setting
type ThrottleTicker ¶ added in v0.9.0
ThrottleTicker is a ticker that can be used for hard or soft rate-limiting.
- A soft rate limiter will send a message on C at the actual rate that is specified.
- A hard rate limiter may send arbitrarily many messages on C every second, but it will send the value 'true' with the first ratePerSec ones, and 'false' with all subsequent ones, until the next second. It is up to the user to decide what to do in each case.
func NewHardThrottleTicker ¶ added in v0.14.0
func NewHardThrottleTicker(ratePerSec int) *ThrottleTicker
NewHardThrottleTicker returns a new hard throttle ticker.
func NewSoftThrottleTicker ¶ added in v0.14.0
func NewSoftThrottleTicker(ratePerSec int) *ThrottleTicker
NewSoftThrottleTicker returns a new soft throttle ticker.
func NewThrottleTicker ¶ added in v0.9.0
func NewThrottleTicker(ratePerSec int) *ThrottleTicker
NewThrottleTicker returns a new soft throttle ticker.
type Whisper ¶
Whisper write data to *.wsp files
func NewWhisper ¶
func NewWhisper( rootPath string, schemas WhisperSchemas, aggregation *WhisperAggregation, recv func(chan bool) string, pop func(string) (*points.Points, bool), confirm func(*points.Points)) *Whisper
NewWhisper create instance of Whisper
func (*Whisper) GetMaxUpdatesPerSecond ¶ added in v0.7.1
GetMaxUpdatesPerSecond returns current throttling speed
func (*Whisper) SetHardMaxCreatesPerSecond ¶ added in v0.14.0
SetHardMaxCreatesPerSecond enable throttling
func (*Whisper) SetHashFilenames ¶ added in v0.12.0
func (*Whisper) SetMaxCreatesPerSecond ¶ added in v0.13.0
SetMaxCreatesPerSecond enable throttling
func (*Whisper) SetMaxUpdatesPerSecond ¶ added in v0.4.3
SetMaxUpdatesPerSecond enable throttling
func (*Whisper) SetMockStore ¶ added in v0.8.0
func (*Whisper) SetTaggedFn ¶ added in v0.14.0
func (*Whisper) SetTagsEnabled ¶ added in v0.12.0
type WhisperAggregation ¶
type WhisperAggregation struct { Data []*whisperAggregationItem Default *whisperAggregationItem }
WhisperAggregation ...
func NewWhisperAggregation ¶
func NewWhisperAggregation() *WhisperAggregation
NewWhisperAggregation create instance of WhisperAggregation
func ReadWhisperAggregation ¶
func ReadWhisperAggregation(filename string) (*WhisperAggregation, error)
ReadWhisperAggregation ...
type WhisperSchemas ¶
type WhisperSchemas []Schema
WhisperSchemas contains schema settings
func ReadWhisperSchemas ¶
func ReadWhisperSchemas(filename string) (WhisperSchemas, error)
ReadWhisperSchemas reads and parses a storage-schemas.conf file and returns a sorted schemas structure see https://graphite.readthedocs.io/en/0.9.9/config-carbon.html#storage-schemas-conf
func (WhisperSchemas) Len ¶ added in v0.7.2
func (s WhisperSchemas) Len() int
func (WhisperSchemas) Less ¶ added in v0.7.2
func (s WhisperSchemas) Less(i, j int) bool
func (WhisperSchemas) Match ¶ added in v0.7.2
func (s WhisperSchemas) Match(metric string) (Schema, bool)
Match finds the schema for metric or returns false if none found
func (WhisperSchemas) Swap ¶ added in v0.7.2
func (s WhisperSchemas) Swap(i, j int)