metrics

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2022 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const MaxQueueSize = 256 // TODO 可以配置,可以在单个任务里配置

Variables

View Source
var SharedManager = NewManager()

Functions

func SumStat

func SumStat(serverId int64, keys []string, time string, version int32, itemId int64) string

Types

type Manager

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

func NewManager

func NewManager() *Manager

func (*Manager) Add

func (this *Manager) Add(obj MetricInterface)

Add 添加数据

func (*Manager) HasHTTPMetrics

func (this *Manager) HasHTTPMetrics() bool

func (*Manager) HasTCPMetrics

func (this *Manager) HasTCPMetrics() bool

func (*Manager) HasUDPMetrics

func (this *Manager) HasUDPMetrics() bool

func (*Manager) Update

func (this *Manager) Update(items []*serverconfigs.MetricItemConfig)

type MetricInterface

type MetricInterface interface {
	// MetricKey 指标对象
	MetricKey(key string) string

	// MetricValue 指标值
	MetricValue(value string) (result int64, ok bool)

	// MetricServerId 服务ID
	MetricServerId() int64

	// MetricCategory 指标分类
	MetricCategory() string
}

type Stat

type Stat struct {
	ServerId int64
	Keys     []string
	Hash     string
	Value    int64
	Time     string
}

type Task

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

Task 单个指标任务 数据库存储:

data/
   metric.$ID.db
      stats
         id, keys, value, time, serverId, hash
原理:
   添加或者有变更时 isUploaded = false
   上传时检查 isUploaded 状态
   只上传每个服务中排序最前面的 N 个数据

func NewTask

func NewTask(item *serverconfigs.MetricItemConfig) *Task

NewTask 获取新任务

func (*Task) Add

func (this *Task) Add(obj MetricInterface)

Add 添加数据

func (*Task) CleanExpired

func (this *Task) CleanExpired() error

CleanExpired 清理数据

func (*Task) Init

func (this *Task) Init() error

Init 初始化

func (*Task) InsertStat

func (this *Task) InsertStat(stat *Stat) error

InsertStat 写入数据

func (*Task) Start

func (this *Task) Start() error

Start 启动任务

func (*Task) Stop

func (this *Task) Stop() error

Stop 停止任务

func (*Task) Upload

func (this *Task) Upload(pauseDuration time.Duration) error

Upload 上传数据

Jump to

Keyboard shortcuts

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