Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
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"`
}
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().