statistic

package
v0.14.2 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AutoHandle   handle = "auto"
	YearHandle   handle = "year"
	MonthHandle  handle = "month"
	DayHandle    handle = "day"
	HourHandle   handle = "hour"
	MinuteHandle handle = "minute"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type EventName

type EventName string

Название события

type HandleData

type HandleData struct {
	Timestamp time.Time     `bson:"_id"`   // Идентификатор для свечки
	Count     int           `bson:"count"` // Кол-во документов в свече
	Documents []SystemEvent `bson:"doc"`   // Документы которые вошли в свечу
}

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

type Statistic

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

func New

func New(collection string, database *mongodata.MongoDB) *Statistic

func (*Statistic) Get

func (s *Statistic) Get(ctx context.Context, name EventName, start, end time.Time, h handle, doc bool, filter *bson.D) ([]HandleData, error)

Построение статистики

Параметры: name - название события start, end - период для выборки h - выбор типа свечи для отображения событий doc - параметр отвечает за необходимость возврата документов событий в группе filter - указатель на шаг фильтрации документов

func (*Statistic) Many

func (s *Statistic) Many(ctx context.Context, count int, builder func(i int) (owner primitive.ObjectID, event EventName, data map[string]interface{})) error

Метод для сохранения ряда событий в коллекцию

func (*Statistic) Send

func (s *Statistic) Send(ctx context.Context, owner primitive.ObjectID, event EventName, data map[string]interface{}) error

Метод для сохранения одного события в коллекцию

type SystemEvent

type SystemEvent struct {
	ID        primitive.ObjectID     `bson:"_id"`       // Идентификатор события
	Owner     primitive.ObjectID     `bson:"owner"`     // Владелец события (может быть NilObjectID)
	Name      EventName              `bson:"name"`      // Название события
	Timestamp time.Time              `bson:"timestamp"` // Временная метка
	Data      map[string]interface{} `bson:"data"`      // Сопутствующая информация
}

Jump to

Keyboard shortcuts

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