Documentation
¶
Index ¶
- type AliasInfo
- type Aliases
- type Breaker
- type ClusterHealth
- type ClusterHealthIndex
- type FS
- type Index
- type IndexRecovery
- type IndexRecoveryFiles
- type IndexRecoverySize
- type IndexRecoveryState
- type IndexRecoveryTranslog
- type IndexSummary
- type Indices
- type Network
- type Node
- type NodeFSData
- type NodeHTTP
- type NodeIndices
- type NodeIndicesCache
- type NodeIndicesDocs
- type NodeIndicesFlush
- type NodeIndicesGet
- type NodeIndicesIndexing
- type NodeIndicesMerges
- type NodeIndicesRefresh
- type NodeIndicesSearch
- type NodeIndicesSegments
- type NodeIndicesStore
- type NodeIndicesTranslog
- type NodeJVM
- type NodeJVMBufferPool
- type NodeJVMGC
- type NodeJVMGCCollector
- type NodeJVMMem
- type NodeOSCPU
- type NodeOSMem
- type NodeOSSwap
- type NodeProcessCPU
- type NodeProcessMem
- type NodeTCP
- type Nodes
- type OS
- type Process
- type Recovery
- type RecoveryDestination
- type ShardRecovery
- type Tasks
- type ThreadPool
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AliasInfo ¶
type AliasInfo struct {
Aliases map[string]interface{} `json:"aliases"`
}
AliasInfo is a representation of ElasticSearch index alias
type Breaker ¶
type Breaker struct {
EstimatedSize int64 `json:"estimated_size_in_bytes"`
LimitSize int64 `json:"limit_size_in_bytes"`
Overhead float64 `json:"overhead"`
Tripped int64 `json:"tripped"`
}
Breaker is a representation of statistics about the field data circuit breaker
type ClusterHealth ¶
type ClusterHealth struct {
ClusterName string `json:"cluster_name"`
Status string `json:"status"`
TimedOut bool `json:"timed_out"`
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"`
Indices map[string]ClusterHealthIndex `json:"indices"`
}
ClusterHealth represents cluster health ES response
type ClusterHealthIndex ¶
type ClusterHealthIndex struct {
Status string `json:"status"`
NumberOfShards int `json:"number_of_shards"`
NumberOfReplicas int `json:"number_of_replicas"`
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"`
}
ClusterHealthIndex represents ES index health
type FS ¶
type FS struct {
Timestamp int64 `json:"timestamp"`
Data []NodeFSData `json:"data"`
}
FS is a representation of file system information, data path, free disk space, read/write stats
type Index ¶
type Index struct {
Primaries IndexSummary `json:"primaries"`
Total IndexSummary `json:"total"`
}
Index is a index overall information
type IndexRecovery ¶
type IndexRecovery struct {
Shards []ShardRecovery `json:"shards"`
}
IndexRecovery is a index recovery representation
type IndexRecoveryFiles ¶
type IndexRecoveryFiles struct {
Total int64 `json:"total"`
Reused int64 `json:"reused"`
Recovered int64 `json:"recovered"`
Percent string `json:"percent"`
}
IndexRecoveryFiles is an index recovery files representation
type IndexRecoverySize ¶
type IndexRecoverySize struct {
TotalInBytes int64 `json:"total_in_bytes"`
ReusedInBytes int64 `json:"reused_in_bytes"`
RecoveredInBytes int64 `json:"recovered_in_bytes"`
Percent string `json:"percent"`
}
IndexRecoverySize is an index recovery size representation
type IndexRecoveryState ¶
type IndexRecoveryState struct {
Size IndexRecoverySize `json:"size"`
Files IndexRecoveryFiles `json:"files"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
SourceThrottleTimeInMillis int64 `json:"source_throttle_time_in_millis"`
TargetThrottleTimeInMillis int64 `json:"target_throttle_time_in_millis"`
}
IndexRecoveryState is an index recovery statement representation
type IndexRecoveryTranslog ¶
type IndexRecoveryTranslog struct {
Recovered int64 `json:"recovered"`
Total int64 `json:"total"`
Percent string `json:"percent"`
TotalOnStart int64 `json:"total_on_start"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
}
IndexRecoveryTranslog is an index recovery translog representation
type IndexSummary ¶
type IndexSummary struct {
Docs struct {
Count int64 `json:"count"`
Deleted int64 `json:"deleted"`
} `json:"docs"`
Store struct {
SizeInBytes int64 `json:"size_in_bytes"`
ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"`
} `json:"store"`
Indexing struct {
IndexTotal int64 `json:"index_total"`
IndexTimeInMillis int64 `json:"index_time_in_millis"`
IndexCurrent int64 `json:"index_current"`
IndexFailed int64 `json:"index_failed"`
DeleteTotal int64 `json:"delete_total"`
DeleteTimeInMillis int64 `json:"delete_time_in_millis"`
DeleteCurrent int64 `json:"delete_current"`
NoopUpdateTotal int64 `json:"noop_update_total"`
IsThrottled bool `json:"is_throttled"`
ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"`
} `json:"indexing"`
Get struct {
Total int64 `json:"total"`
TimeInMillis int64 `json:"time_in_millis"`
ExistsTotal int64 `json:"exists_total"`
ExistsTimeInMillis int64 `json:"exists_time_in_millis"`
MissingTotal int64 `json:"missing_total"`
MissingTimeInMillis int64 `json:"missing_time_in_millis"`
Current int64 `json:"current"`
} `json:"get"`
Search struct {
OpenContexts int64 `json:"open_contexts"`
QueryTotal int64 `json:"query_total"`
QueryTimeInMillis int64 `json:"query_time_in_millis"`
QueryCurrent int64 `json:"query_current"`
FetchTotal int64 `json:"fetch_total"`
FetchTimeInMillis int64 `json:"fetch_time_in_millis"`
FetchCurrent int64 `json:"fetch_current"`
ScrollTotal int64 `json:"scroll_total"`
ScrollTimeInMillis int64 `json:"scroll_time_in_millis"`
ScrollCurrent int64 `json:"scroll_current"`
SuggestTotal int64 `json:"suggest_total"`
SuggestTimeInMillis int64 `json:"suggest_time_in_millis"`
SuggestCurrent int64 `json:"suggest_current"`
} `json:"search"`
Merges struct {
Current int64 `json:"current"`
CurrentDocs int64 `json:"current_docs"`
CurrentSizeInBytes int64 `json:"current_size_in_bytes"`
Total int64 `json:"total"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
TotalDocs int64 `json:"total_docs"`
TotalSizeInBytes int64 `json:"total_size_in_bytes"`
TotalStoppedTimeInMillis int64 `json:"total_stopped_time_in_millis"`
TotalThrottledTimeInMillis int64 `json:"total_throttled_time_in_millis"`
TotalAutoThrottleInBytes int64 `json:"total_auto_throttle_in_bytes"`
} `json:"merges"`
Refresh struct {
Total int64 `json:"total"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
Listeners int64 `json:"listeners"`
} `json:"refresh"`
Flush struct {
Total int64 `json:"total"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
} `json:"flush"`
Warmer struct {
Current int64 `json:"current"`
Total int64 `json:"total"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
} `json:"warmer"`
QueryCache struct {
MemorySizeInBytes int64 `json:"memory_size_in_bytes"`
TotalCount int64 `json:"total_count"`
HitCount int64 `json:"hit_count"`
MissCount int64 `json:"miss_count"`
CacheSize int64 `json:"cache_size"`
CacheCount int64 `json:"cache_count"`
Evictions int64 `json:"evictions"`
} `json:"query_cache"`
Fielddata struct {
MemorySizeInBytes int64 `json:"memory_size_in_bytes"`
Evictions int64 `json:"evictions"`
} `json:"fielddata"`
Completion struct {
SizeInBytes int64 `json:"size_in_bytes"`
} `json:"completion"`
Segments struct {
Count int64 `json:"count"`
MemoryInBytes int64 `json:"memory_in_bytes"`
TermsMemoryInBytes int64 `json:"terms_memory_in_bytes"`
StoredFieldsMemoryInBytes int64 `json:"stored_fields_memory_in_bytes"`
TermVectorsMemoryInBytes int64 `json:"term_vectors_memory_in_bytes"`
NormsMemoryInBytes int64 `json:"norms_memory_in_bytes"`
PointsMemoryInBytes int64 `json:"points_memory_in_bytes"`
DocValuesMemoryInBytes int64 `json:"doc_values_memory_in_bytes"`
IndexWriterMemoryInBytes int64 `json:"index_writer_memory_in_bytes"`
VersionMapMemoryInBytes int64 `json:"version_map_memory_in_bytes"`
FixedBitSetMemoryInBytes int64 `json:"fixed_bit_set_memory_in_bytes"`
MaxUnsafeAutoIDTimestamp int64 `json:"max_unsafe_auto_id_timestamp"`
FileSizes struct {
} `json:"file_sizes"`
} `json:"segments"`
Translog struct {
Operations int64 `json:"operations"`
SizeInBytes int64 `json:"size_in_bytes"`
} `json:"translog"`
RequestCache struct {
MemorySizeInBytes int64 `json:"memory_size_in_bytes"`
Evictions int64 `json:"evictions"`
HitCount int64 `json:"hit_count"`
MissCount int64 `json:"miss_count"`
} `json:"request_cache"`
Recovery struct {
CurrentAsSource int64 `json:"current_as_source"`
CurrentAsTarget int64 `json:"current_as_target"`
ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"`
} `json:"recovery"`
}
IndexSummary is a index summary for primaries or totals
type Indices ¶
type Indices struct {
Shards struct {
Total int `json:"total"`
Successful int `json:"successful"`
Failed int `json:"failed"`
} `json:"_shards"`
All Index `json:"_all"`
Indices map[string]Index `json:"indices"`
}
Indices is a representation of Elasticsearch /_stats response
type Network ¶
type Network struct {
TCP NodeTCP `json:"tcp"`
}
Network is a representation of network usage stats
type Node ¶
type Node struct {
Name string `json:"name"`
Host string `json:"host"`
Timestamp int64 `json:"timestamp"`
TransportAddress string `json:"transport_address"`
Hostname string `json:"hostname"`
Indices NodeIndices `json:"indices"`
OS OS `json:"os"`
Network Network `json:"network"`
FS FS `json:"fs"`
ThreadPool map[string]ThreadPool `json:"thread_pool"`
JVM NodeJVM `json:"jvm"`
Breakers map[string]Breaker `json:"breakers"`
Transport Transport `json:"transport"`
Process Process `json:"process"`
}
Node is a representation of ElasticSearch node stats
type NodeFSData ¶
type NodeFSData struct {
Path string `json:"path"`
Mount string `json:"mount"`
Device string `json:"dev"`
Total int64 `json:"total_in_bytes"`
Free int64 `json:"free_in_bytes"`
Available int64 `json:"available_in_bytes"`
DiskReads int64 `json:"disk_reads"`
DiskWrites int64 `json:"disk_writes"`
DiskReadSize int64 `json:"disk_read_size_in_bytes"`
DiskWriteSize int64 `json:"disk_write_size_in_bytes"`
}
NodeFSData is a representation of filesystem stats
type NodeHTTP ¶
type NodeHTTP struct {
CurrentOpen int64 `json:"current_open"`
TotalOpen int64 `json:"total_open"`
}
NodeHTTP is a representation of HTTP connections stats
type NodeIndices ¶
type NodeIndices struct {
Docs NodeIndicesDocs
Store NodeIndicesStore
Indexing NodeIndicesIndexing
Merges NodeIndicesMerges
Get NodeIndicesGet
Search NodeIndicesSearch
FieldData NodeIndicesCache `json:"fielddata"`
FilterCache NodeIndicesCache `json:"filter_cache"`
QueryCache NodeIndicesCache `json:"query_cache"`
RequestCache NodeIndicesCache `json:"request_cache"`
Flush NodeIndicesFlush
Segments NodeIndicesSegments
Refresh NodeIndicesRefresh
Translog NodeIndicesTranslog
}
NodeIndices is a representation of indices stats (size, document count, indexing and deletion times, search times, field cache size, merges and flushes)
type NodeIndicesCache ¶
type NodeIndicesCache struct {
Evictions int64 `json:"evictions"`
MemorySize int64 `json:"memory_size_in_bytes"`
CacheCount int64 `json:"cache_count"`
CacheSize int64 `json:"cache_size"`
HitCount int64 `json:"hit_count"`
MissCount int64 `json:"miss_count"`
TotalCount int64 `json:"total_count"`
}
NodeIndicesCache is a representation of index cache stats
type NodeIndicesDocs ¶
NodeIndicesDocs is a representation of indices docs stats
type NodeIndicesFlush ¶
type NodeIndicesFlush struct {
Total int64 `json:"total"`
Time int64 `json:"total_time_in_millis"`
}
NodeIndicesFlush is a representation of index flush stats
type NodeIndicesGet ¶
type NodeIndicesGet struct {
Total int64 `json:"total"`
Time int64 `json:"time_in_millis"`
ExistsTotal int64 `json:"exists_total"`
ExistsTime int64 `json:"exists_time_in_millis"`
MissingTotal int64 `json:"missing_total"`
MissingTime int64 `json:"missing_time_in_millis"`
Current int64 `json:"current"`
}
NodeIndicesGet is a representation of index get stats
type NodeIndicesIndexing ¶
type NodeIndicesIndexing struct {
IndexTotal int64 `json:"index_total"`
IndexTime int64 `json:"index_time_in_millis"`
IndexCurrent int64 `json:"index_current"`
DeleteTotal int64 `json:"delete_total"`
DeleteTime int64 `json:"delete_time_in_millis"`
DeleteCurrent int64 `json:"delete_current"`
}
NodeIndicesIndexing is a representation of index indexing stats
type NodeIndicesMerges ¶
type NodeIndicesMerges struct {
Current int64 `json:"current"`
CurrentDocs int64 `json:"current_docs"`
CurrentSize int64 `json:"current_size_in_bytes"`
Total int64 `json:"total"`
TotalDocs int64 `json:"total_docs"`
TotalSize int64 `json:"total_size_in_bytes"`
TotalTime int64 `json:"total_time_in_millis"`
}
NodeIndicesMerges is a representation of index merging stats
type NodeIndicesRefresh ¶
type NodeIndicesRefresh struct {
Total int64 `json:"total"`
TotalTime int64 `json:"total_time_in_millis"`
}
NodeIndicesRefresh is a representation of index refresh stats
type NodeIndicesSearch ¶
type NodeIndicesSearch struct {
OpenContext int64 `json:"open_contexts"`
QueryTotal int64 `json:"query_total"`
QueryTime int64 `json:"query_time_in_millis"`
QueryCurrent int64 `json:"query_current"`
FetchTotal int64 `json:"fetch_total"`
FetchTime int64 `json:"fetch_time_in_millis"`
FetchCurrent int64 `json:"fetch_current"`
}
NodeIndicesSearch is a representation of index search stats
type NodeIndicesSegments ¶
type NodeIndicesSegments struct {
Count int64 `json:"count"`
Memory int64 `json:"memory_in_bytes"`
}
NodeIndicesSegments is a representation of index segments stats
type NodeIndicesStore ¶
type NodeIndicesStore struct {
Size int64 `json:"size_in_bytes"`
ThrottleTime int64 `json:"throttle_time_in_millis"`
}
NodeIndicesStore is a representation of index store stats
type NodeIndicesTranslog ¶
type NodeIndicesTranslog struct {
Operations int64 `json:"operations"`
Size int64 `json:"size_in_bytes"`
}
NodeIndicesTranslog is a representation of index translog stats
type NodeJVM ¶
type NodeJVM struct {
BufferPools map[string]NodeJVMBufferPool `json:"buffer_pools"`
GC NodeJVMGC `json:"gc"`
Mem NodeJVMMem `json:"mem"`
}
NodeJVM is a representation of JVM stats, memory pool information, garbage collection, buffer pools, number of loaded/unloaded classes
type NodeJVMBufferPool ¶
type NodeJVMBufferPool struct {
Count int64 `json:"count"`
TotalCapacity int64 `json:"total_capacity_in_bytes"`
Used int64 `json:"used_in_bytes"`
}
NodeJVMBufferPool is a representation of JVM buffer pool stats
type NodeJVMGC ¶
type NodeJVMGC struct {
Collectors map[string]NodeJVMGCCollector `json:"collectors"`
}
NodeJVMGC is a representation of JVM GC stats for all kinds of collectors
type NodeJVMGCCollector ¶
type NodeJVMGCCollector struct {
CollectionCount int64 `json:"collection_count"`
CollectionTime int64 `json:"collection_time_in_millis"`
}
NodeJVMGCCollector is a representation of JVM GC collector stats
type NodeJVMMem ¶
type NodeJVMMem struct {
HeapCommitted int64 `json:"heap_committed_in_bytes"`
HeapUsed int64 `json:"heap_used_in_bytes"`
HeapMax int64 `json:"heap_max_in_bytes"`
NonHeapCommitted int64 `json:"non_heap_committed_in_bytes"`
NonHeapUsed int64 `json:"non_heap_used_in_bytes"`
}
NodeJVMMem is a representation of JVM memory usage stats
type NodeOSCPU ¶
type NodeOSCPU struct {
Sys int64 `json:"sys"`
User int64 `json:"user"`
Idle int64 `json:"idle"`
Steal int64 `json:"stolen"`
}
NodeOSCPU is a representation of CPU usage stats
type NodeOSMem ¶
type NodeOSMem struct {
Free int64 `json:"free_in_bytes"`
Used int64 `json:"used_in_bytes"`
ActualFree int64 `json:"actual_free_in_bytes"`
ActualUsed int64 `json:"actual_used_in_bytes"`
}
NodeOSMem is a representation of OS memory stats
type NodeOSSwap ¶
NodeOSSwap is a representation of swap stats
type NodeProcessCPU ¶
type NodeProcessCPU struct {
Percent int64 `json:"percent"`
Sys int64 `json:"sys_in_millis"`
User int64 `json:"user_in_millis"`
Total int64 `json:"total_in_millis"`
}
NodeProcessCPU is a representation of process CPU usage stats
type NodeProcessMem ¶
type NodeProcessMem struct {
Resident int64 `json:"resident_in_bytes"`
TotalVirtual int64 `json:"total_virtual_in_bytes"`
}
NodeProcessMem is a representation of memory usage stats
type NodeTCP ¶
type NodeTCP struct {
ActiveOpens int64 `json:"active_opens"`
PassiveOpens int64 `json:"passive_opens"`
CurrEstab int64 `json:"curr_estab"`
InSegs int64 `json:"in_segs"`
OutSegs int64 `json:"out_segs"`
RetransSegs int64 `json:"retrans_segs"`
EstabResets int64 `json:"estab_resets"`
AttemptFails int64 `json:"attempt_fails"`
InErrs int64 `json:"in_errs"`
OutRsts int64 `json:"out_rsts"`
}
NodeTCP is a representation of tcp stats on node
type OS ¶
type OS struct {
Timestamp int64 `json:"timestamp"`
Uptime int64 `json:"uptime_in_millis"`
// LoadAvg was an array of per-cpu values pre-2.0, and is a string in 2.0
// Leaving this here in case we want to implement parsing logic later
LoadAvg json.RawMessage `json:"load_average"`
CPU NodeOSCPU `json:"cpu"`
Mem NodeOSMem `json:"mem"`
Swap NodeOSSwap `json:"swap"`
}
OS is a representation of operating system stats, load average, mem, swap
type Process ¶
type Process struct {
Timestamp int64 `json:"timestamp"`
OpenFD int64 `json:"open_file_descriptors"`
MaxFD int64 `json:"max_file_descriptors"`
CPU NodeProcessCPU `json:"cpu"`
Memory NodeProcessMem `json:"mem"`
}
Process is a representation of process statistics, memory consumption, cpu usage, open file descriptors
type RecoveryDestination ¶
type RecoveryDestination struct {
ID string `json:"id"`
Host string `json:"host"`
TransportAddress string `json:"transport_address"`
IP string `json:"ip"`
Name string `json:"name"`
}
RecoveryDestination is a shard recovery source / target
type ShardRecovery ¶
type ShardRecovery struct {
ID int64 `json:"id"`
Type string `json:"type"`
Stage string `json:"stage"`
Primary bool `json:"primary"`
StartTimeInMillis int64 `json:"start_time_in_millis"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
Source RecoveryDestination `json:"source"`
Target RecoveryDestination `json:"target"`
Index IndexRecoveryState `json:"index"`
Translog IndexRecoveryTranslog `json:"translog"`
VerifyIndex struct {
CheckIndexTimeInMillis int64 `json:"check_index_time_in_millis"`
TotalTimeInMillis int64 `json:"total_time_in_millis"`
} `json:"verify_index"`
}
ShardRecovery is an index shard recovery representation
type Tasks ¶
type Tasks []struct {
Action string `json:"action"`
RunningTime string `json:"running_time"`
Node string `json:"node"`
}
Tasks is a representation of ElasticSearch cluster tasks statistics
type ThreadPool ¶
type ThreadPool struct {
Threads int64 `json:"threads"`
Queue int64 `json:"queue"`
Active int64 `json:"active"`
Rejected int64 `json:"rejected"`
Largest int64 `json:"largest"`
Completed int64 `json:"completed"`
}
ThreadPool is a representation of statistics about each thread pool, including current size, queue and rejected tasks
type Transport ¶
type Transport struct {
ServerOpen int64 `json:"server_open"`
RxCount int64 `json:"rx_count"`
RxSize int64 `json:"rx_size_in_bytes"`
TxCount int64 `json:"tx_count"`
TxSize int64 `json:"tx_size_in_bytes"`
}
Transport is a representation of transport statistics about sent and received bytes in cluster communication