teomon

package module
v0.5.14 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2022 License: BSD-3-Clause Imports: 13 Imported by: 9

README

Teonet v5 monitor client package

GoDoc Go Report Card

License

BSD

Documentation

Overview

Teonet v5 monitoring client package

Index

Constants

View Source
const (
	CmdMetric    byte = 130
	CmdParameter byte = 131
)

Comand constant

View Source
const (
	ParamOnline    = "online"
	ParamPeers     = "peers"
	ParamHost      = "host"
	ParamMachineID = "machineid"
	MayOffline     = "mayoffline"
)

Param constant

Variables

This section is empty.

Functions

This section is empty.

Types

type Metric

type Metric struct {
	Address      string
	AppName      string
	AppShort     string
	AppVersion   string
	TeoVersion   string
	AppStartTime time.Time
	New          bool
	Params       *Parameters
	bslice.ByteSlice
}

Metric contain metric struct and methods receiver

func NewMetric

func NewMetric() (m *Metric)

NewMetric create new metric object

func (Metric) MarshalBinary

func (m Metric) MarshalBinary() (data []byte, err error)

MarshalBinary binary marshal Metric struct

func (*Metric) NewParams

func (m *Metric) NewParams()

NewParams create new params object

func (*Metric) UnmarshalBinary

func (m *Metric) UnmarshalBinary(data []byte) (err error)

UnmarshalBinary binary unmarshal Metric struct

type Monitor

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

Teonet monitor struct

func Connect

func Connect(teo TeonetInterface, address string, m Metric, t ...TeonetInterface) (mon *Monitor)

Connect to monitor peer and send metric

func (Monitor) SendParam

func (mon Monitor) SendParam(name string, value interface{})

SendParam send parameter to monitor

type Parameter

type Parameter struct {
	Name  string
	Value interface{}
	bslice.ByteSlice
}

Parameter struct and methods receiver

func NewParameter

func NewParameter() (p *Parameter)

NewParameter create new parameter

func (Parameter) MarshalBinary

func (p Parameter) MarshalBinary() (data []byte, err error)

MarshalBinary binary marshal Parameter struct

func (*Parameter) UnmarshalBinary

func (p *Parameter) UnmarshalBinary(data []byte) (err error)

UnmarshalBinary binary unmarshal Parameter struct

type Parameters

type Parameters struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Parameters is metric parameters struct and methods receiver

func (*Parameters) Add

func (p *Parameters) Add(name string, val interface{})

add or update parameter

func (*Parameters) Each

func (p *Parameters) Each(f func(name string, value interface{}))

Each execute callback for each Parameter

func (*Parameters) Get

func (p *Parameters) Get(name string) (val interface{}, ok bool)

get parameter

type Peers

type Peers struct {
	*sync.RWMutex
	// contains filtered or unexported fields
}

Peers struct and methods receiver

func NewPeers

func NewPeers() (p *Peers)

NewPeers create new Peers struct

func (*Peers) Add

func (p *Peers) Add(metric *Metric)

Add or Update metric

func (*Peers) Del

func (p *Peers) Del(address string) (m *Metric, ok bool)

Del peer by address

func (*Peers) Each

func (p *Peers) Each(f func(m *Metric))

Each execute callback for each Metric

func (*Peers) Get

func (p *Peers) Get(address string) (m *Metric, ok bool)

Get peer metric by address

func (Peers) Json

func (p Peers) Json() (data []byte, err error)

Json return string which contain Peers in json format

func (*Peers) Load

func (p *Peers) Load(file string) (err error)

Load peers from file

func (*Peers) MarshalBinary

func (p *Peers) MarshalBinary() (data []byte, err error)

MarshalBinary binary marshal Peers struct

func (*Peers) Save

func (p *Peers) Save(file string) (err error)

Save peers to file

func (Peers) String

func (p Peers) String() (str string)

String return string which contain Peers table

func (*Peers) UnmarshalBinary

func (p *Peers) UnmarshalBinary(data []byte) (err error)

UnmarshalBinary binary unmarshal Peers struct

type TeonetInterface

type TeonetInterface interface {
	WhenConnectedDisconnected(f func(e byte))
	WhenConnectedTo(address string, f func())
	ConnectTo(address string, attr ...interface{}) error
	SendTo(address string, data []byte, attr ...interface{}) (int, error)
	Address() string
	NumPeers() int
}

TeonetInterface define teonet functions used in teomon

Jump to

Keyboard shortcuts

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