sysmon

package
v0.0.0-...-af869ec Latest Latest
Warning

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

Go to latest
Published: May 17, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceRun   = 1 // ServiceRun сервис работает.
	ServiceStop  = 2 // ServiceStop сервис остановлен.
	ServiceError = 3 // ServiceError сервис в ошибке.
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Collector

type Collector interface {
	Start(ctx context.Context) error
	GetStats(m int) StatisticsData
	GetStatusServices() StatusServices
}

Collector интерфейсы.

type Collectors

type Collectors struct {
	LoadAvg DataRequestFunc
	CPU     DataRequestFunc
}

Collectors - набор функций, возвращающих свои метрики. Передается для настройки сборщика.

type DataRequestFunc

type DataRequestFunc func() ([]float64, error)

DataRequestFunc чтение данных метрики.

type DataStore

type DataStore struct {
	Mu          *sync.Mutex
	Stats       [][]float64     // Stats - слайс для хранения статистики.
	BufSize     int             // BufSize - максимальная глубина данных.
	Index       int             // Index - текущая позиция для новых значений.
	Counter     int             // Counter - кол-во собранных данных.
	StatusCode  int             // StatusCode - сервис: true (запущен), false (остановлен), 3 (остановлен с ошибкой).
	Total       int             // Total - кол-во считываемых значений метрики.
	FuncDataReq DataRequestFunc // FuncDataReq - функция, читающая определенную метрику системы.
}

DataStore хранилище статистики системы.

type Logger

type Logger interface {
	Info(msg string)
	Warn(msg string)
	Error(msg string)
	Debug(msg, pkg string)
}

Logger интерфейсы.

type OutputData

type OutputData struct {
	Data       []string // Data - усредненные данные за заданный интервал времени.
	Counter    int      // Counter - кол-во собранных данных (максимум = BufSize).
	StatusCode int      // StatusCode - 1 (запущен), 2 (остановлен), 3 (остановлен с ошибкой).
}

OutputData структура данных по сервису для клиента.

type Server

type Server interface {
	Start(ctx context.Context, addr string) error
	Stop(ctx context.Context) error
}

Server gRPC интерфейсы.

type StatisticsData

type StatisticsData struct {
	La  OutputData // La - load average.
	CPU OutputData // CPU - cpu average.
}

StatisticsData подготовленные данные для отправки клиенту.

type Status

type Status struct {
	Counter    int // Counter - кол-во собранных данных (максимум = BufSize).
	StatusCode int // StatusCode - 1 (запущен), 2 (остановлен), 3 (остановлен с ошибкой).
}

Status структура состояний сервиса.

type StatusServices

type StatusServices struct {
	La  Status // La состояние сервиса load average.
	CPU Status // CPU состояние сервиса CPU average.
}

StatusServices текущие состояния сервисов.

Jump to

Keyboard shortcuts

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