stats

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultStatsDumpFrequencySeconds = 5 // default stats dump interval may be overridden by use of options in constructor below!

Functions

func SetStatsDumpFrequency

func SetStatsDumpFrequency(seconds int) func(t *TransformStatsManager)

SetStatsDumpFrequency returns a function that can be supplied as an option to constructor NewTransformStats().

Types

type MockStatsManager

type MockStatsManager struct{}

func NewMockStatsManager

func NewMockStatsManager() *MockStatsManager

func (*MockStatsManager) AddStepWatcher

func (s *MockStatsManager) AddStepWatcher(stepName string) *StepWatcher

func (*MockStatsManager) StartDumping

func (s *MockStatsManager) StartDumping()

func (*MockStatsManager) StopDumping

func (s *MockStatsManager) StopDumping()

type Stats

type Stats struct {
	StepName           string `json:"stepName"`
	StatusText         string `json:"statusText"`
	StatusEmoji        string `json:"statusEmoji"`
	ElapsedTimeSec     int    `json:"elapsedTimeSec"`
	TotalRowsProcessed int    `json:"totalRowsProcessed"`
	RowsPerSecondAvg   int    `json:"rowsPerSecondAvg"`
	RowsPerSecondDelta int    `json:"rowsPerSecondDelta"`
	OutputBufferLen    int    `json:"outputBufferLen"`
}

func (Stats) String

func (s Stats) String() string

String will format the stats for general logging.

type StatsFetcher

type StatsFetcher interface {
	GetStats() []Stats
}

type StepWatcher

type StepWatcher struct {
	// contains filtered or unexported fields
}

Struct to save stats for a given transform node periodically. The transform node can call StartWatching() and StopWatching()

func NewStepWatcher

func NewStepWatcher(log logger.Logger, stepName string) *StepWatcher

func (*StepWatcher) CalculateStats

func (n *StepWatcher) CalculateStats()

func (*StepWatcher) RenderStats

func (n *StepWatcher) RenderStats() Stats

RenderStats gets a struct filled with stats at the point of time it is called.

func (*StepWatcher) StartWatching

func (n *StepWatcher) StartWatching(rowCountPtr *int64, chanPtr *chan stream.Record)

func (*StepWatcher) StopWatching

func (n *StepWatcher) StopWatching()

type TransformStatsManager

type TransformStatsManager struct {
	// contains filtered or unexported fields
}

TransformStatsManager implements StatsManager interface and is used to save stats from each transform node/step added via calls to AddStepWatcher.

func NewTransformStats

func NewTransformStats(log logger.Logger, options ...func(t *TransformStatsManager)) *TransformStatsManager

Create a new TransformStatsManager struct. Optionally supply func SetStatsDumpFrequency() to override the default stats dump frequency.

func (*TransformStatsManager) AddStepWatcher

func (t *TransformStatsManager) AddStepWatcher(stepName string) *StepWatcher

Create a new StepWatcher and save it into this TransformStatsManager struct. To be used per transform node/step that is created. TODO: make this return an interface and update all components to use the new interface instead.

func (*TransformStatsManager) GetStats

func (t *TransformStatsManager) GetStats() []Stats

GetStats implements interface StatsFetcher{}.

func (*TransformStatsManager) StartDumping

func (t *TransformStatsManager) StartDumping()

func (*TransformStatsManager) StopDumping

func (t *TransformStatsManager) StopDumping()

StopDumping will stop the ticker and dump the current stats, only if the ticker was already running via a call to StartDumping().

Jump to

Keyboard shortcuts

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