metrics

package
v0.0.0-...-73e0568 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2022 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package metrics is a generated GoMock package.

Package metrics is a generated GoMock package.

Package metrics is a generated GoMock package.

Index

Constants

View Source
const (

	// DefaultRetentionDuration specifies 7 days data retention
	DefaultRetentionDuration = int64(7 * 24 * millisInHour)
	// DefaultMaxBytes specifies no block data size limit
	DefaultMaxBytes = int64(0)
)
View Source
const (
	LastWriteFileName       = "metrics-lastwrite"
	DeviceLabel             = "edgedeviceid"
	ServerCAFileNamePattern = "remote-write-ca-*.pem"
)
View Source
const (
	DefaultSystemMetricsScrapingInterval = 60
	NodeExporterMetricsEndpoint          = "http://localhost:9100/metrics"
)
View Source
const (
	DefaultDataTransferMetricsScrapingInterval = 60
)
View Source
const (
	UserAgent = "flotta-device-worker"
)

Variables

This section is empty.

Functions

func NewMetricsDaemon

func NewMetricsDaemon(store API) *metricsDaemon

Types

type API

type API interface {
	io.Closer
	Deregister() error
	GetMetricsForTimeRange(tMin time.Time, tMax time.Time, sort bool) ([]Series, error)
	AddMetric(value float64, labelsMap map[string]string) error
	AddVector(data model.Vector, labelsMap map[string]string) error
	MinTime() (time.Time, error)
	MaxTime() time.Time
	HeadMinTime() time.Time
	Blocks() []Block
}

type Block

type Block struct {
	MinTime time.Time
	MaxTime time.Time
}

type DataPoint

type DataPoint struct {
	Time  int64
	Value float64
}

type DataTransferMetrics

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

func NewDataTransferMetrics

func NewDataTransferMetrics(daemon MetricsDaemon) *DataTransferMetrics

func (*DataTransferMetrics) Deregister

func (dt *DataTransferMetrics) Deregister() error

func (*DataTransferMetrics) Init

func (*DataTransferMetrics) String

func (dt *DataTransferMetrics) String() string

func (*DataTransferMetrics) Update

type HTTPScraper

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

func (*HTTPScraper) Scrape

func (s *HTTPScraper) Scrape(ctx context.Context) (model.Vector, error)

func (*HTTPScraper) String

func (s *HTTPScraper) String() string

type MetricsDaemon

type MetricsDaemon interface {
	Start()
	AddTarget(targetName string, scrapers Scrapers, interval time.Duration, allowList SampleFilter)
	DeleteTarget(targetName string)
}

type MockAPI

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

MockAPI is a mock of API interface.

func NewMockAPI

func NewMockAPI(ctrl *gomock.Controller) *MockAPI

NewMockAPI creates a new mock instance.

func (*MockAPI) AddMetric

func (m *MockAPI) AddMetric(arg0 float64, arg1 map[string]string) error

AddMetric mocks base method.

func (*MockAPI) AddVector

func (m *MockAPI) AddVector(arg0 model.Vector, arg1 map[string]string) error

AddVector mocks base method.

func (*MockAPI) Blocks

func (m *MockAPI) Blocks() []Block

Blocks mocks base method.

func (*MockAPI) Close

func (m *MockAPI) Close() error

Close mocks base method.

func (*MockAPI) Deregister

func (m *MockAPI) Deregister() error

Deregister mocks base method.

func (*MockAPI) EXPECT

func (m *MockAPI) EXPECT() *MockAPIMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAPI) GetMetricsForTimeRange

func (m *MockAPI) GetMetricsForTimeRange(arg0, arg1 time.Time, arg2 bool) ([]Series, error)

GetMetricsForTimeRange mocks base method.

func (*MockAPI) HeadMinTime

func (m *MockAPI) HeadMinTime() time.Time

HeadMinTime mocks base method.

func (*MockAPI) MaxTime

func (m *MockAPI) MaxTime() time.Time

MaxTime mocks base method.

func (*MockAPI) MinTime

func (m *MockAPI) MinTime() (time.Time, error)

MinTime mocks base method.

type MockAPIMockRecorder

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

MockAPIMockRecorder is the mock recorder for MockAPI.

func (*MockAPIMockRecorder) AddMetric

func (mr *MockAPIMockRecorder) AddMetric(arg0, arg1 interface{}) *gomock.Call

AddMetric indicates an expected call of AddMetric.

func (*MockAPIMockRecorder) AddVector

func (mr *MockAPIMockRecorder) AddVector(arg0, arg1 interface{}) *gomock.Call

AddVector indicates an expected call of AddVector.

func (*MockAPIMockRecorder) Blocks

func (mr *MockAPIMockRecorder) Blocks() *gomock.Call

Blocks indicates an expected call of Blocks.

func (*MockAPIMockRecorder) Close

func (mr *MockAPIMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockAPIMockRecorder) Deregister

func (mr *MockAPIMockRecorder) Deregister() *gomock.Call

Deregister indicates an expected call of Deregister.

func (*MockAPIMockRecorder) GetMetricsForTimeRange

func (mr *MockAPIMockRecorder) GetMetricsForTimeRange(arg0, arg1, arg2 interface{}) *gomock.Call

GetMetricsForTimeRange indicates an expected call of GetMetricsForTimeRange.

func (*MockAPIMockRecorder) HeadMinTime

func (mr *MockAPIMockRecorder) HeadMinTime() *gomock.Call

HeadMinTime indicates an expected call of HeadMinTime.

func (*MockAPIMockRecorder) MaxTime

func (mr *MockAPIMockRecorder) MaxTime() *gomock.Call

MaxTime indicates an expected call of MaxTime.

func (*MockAPIMockRecorder) MinTime

func (mr *MockAPIMockRecorder) MinTime() *gomock.Call

MinTime indicates an expected call of MinTime.

type MockMetricsDaemon

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

MockMetricsDaemon is a mock of MetricsDaemon interface.

func NewMockMetricsDaemon

func NewMockMetricsDaemon(ctrl *gomock.Controller) *MockMetricsDaemon

NewMockMetricsDaemon creates a new mock instance.

func (*MockMetricsDaemon) AddTarget

func (m *MockMetricsDaemon) AddTarget(arg0 string, arg1 Scrapers, arg2 time.Duration, arg3 SampleFilter)

AddTarget mocks base method.

func (*MockMetricsDaemon) DeleteTarget

func (m *MockMetricsDaemon) DeleteTarget(arg0 string)

DeleteTarget mocks base method.

func (*MockMetricsDaemon) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockMetricsDaemon) Start

func (m *MockMetricsDaemon) Start()

Start mocks base method.

type MockMetricsDaemonMockRecorder

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

MockMetricsDaemonMockRecorder is the mock recorder for MockMetricsDaemon.

func (*MockMetricsDaemonMockRecorder) AddTarget

func (mr *MockMetricsDaemonMockRecorder) AddTarget(arg0, arg1, arg2, arg3 interface{}) *gomock.Call

AddTarget indicates an expected call of AddTarget.

func (*MockMetricsDaemonMockRecorder) DeleteTarget

func (mr *MockMetricsDaemonMockRecorder) DeleteTarget(arg0 interface{}) *gomock.Call

DeleteTarget indicates an expected call of DeleteTarget.

func (*MockMetricsDaemonMockRecorder) Start

Start indicates an expected call of Start.

type MockWriteClient

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

MockWriteClient is a mock of WriteClient interface.

func NewMockWriteClient

func NewMockWriteClient(ctrl *gomock.Controller) *MockWriteClient

NewMockWriteClient creates a new mock instance.

func (*MockWriteClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockWriteClient) Write

func (m *MockWriteClient) Write(arg0 context.Context, arg1 []byte) error

Write mocks base method.

type MockWriteClientMockRecorder

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

MockWriteClientMockRecorder is the mock recorder for MockWriteClient.

func (*MockWriteClientMockRecorder) Write

func (mr *MockWriteClientMockRecorder) Write(arg0, arg1 interface{}) *gomock.Call

Write indicates an expected call of Write.

type ObjectScraper

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

func (*ObjectScraper) Scrape

func (o *ObjectScraper) Scrape(_ context.Context) (model.Vector, error)

func (*ObjectScraper) String

func (o *ObjectScraper) String() string

type PermissiveAllowList

type PermissiveAllowList struct{}

func (*PermissiveAllowList) Filter

func (f *PermissiveAllowList) Filter(samples model.Vector) model.Vector

type RemoteRecoverableError

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

RemoteRecoverableError 'remote.RecoverableError' fields are private and can't be instantiated during testing. Therefore, we use this wrapper

func (RemoteRecoverableError) Error

func (e RemoteRecoverableError) Error() string

type RemoteWrite

type RemoteWrite struct {
	Config *models.MetricsReceiverConfiguration

	LastWrite time.Time

	WaitInterval         time.Duration
	RangeDuration        time.Duration
	RequestRetryInterval time.Duration
	// contains filtered or unexported fields
}

func NewRemoteWrite

func NewRemoteWrite(dataDir, deviceID string, tsdbInstance API) *RemoteWrite

func (*RemoteWrite) Init

func (*RemoteWrite) IsEnabled

func (r *RemoteWrite) IsEnabled() bool

func (*RemoteWrite) IsRunning

func (r *RemoteWrite) IsRunning() bool

func (*RemoteWrite) Update

func (*RemoteWrite) Write

func (r *RemoteWrite) Write(client WriteClient, requestNumSamples int)

write Writes all the metrics. Stops when either no more metrics or failure (after retries)

type RestrictiveAllowList

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

func (*RestrictiveAllowList) Filter

func (f *RestrictiveAllowList) Filter(samples model.Vector) model.Vector

type SampleFilter

type SampleFilter interface {
	Filter(samples model.Vector) model.Vector
}

func DefaultDataTransferAllowList

func DefaultDataTransferAllowList() SampleFilter

func DefaultSystemAllowList

func DefaultSystemAllowList() SampleFilter

func NewRestrictiveAllowList

func NewRestrictiveAllowList(list *models.MetricsAllowList) SampleFilter

type Scraper

type Scraper interface {
	Scrape(ctx context.Context) (model.Vector, error)
}

func NewHTTPScraper

func NewHTTPScraper(url string) (Scraper, error)

func NewObjectScraper

func NewObjectScraper(gather prometheus.Gatherer) Scraper

type Scrapers

type Scrapers []Scraper

func CreateHTTPScraper

func CreateHTTPScraper(urls []string) Scrapers

func CreateObjectScraper

func CreateObjectScraper(gather prometheus.Gatherer) Scrapers

type Series

type Series struct {
	Labels     map[string]string
	DataPoints []DataPoint
}

type SystemMetrics

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

func NewSystemMetrics

func NewSystemMetrics(daemon MetricsDaemon) (*SystemMetrics, error)

func NewSystemMetricsWithNodeExporter

func NewSystemMetricsWithNodeExporter(daemon MetricsDaemon, nodeExporter service.Service) *SystemMetrics

func (*SystemMetrics) Deregister

func (sm *SystemMetrics) Deregister() error

func (*SystemMetrics) Init

func (*SystemMetrics) String

func (sm *SystemMetrics) String() string

func (*SystemMetrics) Update

type TSDB

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

func NewTSDB

func NewTSDB(dataDir string) (*TSDB, error)

func (*TSDB) AddMetric

func (t *TSDB) AddMetric(value float64, labelsMap map[string]string) error

func (*TSDB) AddVector

func (t *TSDB) AddVector(data model.Vector, labelsMap map[string]string) error

func (*TSDB) Blocks

func (t *TSDB) Blocks() []Block

Blocks

func (*TSDB) Close

func (t *TSDB) Close() error

func (*TSDB) Deregister

func (t *TSDB) Deregister() error

func (*TSDB) GetMetricsForTimeRange

func (t *TSDB) GetMetricsForTimeRange(tMin time.Time, tMax time.Time, sort bool) ([]Series, error)

func (*TSDB) HeadMinTime

func (t *TSDB) HeadMinTime() time.Time

HeadMinTime

func (*TSDB) Init

func (t *TSDB) Init(config models.DeviceConfigurationMessage) error

func (*TSDB) MaxTime

func (t *TSDB) MaxTime() time.Time

func (*TSDB) MinTime

func (t *TSDB) MinTime() (time.Time, error)

func (*TSDB) String

func (t *TSDB) String() string

func (*TSDB) Update

func (t *TSDB) Update(config models.DeviceConfigurationMessage) error

type TargetMetric

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

func NewTargetMetric

func NewTargetMetric(targetName string, interval time.Duration, scrapers Scrapers, store API, allowList SampleFilter) *TargetMetric

func (*TargetMetric) ForceEvent

func (tg *TargetMetric) ForceEvent()

func (*TargetMetric) IsStopped

func (tg *TargetMetric) IsStopped() bool

func (*TargetMetric) LatestSuccessRun

func (tg *TargetMetric) LatestSuccessRun() time.Time

func (*TargetMetric) Run

func (tg *TargetMetric) Run(ctx context.Context) model.Vector

func (*TargetMetric) Start

func (tg *TargetMetric) Start()

func (*TargetMetric) Stop

func (tg *TargetMetric) Stop()

func (*TargetMetric) Store

func (tg *TargetMetric) Store(data model.Vector, labels map[string]string) error

Store given data to the TSDB

type WorkloadMetrics

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

func NewWorkloadMetrics

func NewWorkloadMetrics(daemon MetricsDaemon) *WorkloadMetrics

func (*WorkloadMetrics) Init

func (*WorkloadMetrics) Update

func (*WorkloadMetrics) WorkloadRemoved

func (wrkM *WorkloadMetrics) WorkloadRemoved(workloadName string)

func (*WorkloadMetrics) WorkloadStarted

func (wrkM *WorkloadMetrics) WorkloadStarted(workloadName string, report []*podman.PodReport)

type WriteClient

type WriteClient interface {
	Write(context.Context, []byte) error
}

WriteClient an interface used for testing

Jump to

Keyboard shortcuts

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