persister

package
v2.0.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2020 License: GPL-3.0 Imports: 15 Imported by: 1

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseRetentionDefs

func ParseRetentionDefs(retentionDefs string) (whisper.Retentions, error)

ParseRetentionDefs parses retention definitions into a Retentions structure

Types

type Schema

type Schema struct {
	Name         string
	Pattern      *regexp.Regexp
	RetentionStr string
	Retentions   whisper.Retentions
	Priority     int64
}

Schema represents one schema setting

type StoreFunc

type StoreFunc func(p *Whisper, values *points.Points)

type ThrottleTicker

type ThrottleTicker struct {
	helper.Stoppable
	C chan bool
}

func NewThrottleTicker

func NewThrottleTicker(ratePerSec int) *ThrottleTicker

type Whisper

type Whisper struct {
	helper.Stoppable
	// contains filtered or unexported fields
}

Whisper write data to *.wsp files

func NewWhisper

func NewWhisper(
	rootPath string,
	schemas WhisperSchemas,
	aggregation *WhisperAggregation,
	recv func(chan bool) *points.Points,
	confirm func(*points.Points)) *Whisper

NewWhisper create instance of Whisper

func (*Whisper) GetMaxUpdatesPerSecond

func (p *Whisper) GetMaxUpdatesPerSecond() int

GetMaxUpdatesPerSecond returns current throttling speed

func (*Whisper) SetMaxUpdatesPerSecond

func (p *Whisper) SetMaxUpdatesPerSecond(maxUpdatesPerSecond int)

SetMaxUpdatesPerSecond enable throttling

func (*Whisper) SetMockStore

func (p *Whisper) SetMockStore(fn func() (StoreFunc, func()))

func (*Whisper) SetSparse

func (p *Whisper) SetSparse(sparse bool)

SetSparse creation

func (*Whisper) SetWorkers

func (p *Whisper) SetWorkers(count int)

SetWorkers count

func (*Whisper) Start

func (p *Whisper) Start() error

Start worker

func (*Whisper) Stat

func (p *Whisper) Stat(send helper.StatCallback)

Stat callback

func (*Whisper) Stop

func (p *Whisper) Stop()

type WhisperAggregation

type WhisperAggregation struct {
	Data    []*whisperAggregationItem
	Default *whisperAggregationItem
}

WhisperAggregation ...

func NewWhisperAggregation

func NewWhisperAggregation() *WhisperAggregation

NewWhisperAggregation create instance of WhisperAggregation

func ReadWhisperAggregation

func ReadWhisperAggregation(file string) (*WhisperAggregation, error)

ReadWhisperAggregation ...

type WhisperSchemas

type WhisperSchemas []Schema

WhisperSchemas contains schema settings

func ReadWhisperSchemas

func ReadWhisperSchemas(file 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

func (s WhisperSchemas) Len() int

func (WhisperSchemas) Less

func (s WhisperSchemas) Less(i, j int) bool

func (WhisperSchemas) Match

func (s WhisperSchemas) Match(metric string) (Schema, bool)

Match finds the schema for metric or returns false if none found

func (WhisperSchemas) Swap

func (s WhisperSchemas) Swap(i, j int)

Jump to

Keyboard shortcuts

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