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"`
Degraded bool `json:"degraded"`
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"`
RunLoopBusy float64 `json:"run_loop_busy"`
}
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.