Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalcTotalShardNum ¶
func ExtractError ¶
Types ¶
type Client ¶
type Client interface { GetNodeStats(ctx context.Context) (*NodeStats, error) GetIndexSettings(ctx context.Context, indexName string) (*IndexSettings, error) GetIndexHealth(ctx context.Context, indexName string) (*IndexHealth, error) UpdateIndexReplicaNum(ctx context.Context, indexName string, replicaNum int) error }
func NewClient ¶
func NewClient(esClient *esv8.TypedClient) Client
type IndexHealth ¶
type IndexHealth struct { ClusterName string `json:"cluster_name"` Status string `json:"status"` NumberOfNodes int `json:"number_of_nodes"` NumberOfDataNodes int `json:"number_of_data_nodes"` ActivePrimaryShards int `json:"active_primary_shards"` ActiveShards int `json:"active_shards"` RelocatingShards int `json:"relocating_shards"` InitializingShards int `json:"initializing_shards"` UnassignedShards int `json:"unassigned_shards"` DelayedUnassignedShards int `json:"delayed_unassigned_shards"` NumberOfPendingTasks int `json:"number_of_pending_tasks"` NumberOfInFlightFetch int `json:"number_of_in_flight_fetch"` TaskMaxWaitingInQueueMillis int `json:"task_max_waiting_in_queue_millis"` ActiveShardsPercentAsNumber float64 `json:"active_shards_percent_as_number"` }
func (*IndexHealth) IsHealthy ¶
func (i *IndexHealth) IsHealthy() bool
type IndexSettings ¶
type IndexSettings struct { ShardNum int `json:"number_of_shards,string"` ReplicaNum int `json:"number_of_replicas,string"` }
func (*IndexSettings) TotalShardNum ¶
func (i *IndexSettings) TotalShardNum() int
TotalShardNum returns total shard count of primary + replica shards
type NodeStats ¶
type NodeStats struct {
Nodes map[string]*NodeStatsNode `json:"nodes"`
}
func (*NodeStats) DataContentNodes ¶
func (n *NodeStats) DataContentNodes() NodeStatsNodes
type NodeStatsNode ¶
type NodeStatsNode struct { ID string `json:"-"` Roles []string `json:"roles"` OS *NodeStatsNodeOS `json:"os"` }
type NodeStatsNodeOS ¶
type NodeStatsNodeOS struct {
CPU *NodeStatsNodeOSCPU `json:"cpu"`
}
type NodeStatsNodeOSCPU ¶
type NodeStatsNodeOSCPU struct {
Percent float64 `json:"percent"`
}
type NodeStatsNodes ¶
type NodeStatsNodes []*NodeStatsNode
func (NodeStatsNodes) AvgCPUUtil ¶
func (n NodeStatsNodes) AvgCPUUtil() float64
func (NodeStatsNodes) IDs ¶
func (n NodeStatsNodes) IDs() []string
func (NodeStatsNodes) TotalCPUUtil ¶
func (n NodeStatsNodes) TotalCPUUtil() float64
Click to show internal directories.
Click to hide internal directories.