metric

package
v0.0.0-...-a65319e Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricReached = "REACHED"
	MetricActive  = "ACTIVE"
	MetricError   = "ERROR"
	MetricUpdated = "UPDATED"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Main

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

func (Main) CountMetrics

func (main Main) CountMetrics(metrics []Metric) (int, int, int)

func (Main) FindAllByGroup

func (main Main) FindAllByGroup(metricGroupID string) ([]Metric, errors.Error)

func (Main) FindAllMetricExecutions

func (main Main) FindAllMetricExecutions() ([]MetricExecution, errors.Error)

func (Main) FindMetricByID

func (main Main) FindMetricByID(id string) (Metric, errors.Error)

func (Main) ParseMetric

func (main Main) ParseMetric(metric io.ReadCloser) (Metric, errors.Error)

func (Main) Query

func (main Main) Query(metric Metric, period, interval datasource.Period) (interface{}, errors.Error)

func (Main) RemoveMetric

func (main Main) RemoveMetric(id string) errors.Error

func (Main) ResultQuery

func (main Main) ResultQuery(metric Metric) (float64, errors.Error)

func (Main) SaveMetric

func (main Main) SaveMetric(metric Metric) (Metric, errors.Error)

func (Main) UpdateMetric

func (main Main) UpdateMetric(metric Metric) (Metric, errors.Error)

func (Main) UpdateMetricExecution

func (main Main) UpdateMetricExecution(metricExecution MetricExecution) (MetricExecution, errors.Error)

func (Main) Validate

func (main Main) Validate(metric Metric) errors.ErrorList

func (Main) ValidateIfExecutionReached

func (main Main) ValidateIfExecutionReached(metricExecution MetricExecution) bool

type Metric

type Metric struct {
	util.BaseModel
	MetricsGroupID  uuid.UUID                 `json:"metricGroupId"`
	DataSourceID    uuid.UUID                 `json:"dataSourceId"`
	Nickname        string                    `json:"nickname"`
	Query           string                    `json:"query"`
	Metric          string                    `json:"metric"`
	Filters         []datasource.MetricFilter `json:"filters"`
	GroupBy         []MetricGroupBy           `json:"groupBy"`
	Condition       string                    `json:"condition"`
	Threshold       float64                   `json:"threshold"`
	CircleID        uuid.UUID                 `json:"circleId"`
	MetricExecution MetricExecution           `json:"execution"`
}

type MetricExecution

type MetricExecution struct {
	util.BaseModel `json:"-"`
	MetricID       uuid.UUID `json:"-"`
	LastValue      float64   `json:"lastValue"`
	Status         string    `json:"status"`
}

type MetricGroupBy

type MetricGroupBy struct {
	util.BaseModel
	MetricID uuid.UUID `json:"-"`
	Field    string    `json:"field"`
}

type UseCases

type UseCases interface {
	ParseMetric(metric io.ReadCloser) (Metric, errors.Error)
	CountMetrics(metrics []Metric) (int, int, int)
	FindMetricByID(id string) (Metric, errors.Error)
	SaveMetric(metric Metric) (Metric, errors.Error)
	UpdateMetric(metric Metric) (Metric, errors.Error)
	RemoveMetric(id string) errors.Error
	Query(metric Metric, period, interval datasourcePKG.Period) (interface{}, errors.Error)
	ResultQuery(metric Metric) (float64, errors.Error)
	UpdateMetricExecution(metricExecution MetricExecution) (MetricExecution, errors.Error)
	FindAllMetricExecutions() ([]MetricExecution, errors.Error)
	Validate(metric Metric) errors.ErrorList
	ValidateIfExecutionReached(metric MetricExecution) bool
	FindAllByGroup(metricGroupID string) ([]Metric, errors.Error)
}

func NewMain

func NewMain(
	db *gorm.DB, datasourceMain datasource.UseCases, pluginMain plugin.UseCases,
) UseCases

Jump to

Keyboard shortcuts

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