Documentation
¶
Index ¶
- func FromTreeToDictKey(k string) string
- func ParseTreeKey(k string) (time.Time, int, error)
- func TreeKey(k string, depth int, unixTime int64) string
- type Addon
- type Key
- func (k *Key) Add(key, value string)
- func (k *Key) AppName() string
- func (k *Key) DictKey() string
- func (k *Key) Labels() map[string]string
- func (k *Key) Match(q *flameql.Query) bool
- func (k *Key) Normalized() string
- func (k *Key) SegmentKey() string
- func (k *Key) TreeKey(depth int, t time.Time) string
- type ParserState
- type RetentionPolicy
- type Segment
- func (s *Segment) AggregationType() string
- func (s *Segment) Bytes() ([]byte, error)
- func (s *Segment) DeleteNodesBefore(t *RetentionPolicy) (bool, error)
- func (s *Segment) Get(st, et time.Time, ...)
- func (s *Segment) Put(st, et time.Time, samples uint64, ...) error
- func (s *Segment) SampleRate() uint32
- func (s *Segment) Serialize(w io.Writer) error
- func (s *Segment) SetMetadata(spyName string, sampleRate uint32, units, aggregationType string)
- func (s *Segment) SpyName() string
- func (s *Segment) StartTime() time.Time
- func (s *Segment) Units() string
- func (s *Segment) Visualize()
- func (s *Segment) WalkNodesToDelete(t *RetentionPolicy, cb func(depth int, t time.Time) error) (bool, error)
- type Timeline
- type TmpltVars
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromTreeToDictKey ¶ added in v0.0.37
FromTreeToDictKey returns app name from tree key k: given tree key "foo{}:0:1234567890", the call returns "foo".
Before tags support, segment key form (i.e. app name + tags: foo{key=value}) has been used to reference a dictionary (trie).
func ParseTreeKey ¶ added in v0.2.5
ParseTreeKey retrieves tree time and depth level from the given key.
Types ¶
type Key ¶ added in v0.0.37
type Key struct {
// contains filtered or unexported fields
}
func (*Key) Normalized ¶ added in v0.0.37
func (*Key) SegmentKey ¶ added in v0.0.37
type ParserState ¶ added in v0.0.37
type ParserState int
type RetentionPolicy ¶ added in v0.2.5
type RetentionPolicy struct {
AbsoluteTime time.Time
Levels map[int]time.Time
// contains filtered or unexported fields
}
func NewRetentionPolicy ¶ added in v0.2.5
func NewRetentionPolicy() *RetentionPolicy
func (RetentionPolicy) LowerTimeBoundary ¶ added in v0.2.5
func (r RetentionPolicy) LowerTimeBoundary() time.Time
func (*RetentionPolicy) SetAbsolutePeriod ¶ added in v0.2.5
func (r *RetentionPolicy) SetAbsolutePeriod(period time.Duration) *RetentionPolicy
func (*RetentionPolicy) SetLevelPeriod ¶ added in v0.2.5
func (r *RetentionPolicy) SetLevelPeriod(level int, period time.Duration) *RetentionPolicy
type Segment ¶
type Segment struct {
// contains filtered or unexported fields
}
func (*Segment) AggregationType ¶ added in v0.0.30
func (*Segment) DeleteNodesBefore ¶ added in v0.2.5
func (s *Segment) DeleteNodesBefore(t *RetentionPolicy) (bool, error)
func (*Segment) Get ¶
func (s *Segment) Get(st, et time.Time, cb func(depth int, samples, writes uint64, t time.Time, r *big.Rat))
TODO: simplify arguments TODO: validate st < et
func (*Segment) Put ¶
func (s *Segment) Put(st, et time.Time, samples uint64, cb func(depth int, t time.Time, r *big.Rat, addons []Addon)) error
TODO: simplify arguments TODO: validate st < et
func (*Segment) SampleRate ¶
func (*Segment) SetMetadata ¶
TODO: this should be refactored
func (*Segment) WalkNodesToDelete ¶ added in v0.2.5
type Timeline ¶
type Timeline struct {
StartTime int64 `json:"startTime"`
Samples []uint64 `json:"samples"`
DurationDeltaNormalized int64 `json:"durationDelta"`
// Watermarks map contains down-sampling watermarks (Unix timestamps)
// describing resolution levels of the timeline.
//
// Resolution in seconds is calculated as 10^k, where k a the map key.
// Meaning that any range within these 10^k seconds contains not more
// than one sample. Any sub-range less than 10^k shows down-sampled data.
//
// Given the map:
// 1: 1635508310
// 2: 1635507500
// 3: 1635506200
//
// This should be read as follows:
// 1. Data after 1635508310 is as precise as possible (10s resolution),
// down-sampling was not applied.
// 2. Data before 1635508310 has resolution 100s
// 3. Data before 1635507500 has resolution 1000s
// 4. Data before 1635506200 has resolution 10000s
Watermarks map[int]int64 `json:"watermarks"`
// contains filtered or unexported fields
}
func GenerateTimeline ¶
func (*Timeline) PopulateTimeline ¶
Click to show internal directories.
Click to hide internal directories.