Documentation ¶
Index ¶
- Constants
- type AutoThrottledTags
- type Backup
- type BackupInstance
- type BackupTag
- type BlobRecentIo
- type BlobStats
- type BlobStatsRecent
- type BlobStatsTotal
- type ClientMessage
- type ClientStatus
- type ClusterFile
- type ClusterMessage
- type ClusterStatus
- type Configuration
- type Coordinator
- type Coordinators
- type Data
- type DatabaseStatus
- type DrBackup
- type DrBackupInstance
- type DrBackupTag
- type ExcludedServer
- type FaultTolerance
- type FullStatus
- type GrvLatencyStats
- type Hz
- type Issue
- type Lag
- type LatencyProbe
- type LatencyStats
- type Layers
- type LockState
- type Log
- type LogInterface
- type Machine
- type MachineCpu
- type MachineLocality
- type MachineMemory
- type MachineNetwork
- type ManualThrottledTags
- type MovingData
- type PageCache
- type PerformanceLimitedBy
- type Process
- type ProcessCpu
- type ProcessDisk
- type ProcessDiskCounter
- type ProcessLocality
- type ProcessMemory
- type ProcessMessage
- type ProcessNetwork
- type ProcessRole
- type Qos
- type RecoveryState
- type State
- type TeamTracker
- type ThrottledTags
- type Workload
- type WorkloadBytes
- type WorkloadKeys
- type WorkloadMetrics
- type WorkloadOperations
- type WorkloadTransactions
Constants ¶
View Source
const RelativeJsonFileLocation = "test/data"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoThrottledTags ¶
type Backup ¶
type Backup struct { BlobRecentIo *BlobRecentIo `json:"blob_recent_io"` Instances map[string]BackupInstance `json:"instances"` InstancesRunning int64 `json:"instances_running"` LastUpdated float64 `json:"last_updated"` Paused bool `json:"paused"` Tags map[string]BackupTag `json:"tags"` TotalWorkers int `json:"total_workers"` }
type BackupInstance ¶
type BackupInstance struct { BlobStats *BlobStats `json:"blob_stats"` ConfiguredWorkers int64 `json:"configured_workers"` Id string `json:"id"` LastUpdated float64 `json:"last_updated"` MainThreadCpuSeconds float64 `json:"main_thread_cpu_seconds"` MemoryUsage int64 `json:"memory_usage"` ProcessCpuSeconds float64 `json:"process_cpu_seconds"` ResidentSize int64 `json:"resident_size"` Version string `json:"version"` }
type BackupTag ¶
type BackupTag struct { CurrentContainer string `json:"current_container"` CurrentStats string `json:"current_status"` LastRestorableSecondsBehind float64 `json:"last_restorable_seconds_behind"` LastRestorableVersion int64 `json:"last_restorable_version"` MutationLogBytesWritten int64 `json:"mutation_log_bytes_written"` MutationStreamId string `json:"mutation_stream_id"` RangeBytesWritten int64 `json:"range_bytes_written"` RunningBackup bool `json:"running_backup"` RunningBackupIsRestorable bool `json:"running_backup_is_restorable"` }
type BlobRecentIo ¶
type BlobStats ¶
type BlobStats struct { Recent BlobStatsRecent `json:"recent"` Total BlobStatsTotal `json:"total"` }
type BlobStatsRecent ¶
type BlobStatsTotal ¶
type ClientMessage ¶
type ClientMessage struct { // Possible names // "inconsistent_cluster_file", // "unreachable_cluster_controller", // "no_cluster_controller", // "status_incomplete_client", // "status_incomplete_coordinators", // "status_incomplete_error", // "status_incomplete_timeout", // "status_incomplete_cluster", // "quorum_not_reachable" Name string Description string }
type ClientStatus ¶
type ClientStatus struct { ClusterFile *ClusterFile `json:"cluster_file"` Coordinators *Coordinators `json:"coordinators"` DatabaseStatus *DatabaseStatus `json:"database_status"` Messages []ClientMessage `json:"messages"` Timestamp int64 `json:"timestamp"` }
Client top level status
type ClusterFile ¶
type ClusterMessage ¶
type ClusterStatus ¶
type ClusterStatus struct { // TODO: add support for clients and detecting version compatibility // TODO: add support for incompatible connections ClusterControllerTimestamp int64 `json:"cluster_controller_timestamp"` Configuration *Configuration `json:"configuration"` ConnectionString string `json:"connection_string"` Data *Data `json:"data"` DatabaseAvailable bool `json:"database_available"` DatabaseLockState *LockState `json:"database_lock_state"` DatacenterLag Lag `json:"datacenter_lag"` DegradedProcesses int64 `json:"degraded_processes"` FaultTolerance *FaultTolerance `json:"fault_tolerance"` FullReplication bool `json:"full_replication"` Generation int64 `json:"generation"` LatencyProbe *LatencyProbe `json:"latency_probe"` Logs []Log `json:"logs"` Machines map[string]Machine `json:"machines"` Messages []ClusterMessage `json:"messages"` PageCache *PageCache `json:"page_cache"` Processes map[string]Process `json:"processes"` ProtocolVersion string `json:"protocol_version"` Qos *Qos `json:"qos"` RecoveryState *RecoveryState `json:"recovery_state"` Workload *Workload `json:"workload"` Layers *Layers `json:"layers"` }
Cluster top level status
type Configuration ¶
type Configuration struct { BackupWorkerEnabled int64 `json:"backup_worker_enabled"` BlobGranulesEnabled int64 `json:"blob_granules_enabled"` CommitProxies int64 `json:"commit_proxies"` CoordinatorsCount int64 `json:"coordinators_count"` ExcludedServers []ExcludedServer `json:"excluded_servers"` GrvProxies int64 `json:"grv_proxies"` LogRouters int64 `json:"log_routers"` Logs int64 `json:"logs"` PerpetualStorageWiggle int64 `json:"perpetual_storage_wiggle"` PerpetualStorageWiggleLocality string `json:"perpetual_storage_wiggle_locality"` Proxies int64 `json:"proxies"` RedundancyMode string `json:"redundancy_mode"` RemoteLogs int64 `json:"remote_logs"` Resolvers int64 `json:"resolvers"` StorageEngine string `json:"storage_engine"` StorageMigrationType string `json:"storage_migration_type"` TenantMode string `json:"tenant_mode"` UsableRegions int64 `json:"usable_regions"` }
type Coordinator ¶
type Coordinators ¶
type Coordinators struct { Coordinators []Coordinator `json:"coordinators"` QuorumReachable bool `json:"quorum_reachable"` }
type Data ¶
type Data struct { AveragePartitionSizeBytes int64 `json:"average_partition_size_bytes"` LeastOperatingSpaceBytesLogServer int64 `json:"least_operating_space_bytes_log_server"` LeastOperatingSpaceBytesStorageServer int64 `json:"least_operating_space_bytes_storage_server"` MovingData *MovingData `json:"moving_data"` PartitionsCount int64 `json:"partitions_count"` State *State `json:"state"` SystemKvSizeBytes int64 `json:"system_kv_size_bytes"` TeamTrackers []TeamTracker `json:"team_trackers"` TotalDiskUsedBytes int64 `json:"total_disk_used_bytes"` TotalKvSizeBytes int64 `json:"total_kv_size_bytes"` }
type DatabaseStatus ¶
type DrBackup ¶
type DrBackup struct { Instances map[string]DrBackupInstance `json:"instances"` InstancesRunning int64 `json:"instances_running"` LastUpdated float64 `json:"last_updated"` Paused bool `json:"paused"` Tags map[string]DrBackupTag `json:"tags"` TotalWorkers int64 `json:"total_workers"` }
type DrBackupInstance ¶
type DrBackupInstance struct { ConfiguredWorkers int64 `json:"configured_workers"` Id string `json:"id"` LastUpdated float64 `json:"last_updated"` MainThreadCpuSeconds float64 `json:"main_thread_cpu_seconds"` MemoryUsage int64 `json:"memory_usage"` ProcessCpuSeconds float64 `json:"process_cpu_seconds"` ResidentSize int64 `json:"resident_size"` Version string `json:"version"` }
type DrBackupTag ¶
type DrBackupTag struct { BackupState string `json:"backup_state"` MutationLogBytesWritten int64 `json:"mutation_log_bytes_written"` MutationStreamId string `json:"mutation_stream_id"` RangeBytesWritten int64 `json:"range_bytes_written"` RunningBackup bool `json:"running_backup"` RunningBackupIsRestorable bool `json:"running_backup_is_restorable"` SecondsBehind float64 `json:"seconds_behind"` }
type ExcludedServer ¶
type ExcludedServer struct {
Address string `json:"address"`
}
type FaultTolerance ¶
type FullStatus ¶
type FullStatus struct { Client *ClientStatus `json:"client"` Cluster *ClusterStatus `json:"cluster"` }
Top level fields from status json
func CheckJsonFile ¶
func CheckJsonFile(t *testing.T, fileName string) *FullStatus
func GetStatusFromFile ¶
func GetStatusFromFile(fileName string) (*FullStatus, error)
type GrvLatencyStats ¶
type GrvLatencyStats struct { Batch *LatencyStats `json:"batch"` Default *LatencyStats `json:"default"` }
type LatencyProbe ¶
type LatencyProbe struct { BatchPriorityTransactionStartSeconds float64 `json:"batch_priority_transaction_start_seconds"` CommitSeconds float64 `json:"commit_seconds"` ImmediatePriorityTransactionStartSeconds float64 `json:"immediate_priority_transaction_start_seconds"` ReadSeconds float64 `json:"read_seconds"` TransactionStartSeconds float64 `json:"transaction_start_seconds"` }
type LatencyStats ¶
type Log ¶
type Log struct { BeginVersion int64 `json:"begin_version"` Current bool `json:"current"` Epoch int64 `json:"epoch"` LogFaultTolerance int64 `json:"log_fault_tolerance"` LogInterfaces []LogInterface `json:"log_interfaces"` LogReplicationFactor int64 `json:"log_replication_factor"` LogWriteAntiQuorum int64 `json:"log_write_anti_quorum"` PossiblyLosingData bool `json:"possibly_losing_data"` }
type LogInterface ¶
type Machine ¶
type Machine struct { Address string `json:"address"` ContributingWorkers int `json:"contributing_workers"` Cpu *MachineCpu `json:"cpu"` Excluded bool `json:"excluded"` Locality *MachineLocality `json:"locality"` Memory *MachineMemory `json:"memory"` Network *MachineNetwork `json:"network"` }
type MachineCpu ¶
type MachineCpu struct {
LogicalCoreUtilization float64 `json:"logical_core_utilization"`
}
type MachineLocality ¶
type MachineMemory ¶
type MachineNetwork ¶
type ManualThrottledTags ¶
type ManualThrottledTags struct {
Count int64 `json:"count"`
}
type MovingData ¶
type PerformanceLimitedBy ¶
type Process ¶
type Process struct { Address string `json:"address"` ClassSource string `json:"class_source"` ClassType string `json:"class_type"` CommandLine string `json:"command_line"` Cpu *ProcessCpu `json:"cpu"` Disk *ProcessDisk `json:"disk"` Excluded bool `json:"excluded"` FaultDomain string `json:"fault_domain"` Locality *ProcessLocality `json:"locality"` MachineId string `json:"machine_id"` Memory *ProcessMemory `json:"memory"` Messages []ProcessMessage `json:"messages"` Network *ProcessNetwork `json:"network"` Roles []ProcessRole `json:"roles"` }
type ProcessCpu ¶
type ProcessCpu struct {
UsageCores float64 `json:"usage_cores"`
}
type ProcessDisk ¶
type ProcessDisk struct { Busy float64 `json:"busy"` FreeBytes int `json:"free_bytes"` Reads *ProcessDiskCounter `json:"reads"` TotalBytes int `json:"total_bytes"` Writes *ProcessDiskCounter `json:"writes"` }
type ProcessDiskCounter ¶
type ProcessLocality ¶
type ProcessMemory ¶
type ProcessMessage ¶
type ProcessNetwork ¶
type ProcessNetwork struct { ConnectionErrors *Hz `json:"connection_errors"` ConnectionsClosed *Hz `json:"connections_closed"` ConnectionsEstablished *Hz `json:"connections_established"` CurrentConnections int `json:"current_connections"` MegabitsReceived *Hz `json:"megabits_received"` MegabitsSent *Hz `json:"megabits_sent"` TlsPolicyFailures *Hz `json:"tls_policy_failures"` }
type ProcessRole ¶
type ProcessRole struct { Id string `json:"id"` Role string `json:"role"` // GRV proxy specific GrvLatencyStatistics *GrvLatencyStats `json:"grv_latency_statistics"` // Commit Proxy specific CommitLatencyStatistics *LatencyStats `json:"commit_latency_statistics"` CommitBatchingWindowSize *LatencyStats `json:"commit_batching_window_size"` // Storage and Log specific KvStoreAvailableBytes int64 `json:"kvstore_available_bytes"` KvStoreFreeBytes int64 `json:"kvstore_free_bytes"` KvStoreTotalBytes int64 `json:"kvstore_total_bytes"` KvStoreUsedBytes int64 `json:"kvstore_used_bytes"` QueueDiskAvailableBytes int64 `json:"queue_disk_available_bytes"` QueueDiskFreeBytes int64 `json:"queue_disk_free_bytes"` QueueDiskTotalBytes int64 `json:"queue_disk_total_bytes"` QueueDiskUsedBytes int64 `json:"queue_disk_used_bytes"` DataVersion int64 `json:"data_version"` DurableBytes *WorkloadMetrics `json:"durable_bytes"` InputBytes *WorkloadMetrics `json:"input_bytes"` // Only storage specific BytesQueried *WorkloadMetrics `json:"bytes_queried"` DataLag *Lag `json:"data_lag"` DurabilityLag *Lag `json:"durability_lag"` DurableVersion int64 `json:"durable_version"` FetchedVersions *WorkloadMetrics `json:"fetched_versions"` FinishedQueries *WorkloadMetrics `json:"finished_queries"` KeysQueried *WorkloadMetrics `json:"keys_queried"` LocalRate int64 `json:"local_rate"` LowPriorityQueries *WorkloadMetrics `json:"low_priority_queries"` MutationBytes *WorkloadMetrics `json:"mutation_bytes"` Mutations *WorkloadMetrics `json:"mutations"` QueryQueueMax int64 `json:"query_queue_max"` ReadLatencyStatistics *LatencyStats `json:"read_latency_statistics"` StoredBytes int64 `json:"stored_bytes"` TotalQueries *WorkloadMetrics `json:"total_queries"` }
type Qos ¶
type Qos struct { BatchPerformanceLimitedBy PerformanceLimitedBy `json:"batch_performance_limited_by"` BatchReleasedTransactionsPerSecond float64 `json:"batch_released_transactions_per_second"` BatchTransactionsPerSecondLimit float64 `json:"batch_transactions_per_second_limit"` LimitingDataLagStorageServer Lag `json:"limiting_data_lag_storage_server"` LimitingDurabilityLagStorageServer Lag `json:"limiting_durability_lag_storage_server"` LimitingQueueBytesStorageServer int64 `json:"limiting_queue_bytes_storage_server"` PerformanceLimitedBy PerformanceLimitedBy `json:"performance_limited_by"` ReleasedTransactionsPerSecond float64 `json:"released_transactions_per_second"` ThrottledTags ThrottledTags `json:"throttled_tags"` TransactionsPerSecondLimit float64 `json:"transactions_per_second_limit"` WorstDataLagStorageServer Lag `json:"worst_data_lag_storage_server"` WorstDurabilityLagStorageServer Lag `json:"worst_durability_lag_storage_server"` WorstQueueBytesLogServer int64 `json:"worst_queue_bytes_log_server"` WorstQueueBytesStorageServer int64 `json:"worst_queue_bytes_storage_server"` }
type RecoveryState ¶
type TeamTracker ¶
type ThrottledTags ¶
type ThrottledTags struct { Auto AutoThrottledTags `json:"auto"` Manual ManualThrottledTags `json:"manual"` }
type Workload ¶
type Workload struct { Bytes *WorkloadBytes `json:"bytes"` Keys *WorkloadKeys `json:"keys"` Operations *WorkloadOperations `json:"operations"` Transactions *WorkloadTransactions `json:"transactions"` }
type WorkloadBytes ¶
type WorkloadBytes struct { Read *WorkloadMetrics `json:"read"` Written *WorkloadMetrics `json:"written"` }
type WorkloadKeys ¶
type WorkloadKeys struct {
Read *WorkloadMetrics `json:"read"`
}
type WorkloadMetrics ¶
type WorkloadOperations ¶
type WorkloadOperations struct { LocationRequests *WorkloadMetrics `json:"location_requests"` LowPriorityReads *WorkloadMetrics `json:"low_priority_reads"` MemoryErrors *WorkloadMetrics `json:"memory_errors"` ReadRequests *WorkloadMetrics `json:"read_requests"` Reads *WorkloadMetrics `json:"reads"` Writes *WorkloadMetrics `json:"writes"` }
type WorkloadTransactions ¶
type WorkloadTransactions struct { Committed *WorkloadMetrics `json:"committed"` Conflicted *WorkloadMetrics `json:"conflicted"` RejectedForQueuedTooLong *WorkloadMetrics `json:"rejected_for_queued_too_long"` Started *WorkloadMetrics `json:"started"` StartedBatchPriority *WorkloadMetrics `json:"started_batch_priority"` StartedDefaultPriority *WorkloadMetrics `json:"started_default_priority"` StartedImmediatePriority *WorkloadMetrics `json:"started_immediate_priority"` }
Click to show internal directories.
Click to hide internal directories.