monitoring

package
v0.0.0-...-270d295 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientMon

type ClientMon struct {
	ServiceBase
}

type MethodMon

type MethodMon struct {
	Name         string
	RequestType  ecal.DataType
	ResponseType ecal.DataType
	CallCount    int64
}

type MonitorEntity

type MonitorEntity uint

type Monitoring

type Monitoring struct {
	Publishers  []TopicMon
	Subscribers []TopicMon
	Processes   []ProcessMon
	Clients     []ClientMon
	Servers     []ServerMon
}

func GetMonitoring

func GetMonitoring(entities MonitorEntity) Monitoring

type ProcessMon

type ProcessMon struct {
	RegistrationClock  int32 // registration heart beat
	HostName           string
	ShmDomain          string
	Pid                int32
	ProcessName        string
	UnitName           string
	ProcessParameters  string // Command line args
	StateSeverity      ecal.ProcessSeverity
	StateSeverityLevel ecal.ProcessSeverityLevel
	StateInfo          string
	// TODO: Time sync?
	ComponentsInitialized string
	RuntimeVersion        string // eCAL Version in use
}

type ServerMon

type ServerMon struct {
	ServiceBase

	PortV0 uint32 // TCP Port for V0 protocol
	PortV1 uint32 // TCP Port for V1 protocol
}

type ServiceBase

type ServiceBase struct {
	Name              string
	ID                uint64
	Methods           []MethodMon
	RegistrationClock int32 // registration heart beat
	HostName          string
	Process           string
	Unit              string
	Pid               int32
	ProtocolVersion   uint32
}

type TopicMon

type TopicMon struct {
	RegistrationClock int32 // registration heart beat
	HostName          string
	// host_group         string
	// pid                int32
	// process_name       string
	UnitName  string
	TopicID   uint64
	TopicName string
	Direction string
	Datatype  ecal.DataType
	// TODO: transport layer
	TopicSize           int32 // Size of messages (bytes)
	ConnectionsLocal    int32
	ConnectionsExternal int32
	MessageDrops        int32
	// data_id              int64
	DataClock int64
	DataFreq  int32 // mHz

}