model

package
v0.0.0-...-f845abb Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2020 License: Apache-2.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 AliasInfo

type AliasInfo struct {
	Aliases map[string]interface{} `json:"aliases"`
}

AliasInfo is a representation of ElasticSearch index alias

type Aliases

type Aliases map[string]AliasInfo

Aliases is a representation of ElasticSearch index aliases

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

type NodeIndicesDocs struct {
	Count   int64 `json:"count"`
	Deleted int64 `json:"deleted"`
}

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

type NodeOSSwap struct {
	Used int64 `json:"used_in_bytes"`
	Free int64 `json:"free_in_bytes"`
}

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"`
	Share        int64 `json:"share_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 Nodes

type Nodes struct {
	ClusterName string `json:"cluster_name"`
	Nodes       map[string]Node
}

Nodes is a representation of ElasticSearch cluster nodes statistics

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 Recovery

type Recovery map[string]IndexRecovery

Recovery is a ES /_recovery representation

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

Jump to

Keyboard shortcuts

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