agent_models

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2022 License: AGPL-3.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AgentConfig

type AgentConfig struct {
	PingTargets      []string `json:"ping_targets"bson:"ping_targets"`
	TraceTargets     []string `json:"trace_targets"bson:"trace_targets"`
	PingInterval     int      `json:"ping_interval"bson:"ping_interval"` // seconds
	SpeedTestPending bool     `json:"speedtest_pending"bson:"speedtest_pending"`
	AgentMaster      bool     `json:"agent_master"bson:"agent_master"default:"false"`
	AgentTargets     []string `json:"master_agent_targets"`
	MasterPort       int      `json:"master_port"bson:"master_port"`
	TraceInterval    int      `json:"trace_interval"bson:"trace_interval"` // minutes
}

type ApiConfigResponse

type ApiConfigResponse struct {
	Response  int         `json:"response"bson:"response"`
	Error     string      `json:"error"bson:"error"`
	Config    AgentConfig `json:"data"bson:"config"`
	NewAgent  bool        `json:"new_agent"bson:"new_agent"`
	AgentHash string      `json:"agent_hash"bson:"agent_hash"`
}

type ApiPushData

type ApiPushData struct {
	Pin       string      `json:"pin"bson:"pin"`
	Hash      string      `json:"hash"bson:"hash"`
	Timestamp time.Time   `json:"timestamp"bson:"timestamp"`
	Data      interface{} `json:"data"bson:"data"`
}

type ApiResponse

type ApiResponse struct {
	Response int    `json:"response"bson:"response"`
	Error    string `json:"error"bson:"error"`
}

type IcmpMetrics added in v1.0.3

type IcmpMetrics struct {
	Avg         string `json:"avg"bson:"avg"`
	Min         string `json:"min"bson:"min"`
	Max         string `json:"max"bson:"max"`
	Sent        int    `json:"sent"bson:"sent"`
	Received    int    `json:"received"bson:"received"`
	Loss        int    `json:"loss"bson:"loss"`
	Percent50   string `json:"percent_50"bson:"percent_50"`
	Percent90   string `json:"percent_90"bson:"percent_90"`
	Percent95   string `json:"percent_95"bson:"percent_95"`
	Percent99   string `json:"percent_99"bson:"percent_99"`
	Percent999  string `json:"percent_999"bson:"percent_999"`
	Percent9999 string `json:"percent_9999"bson:"percent_9999"`
}

type IcmpTarget

type IcmpTarget struct {
	Address string `json:"address"bson:"address"`
	Result  struct {
		StartTimestamp time.Time   `json:"start_timestamp"bson:"start_timestamp"`
		StopTimestamp  time.Time   `json:"stop_timestamp"bson:"stop_timestamp"`
		Metrics        IcmpMetrics `json:"metrics"bson:"metrics"`
	} `json:"result"bson:"result"`
}

type MtrMetrics added in v1.0.3

type MtrMetrics struct {
	Address  string `json:"address"bson:"address"`
	FQDN     string `bson:"fqdn"json:"fqdn"`
	Sent     int    `json:"sent"bson:"sent"`
	Received int    `json:"received"bson:"received"`
	Last     string `bson:"last"json:"last"`
	Avg      string `bson:"avg"json:"avg"`
	Best     string `bson:"best"json:"best"`
	Worst    string `bson:"worst"json:"worst"`
}

type MtrTarget

type MtrTarget struct {
	Address string `json:"address"bson:"address"`
	Result  struct {
		Triggered      bool               `json:"triggered"bson:"triggered"`
		Metrics        map[int]MtrMetrics `json:"metrics"bson:"metrics"`
		StartTimestamp time.Time          `json:"start_timestamp"bson:"start_timestamp"`
		StopTimestamp  time.Time          `json:"stop_timestamp"bson:"stop_timestamp"`
	} `json:"result"bson:"result"`
}

type NetworkInfo

type NetworkInfo struct {
	LocalAddress     string    `json:"local_address"bson:"local_address"`
	DefaultGateway   string    `json:"default_gateway"bson:"default_gateway"`
	PublicAddress    string    `json:"public_address"bson:"public_address"`
	InternetProvider string    `json:"internet_provider"bson:"internet_provider"`
	Lat              string    `json:"lat"bson:"lat"`
	Long             string    `json:"long"bson:"long"`
	Timestamp        time.Time `json:"timestamp"bson:"timestamp"`
}

NetworkInfo network info such as subnet, local network, public ip, and isp, and lat and long

type SpeedTestInfo

type SpeedTestInfo struct {
	Latency   time.Duration `json:"latency"bson:"latency"`
	DLSpeed   float64       `json:"dl_speed"bson:"dl_speed"`
	ULSpeed   float64       `json:"ul_speed"bson:"ul_speed"`
	Server    string        `json:"server"bson:"server"`
	Host      string        `json:"host"bson:"host"`
	Timestamp time.Time     `json:"timestamp"bson:"timestamp"`
}

SpeedTestInfo TODO log how long it took and then timestamp of when it was started and finished

Jump to

Keyboard shortcuts

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