Documentation ¶
Overview ¶
Package types implements the types used by the Cluster checks dispatching functionality.
Index ¶
Constants ¶
const ( // ExtraHeartbeatLastChangeValue is used to instruct the Cluster Agent that we're still alive // despite that the polling loop on CLC side is delayed. ExtraHeartbeatLastChangeValue int64 = -1 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CLCRunnerStats ¶
type CLCRunnerStats struct { AverageExecutionTime int `json:"AverageExecutionTime"` MetricSamples int `json:"MetricSamples"` HistogramBuckets int `json:"HistogramBuckets"` Events int `json:"Events"` IsClusterCheck bool `json:"IsClusterCheck"` LastExecFailed bool `json:"LastExecFailed"` }
CLCRunnerStats is used to unmarshall the stats of each CLC Runner
type CLCRunnersStats ¶
type CLCRunnersStats map[string]CLCRunnerStats
CLCRunnersStats is used to unmarshall the CLC Runners stats payload
type ConfigResponse ¶
type ConfigResponse struct { LastChange int64 `json:"last_change"` Configs []integration.Config `json:"configs"` }
ConfigResponse holds the DCA response for a config query
type IsolateResponse ¶
type IsolateResponse struct { CheckID string `json:"check_id"` CheckNode string `json:"check_node"` IsIsolated bool `json:"is_isolated"` Reason string `json:"reason"` }
IsolateResponse holds the DCA response for an isolate request
type LeaderIPCallback ¶
LeaderIPCallback describes the leader-election method we need and allows to inject a custom one for tests
type NodeStatus ¶
type NodeStatus struct {
LastChange int64 `json:"last_change"`
}
NodeStatus holds the status report from the node-agent
type RebalanceResponse ¶ added in v0.9.0
type RebalanceResponse struct { CheckID string `json:"check_id"` CheckWeight int `json:"check_weight"` SourceNodeName string `json:"source_node_name"` SourceDiff int `json:"source_diff"` DestNodeName string `json:"dest_node_name"` DestDiff int `json:"dest_diff"` }
RebalanceResponse holds the DCA response for a rebalancing request
type StateNodeResponse ¶
type StateNodeResponse struct { Name string `json:"name"` Configs []integration.Config `json:"configs"` }
StateNodeResponse is a chunk of StateResponse
type StateResponse ¶
type StateResponse struct { NotRunning string `json:"not_running"` // Reason why not running, empty if leading Warmup bool `json:"warmup"` Nodes []StateNodeResponse `json:"nodes"` Dangling []integration.Config `json:"dangling"` }
StateResponse holds the DCA response for a dispatching state query
type Stats ¶
type Stats struct { // Following Follower bool LeaderIP string // Leading Leader bool Active bool NodeCount int ActiveConfigs int DanglingConfigs int TotalConfigs int CheckNames map[string]struct{} }
Stats holds statistics for the agent status command
type StatusResponse ¶
type StatusResponse struct {
IsUpToDate bool `json:"isuptodate"`
}
StatusResponse holds the DCA response for a status report
type WorkerInfo ¶
type WorkerInfo struct {
Utilization float64 `json:"Utilization"`
}
WorkerInfo is used to unmarshal the utilization of each worker
type Workers ¶
type Workers struct { Count int `json:"Count"` Instances map[string]WorkerInfo `json:"Instances"` }
Workers is used to unmarshal the workers info of each CLC Runner