cockroachdb

package
v0.0.0-...-2426433 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package cockroachdb implements the dbmon Connector interface It hols everything needed to connect to a CockroachDB cluster and retrieve data

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllNodes

type AllNodes struct {
	Nodes []struct {
		Desc struct {
			NodeID  int `json:"nodeId"`
			Address struct {
				NetworkField string `json:"networkField"`
				AddressField string `json:"addressField"`
			} `json:"address"`
			Attrs struct {
				Attrs []interface{} `json:"attrs"`
			} `json:"attrs"`
			Locality struct {
				Tiers []interface{} `json:"tiers"`
			} `json:"locality"`
			ServerVersion struct {
				MajorVal int `json:"majorVal"`
				MinorVal int `json:"minorVal"`
				Patch    int `json:"patch"`
				Unstable int `json:"unstable"`
			} `json:"ServerVersion"`
			BuildTag        string        `json:"buildTag"`
			StartedAt       string        `json:"startedAt"`
			LocalityAddress []interface{} `json:"localityAddress"`
		} `json:"desc"`
		BuildInfo struct {
			GoVersion       string      `json:"goVersion"`
			Tag             string      `json:"tag"`
			Time            string      `json:"time"`
			Revision        string      `json:"revision"`
			CgoCompiler     string      `json:"cgoCompiler"`
			CgoTargetTriple string      `json:"cgoTargetTriple"`
			Platform        string      `json:"platform"`
			Distribution    string      `json:"distribution"`
			Type            string      `json:"type"`
			Channel         string      `json:"channel"`
			EnvChannel      string      `json:"envChannel"`
			Dependencies    interface{} `json:"dependencies"`
		} `json:"buildInfo"`
		StartedAt     string  `json:"startedAt"`
		UpdatedAt     string  `json:"updatedAt"`
		Metrics       metrics `json:"metrics"`
		StoreStatuses []struct {
			Desc struct {
				StoreID int `json:"storeId"`
				Attrs   struct {
					Attrs []interface{} `json:"attrs"`
				} `json:"attrs"`
				Node struct {
					NodeID  int `json:"nodeId"`
					Address struct {
						NetworkField string `json:"networkField"`
						AddressField string `json:"addressField"`
					} `json:"address"`
					Attrs struct {
						Attrs []interface{} `json:"attrs"`
					} `json:"attrs"`
					Locality struct {
						Tiers []interface{} `json:"tiers"`
					} `json:"locality"`
					ServerVersion struct {
						MajorVal int `json:"majorVal"`
						MinorVal int `json:"minorVal"`
						Patch    int `json:"patch"`
						Unstable int `json:"unstable"`
					} `json:"ServerVersion"`
					BuildTag        string        `json:"buildTag"`
					StartedAt       string        `json:"startedAt"`
					LocalityAddress []interface{} `json:"localityAddress"`
				} `json:"node"`
				Capacity struct {
					Capacity         string  `json:"capacity"`
					Available        string  `json:"available"`
					Used             string  `json:"used"`
					LogicalBytes     string  `json:"logicalBytes"`
					RangeCount       int     `json:"rangeCount"`
					LeaseCount       int     `json:"leaseCount"`
					QueriesPerSecond float64 `json:"queriesPerSecond"`
					WritesPerSecond  float64 `json:"writesPerSecond"`
					BytesPerReplica  struct {
						P10  float64 `json:"p10"`
						P25  float64 `json:"p25"`
						P50  float64 `json:"p50"`
						P75  float64 `json:"p75"`
						P90  float64 `json:"p90"`
						PMax float64 `json:"pMax"`
					} `json:"bytesPerReplica"`
					WritesPerReplica struct {
						P10  float64 `json:"p10"`
						P25  float64 `json:"p25"`
						P50  float64 `json:"p50"`
						P75  float64 `json:"p75"`
						P90  float64 `json:"p90"`
						PMax float64 `json:"pMax"`
					} `json:"writesPerReplica"`
				} `json:"capacity"`
			} `json:"desc"`
			Metrics struct {
				AddsstableApplications                 int     `json:"addsstable.applications"`
				AddsstableCopies                       int     `json:"addsstable.copies"`
				AddsstableProposals                    int     `json:"addsstable.proposals"`
				Capacity                               int     `json:"capacity"`
				CapacityAvailable                      int     `json:"capacity.available"`
				CapacityReserved                       int     `json:"capacity.reserved"`
				CapacityUsed                           int     `json:"capacity.used"`
				CompactorCompactingnanos               int     `json:"compactor.compactingnanos"`
				CompactorCompactionsFailure            int     `json:"compactor.compactions.failure"`
				CompactorCompactionsSuccess            int     `json:"compactor.compactions.success"`
				CompactorSuggestionbytesCompacted      int     `json:"compactor.suggestionbytes.compacted"`
				CompactorSuggestionbytesQueued         int     `json:"compactor.suggestionbytes.queued"`
				CompactorSuggestionbytesSkipped        int     `json:"compactor.suggestionbytes.skipped"`
				FollowerReadsSuccessCount              int     `json:"follower_reads.success_count"`
				Gcbytesage                             int64   `json:"gcbytesage"`
				Intentage                              int     `json:"intentage"`
				Intentbytes                            int     `json:"intentbytes"`
				Intentcount                            int     `json:"intentcount"`
				IntentresolverAsyncThrottled           int     `json:"intentresolver.async.throttled"`
				IntentsAbortAttempts                   int     `json:"intents.abort-attempts"`
				IntentsPoisonAttempts                  int     `json:"intents.poison-attempts"`
				IntentsResolveAttempts                 int     `json:"intents.resolve-attempts"`
				Keybytes                               int     `json:"keybytes"`
				Keycount                               int     `json:"keycount"`
				KvClosedTimestampMaxBehindNanos        int64   `json:"kv.closed_timestamp.max_behind_nanos"`
				KvRangefeedCatchupScanNanos            int     `json:"kv.rangefeed.catchup_scan_nanos"`
				Lastupdatenanos                        int64   `json:"lastupdatenanos"`
				LeasesEpoch                            int     `json:"leases.epoch"`
				LeasesError                            int     `json:"leases.error"`
				LeasesExpiration                       int     `json:"leases.expiration"`
				LeasesSuccess                          int     `json:"leases.success"`
				LeasesTransfersError                   int     `json:"leases.transfers.error"`
				LeasesTransfersSuccess                 int     `json:"leases.transfers.success"`
				Livebytes                              int     `json:"livebytes"`
				Livecount                              int     `json:"livecount"`
				QueueConsistencyPending                int     `json:"queue.consistency.pending"`
				QueueConsistencyProcessFailure         int     `json:"queue.consistency.process.failure"`
				QueueConsistencyProcessSuccess         int     `json:"queue.consistency.process.success"`
				QueueConsistencyProcessingnanos        int64   `json:"queue.consistency.processingnanos"`
				QueueGcInfoAbortspanconsidered         int     `json:"queue.gc.info.abortspanconsidered"`
				QueueGcInfoAbortspangcnum              int     `json:"queue.gc.info.abortspangcnum"`
				QueueGcInfoAbortspanscanned            int     `json:"queue.gc.info.abortspanscanned"`
				QueueGcInfoIntentsconsidered           int     `json:"queue.gc.info.intentsconsidered"`
				QueueGcInfoIntenttxns                  int     `json:"queue.gc.info.intenttxns"`
				QueueGcInfoNumkeysaffected             int     `json:"queue.gc.info.numkeysaffected"`
				QueueGcInfoPushtxn                     int     `json:"queue.gc.info.pushtxn"`
				QueueGcInfoResolvesuccess              int     `json:"queue.gc.info.resolvesuccess"`
				QueueGcInfoResolvetotal                int     `json:"queue.gc.info.resolvetotal"`
				QueueGcInfoTransactionspangcaborted    int     `json:"queue.gc.info.transactionspangcaborted"`
				QueueGcInfoTransactionspangccommitted  int     `json:"queue.gc.info.transactionspangccommitted"`
				QueueGcInfoTransactionspangcpending    int     `json:"queue.gc.info.transactionspangcpending"`
				QueueGcInfoTransactionspanscanned      int     `json:"queue.gc.info.transactionspanscanned"`
				QueueGcPending                         int     `json:"queue.gc.pending"`
				QueueGcProcessFailure                  int     `json:"queue.gc.process.failure"`
				QueueGcProcessSuccess                  int     `json:"queue.gc.process.success"`
				QueueGcProcessingnanos                 int     `json:"queue.gc.processingnanos"`
				QueueMergePending                      int     `json:"queue.merge.pending"`
				QueueMergeProcessFailure               int     `json:"queue.merge.process.failure"`
				QueueMergeProcessSuccess               int     `json:"queue.merge.process.success"`
				QueueMergeProcessingnanos              int64   `json:"queue.merge.processingnanos"`
				QueueMergePurgatory                    int     `json:"queue.merge.purgatory"`
				QueueRaftlogPending                    int     `json:"queue.raftlog.pending"`
				QueueRaftlogProcessFailure             int     `json:"queue.raftlog.process.failure"`
				QueueRaftlogProcessSuccess             int     `json:"queue.raftlog.process.success"`
				QueueRaftlogProcessingnanos            int64   `json:"queue.raftlog.processingnanos"`
				QueueRaftsnapshotPending               int     `json:"queue.raftsnapshot.pending"`
				QueueRaftsnapshotProcessFailure        int     `json:"queue.raftsnapshot.process.failure"`
				QueueRaftsnapshotProcessSuccess        int     `json:"queue.raftsnapshot.process.success"`
				QueueRaftsnapshotProcessingnanos       int     `json:"queue.raftsnapshot.processingnanos"`
				QueueReplicagcPending                  int     `json:"queue.replicagc.pending"`
				QueueReplicagcProcessFailure           int     `json:"queue.replicagc.process.failure"`
				QueueReplicagcProcessSuccess           int     `json:"queue.replicagc.process.success"`
				QueueReplicagcProcessingnanos          int     `json:"queue.replicagc.processingnanos"`
				QueueReplicagcRemovereplica            int     `json:"queue.replicagc.removereplica"`
				QueueReplicateAddreplica               int     `json:"queue.replicate.addreplica"`
				QueueReplicatePending                  int     `json:"queue.replicate.pending"`
				QueueReplicateProcessFailure           int     `json:"queue.replicate.process.failure"`
				QueueReplicateProcessSuccess           int     `json:"queue.replicate.process.success"`
				QueueReplicateProcessingnanos          int     `json:"queue.replicate.processingnanos"`
				QueueReplicatePurgatory                int     `json:"queue.replicate.purgatory"`
				QueueReplicateRebalancereplica         int     `json:"queue.replicate.rebalancereplica"`
				QueueReplicateRemovedeadreplica        int     `json:"queue.replicate.removedeadreplica"`
				QueueReplicateRemovereplica            int     `json:"queue.replicate.removereplica"`
				QueueReplicateTransferlease            int     `json:"queue.replicate.transferlease"`
				QueueSplitPending                      int     `json:"queue.split.pending"`
				QueueSplitProcessFailure               int     `json:"queue.split.process.failure"`
				QueueSplitProcessSuccess               int     `json:"queue.split.process.success"`
				QueueSplitProcessingnanos              int64   `json:"queue.split.processingnanos"`
				QueueSplitPurgatory                    int     `json:"queue.split.purgatory"`
				QueueTsmaintenancePending              int     `json:"queue.tsmaintenance.pending"`
				QueueTsmaintenanceProcessFailure       int     `json:"queue.tsmaintenance.process.failure"`
				QueueTsmaintenanceProcessSuccess       int     `json:"queue.tsmaintenance.process.success"`
				QueueTsmaintenanceProcessingnanos      int     `json:"queue.tsmaintenance.processingnanos"`
				RaftCommandsapplied                    int     `json:"raft.commandsapplied"`
				RaftEnqueuedPending                    int     `json:"raft.enqueued.pending"`
				RaftEntrycacheAccesses                 int     `json:"raft.entrycache.accesses"`
				RaftEntrycacheBytes                    int     `json:"raft.entrycache.bytes"`
				RaftEntrycacheHits                     int     `json:"raft.entrycache.hits"`
				RaftEntrycacheSize                     int     `json:"raft.entrycache.size"`
				RaftHeartbeatsPending                  int     `json:"raft.heartbeats.pending"`
				RaftProcessApplycommittedLatencyMax    int     `json:"raft.process.applycommitted.latency-max"`
				RaftProcessApplycommittedLatencyP50    int     `json:"raft.process.applycommitted.latency-p50"`
				RaftProcessApplycommittedLatencyP75    int     `json:"raft.process.applycommitted.latency-p75"`
				RaftProcessApplycommittedLatencyP90    int     `json:"raft.process.applycommitted.latency-p90"`
				RaftProcessApplycommittedLatencyP99    int     `json:"raft.process.applycommitted.latency-p99"`
				RaftProcessApplycommittedLatencyP999   int     `json:"raft.process.applycommitted.latency-p99.9"`
				RaftProcessApplycommittedLatencyP9999  int     `json:"raft.process.applycommitted.latency-p99.99"`
				RaftProcessApplycommittedLatencyP99999 int     `json:"raft.process.applycommitted.latency-p99.999"`
				RaftProcessCommandcommitLatencyMax     int     `json:"raft.process.commandcommit.latency-max"`
				RaftProcessCommandcommitLatencyP50     int     `json:"raft.process.commandcommit.latency-p50"`
				RaftProcessCommandcommitLatencyP75     int     `json:"raft.process.commandcommit.latency-p75"`
				RaftProcessCommandcommitLatencyP90     int     `json:"raft.process.commandcommit.latency-p90"`
				RaftProcessCommandcommitLatencyP99     int     `json:"raft.process.commandcommit.latency-p99"`
				RaftProcessCommandcommitLatencyP999    int     `json:"raft.process.commandcommit.latency-p99.9"`
				RaftProcessCommandcommitLatencyP9999   int     `json:"raft.process.commandcommit.latency-p99.99"`
				RaftProcessCommandcommitLatencyP99999  int     `json:"raft.process.commandcommit.latency-p99.999"`
				RaftProcessHandlereadyLatencyMax       int     `json:"raft.process.handleready.latency-max"`
				RaftProcessHandlereadyLatencyP50       int     `json:"raft.process.handleready.latency-p50"`
				RaftProcessHandlereadyLatencyP75       int     `json:"raft.process.handleready.latency-p75"`
				RaftProcessHandlereadyLatencyP90       int     `json:"raft.process.handleready.latency-p90"`
				RaftProcessHandlereadyLatencyP99       int     `json:"raft.process.handleready.latency-p99"`
				RaftProcessHandlereadyLatencyP999      int     `json:"raft.process.handleready.latency-p99.9"`
				RaftProcessHandlereadyLatencyP9999     int     `json:"raft.process.handleready.latency-p99.99"`
				RaftProcessHandlereadyLatencyP99999    int     `json:"raft.process.handleready.latency-p99.999"`
				RaftProcessLogcommitLatencyMax         int     `json:"raft.process.logcommit.latency-max"`
				RaftProcessLogcommitLatencyP50         int     `json:"raft.process.logcommit.latency-p50"`
				RaftProcessLogcommitLatencyP75         int     `json:"raft.process.logcommit.latency-p75"`
				RaftProcessLogcommitLatencyP90         int     `json:"raft.process.logcommit.latency-p90"`
				RaftProcessLogcommitLatencyP99         int     `json:"raft.process.logcommit.latency-p99"`
				RaftProcessLogcommitLatencyP999        int     `json:"raft.process.logcommit.latency-p99.9"`
				RaftProcessLogcommitLatencyP9999       int     `json:"raft.process.logcommit.latency-p99.99"`
				RaftProcessLogcommitLatencyP99999      int     `json:"raft.process.logcommit.latency-p99.999"`
				RaftProcessTickingnanos                int64   `json:"raft.process.tickingnanos"`
				RaftProcessWorkingnanos                int64   `json:"raft.process.workingnanos"`
				RaftRcvdApp                            int     `json:"raft.rcvd.app"`
				RaftRcvdAppresp                        int     `json:"raft.rcvd.appresp"`
				RaftRcvdDropped                        int     `json:"raft.rcvd.dropped"`
				RaftRcvdHeartbeat                      int     `json:"raft.rcvd.heartbeat"`
				RaftRcvdHeartbeatresp                  int     `json:"raft.rcvd.heartbeatresp"`
				RaftRcvdPrevote                        int     `json:"raft.rcvd.prevote"`
				RaftRcvdPrevoteresp                    int     `json:"raft.rcvd.prevoteresp"`
				RaftRcvdProp                           int     `json:"raft.rcvd.prop"`
				RaftRcvdSnap                           int     `json:"raft.rcvd.snap"`
				RaftRcvdTimeoutnow                     int     `json:"raft.rcvd.timeoutnow"`
				RaftRcvdTransferleader                 int     `json:"raft.rcvd.transferleader"`
				RaftRcvdVote                           int     `json:"raft.rcvd.vote"`
				RaftRcvdVoteresp                       int     `json:"raft.rcvd.voteresp"`
				RaftTicks                              int     `json:"raft.ticks"`
				RaftlogBehind                          int     `json:"raftlog.behind"`
				RaftlogTruncated                       int     `json:"raftlog.truncated"`
				RangeAdds                              int     `json:"range.adds"`
				RangeMerges                            int     `json:"range.merges"`
				RangeRaftleadertransfers               int     `json:"range.raftleadertransfers"`
				RangeRemoves                           int     `json:"range.removes"`
				RangeSnapshotsGenerated                int     `json:"range.snapshots.generated"`
				RangeSnapshotsNormalApplied            int     `json:"range.snapshots.normal-applied"`
				RangeSnapshotsPreemptiveApplied        int     `json:"range.snapshots.preemptive-applied"`
				RangeSplits                            int     `json:"range.splits"`
				Ranges                                 int     `json:"ranges"`
				RangesOverreplicated                   int     `json:"ranges.overreplicated"`
				RangesUnavailable                      int     `json:"ranges.unavailable"`
				RangesUnderreplicated                  int     `json:"ranges.underreplicated"`
				RebalancingLeaseTransfers              int     `json:"rebalancing.lease.transfers"`
				RebalancingQueriespersecond            float64 `json:"rebalancing.queriespersecond"`
				RebalancingRangeRebalances             int     `json:"rebalancing.range.rebalances"`
				RebalancingWritespersecond             float64 `json:"rebalancing.writespersecond"`
				Replicas                               int     `json:"replicas"`
				ReplicasLeaders                        int     `json:"replicas.leaders"`
				ReplicasLeadersNotLeaseholders         int     `json:"replicas.leaders_not_leaseholders"`
				ReplicasLeaseholders                   int     `json:"replicas.leaseholders"`
				ReplicasQuiescent                      int     `json:"replicas.quiescent"`
				ReplicasReserved                       int     `json:"replicas.reserved"`
				RequestsBackpressureSplit              int     `json:"requests.backpressure.split"`
				RequestsSlowLatch                      int     `json:"requests.slow.latch"`
				RequestsSlowLease                      int     `json:"requests.slow.lease"`
				RequestsSlowRaft                       int     `json:"requests.slow.raft"`
				RocksdbBlockCacheHits                  int     `json:"rocksdb.block.cache.hits"`
				RocksdbBlockCacheMisses                int     `json:"rocksdb.block.cache.misses"`
				RocksdbBlockCachePinnedUsage           int     `json:"rocksdb.block.cache.pinned-usage"`
				RocksdbBlockCacheUsage                 int     `json:"rocksdb.block.cache.usage"`
				RocksdbBloomFilterPrefixChecked        int     `json:"rocksdb.bloom.filter.prefix.checked"`
				RocksdbBloomFilterPrefixUseful         int     `json:"rocksdb.bloom.filter.prefix.useful"`
				RocksdbCompactions                     int     `json:"rocksdb.compactions"`
				RocksdbEncryptionAlgorithm             int     `json:"rocksdb.encryption.algorithm"`
				RocksdbFlushes                         int     `json:"rocksdb.flushes"`
				RocksdbMemtableTotalSize               int     `json:"rocksdb.memtable.total-size"`
				RocksdbNumSstables                     int     `json:"rocksdb.num-sstables"`
				RocksdbReadAmplification               int     `json:"rocksdb.read-amplification"`
				RocksdbTableReadersMemEstimate         int     `json:"rocksdb.table-readers-mem-estimate"`
				Sysbytes                               int     `json:"sysbytes"`
				Syscount                               int     `json:"syscount"`
				Totalbytes                             int     `json:"totalbytes"`
				TscacheSklReadPages                    int     `json:"tscache.skl.read.pages"`
				TscacheSklReadRotations                int     `json:"tscache.skl.read.rotations"`
				TscacheSklWritePages                   int     `json:"tscache.skl.write.pages"`
				TscacheSklWriteRotations               int     `json:"tscache.skl.write.rotations"`
				TxnwaitqueueDeadlocksTotal             int     `json:"txnwaitqueue.deadlocks_total"`
				TxnwaitqueuePusheeWaiting              int     `json:"txnwaitqueue.pushee.waiting"`
				TxnwaitqueuePusherSlow                 int     `json:"txnwaitqueue.pusher.slow"`
				TxnwaitqueuePusherWaitTimeMax          int     `json:"txnwaitqueue.pusher.wait_time-max"`
				TxnwaitqueuePusherWaitTimeP50          int     `json:"txnwaitqueue.pusher.wait_time-p50"`
				TxnwaitqueuePusherWaitTimeP75          int     `json:"txnwaitqueue.pusher.wait_time-p75"`
				TxnwaitqueuePusherWaitTimeP90          int     `json:"txnwaitqueue.pusher.wait_time-p90"`
				TxnwaitqueuePusherWaitTimeP99          int     `json:"txnwaitqueue.pusher.wait_time-p99"`
				TxnwaitqueuePusherWaitTimeP999         int     `json:"txnwaitqueue.pusher.wait_time-p99.9"`
				TxnwaitqueuePusherWaitTimeP9999        int     `json:"txnwaitqueue.pusher.wait_time-p99.99"`
				TxnwaitqueuePusherWaitTimeP99999       int     `json:"txnwaitqueue.pusher.wait_time-p99.999"`
				TxnwaitqueuePusherWaiting              int     `json:"txnwaitqueue.pusher.waiting"`
				TxnwaitqueueQueryWaitTimeMax           int     `json:"txnwaitqueue.query.wait_time-max"`
				TxnwaitqueueQueryWaitTimeP50           int     `json:"txnwaitqueue.query.wait_time-p50"`
				TxnwaitqueueQueryWaitTimeP75           int     `json:"txnwaitqueue.query.wait_time-p75"`
				TxnwaitqueueQueryWaitTimeP90           int     `json:"txnwaitqueue.query.wait_time-p90"`
				TxnwaitqueueQueryWaitTimeP99           int     `json:"txnwaitqueue.query.wait_time-p99"`
				TxnwaitqueueQueryWaitTimeP999          int     `json:"txnwaitqueue.query.wait_time-p99.9"`
				TxnwaitqueueQueryWaitTimeP9999         int     `json:"txnwaitqueue.query.wait_time-p99.99"`
				TxnwaitqueueQueryWaitTimeP99999        int     `json:"txnwaitqueue.query.wait_time-p99.999"`
				TxnwaitqueueQueryWaiting               int     `json:"txnwaitqueue.query.waiting"`
				Valbytes                               int     `json:"valbytes"`
				Valcount                               int     `json:"valcount"`
			} `json:"metrics"`
		} `json:"storeStatuses"`
		Args      []string `json:"args"`
		Env       []string `json:"env"`
		Latencies struct {
		} `json:"latencies"`
		Activity struct {
			Num1 struct {
				Incoming string `json:"incoming"`
				Outgoing string `json:"outgoing"`
				Latency  string `json:"latency"`
			} `json:"1"`
			Num2 struct {
				Incoming string `json:"incoming"`
				Outgoing string `json:"outgoing"`
				Latency  string `json:"latency"`
			} `json:"2"`
			Num3 struct {
				Incoming string `json:"incoming"`
				Outgoing string `json:"outgoing"`
				Latency  string `json:"latency"`
			} `json:"3"`
		} `json:"activity"`
		TotalSystemMemory string `json:"totalSystemMemory"`
		NumCpus           int    `json:"numCpus"`
	} `json:"nodes"`
}

AllNodes holds the json response from /_status/nodes

type ClusterRaft

type ClusterRaft struct {
	/*Ranges struct {
		Num1 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"expiration"`
								Replica struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"deprecatedStartStasis"`
								ProposedTs struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"expiration"`
						Replica struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"deprecatedStartStasis"`
						ProposedTs struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int     `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Replica struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"deprecatedStartStasis"`
							ProposedTs struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int         `json:"state"`
						Liveness interface{} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"1"`
		Num2 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"expiration"`
								Replica struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"deprecatedStartStasis"`
								ProposedTs struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"expiration"`
						Replica struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"deprecatedStartStasis"`
						ProposedTs struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int     `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Replica struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"deprecatedStartStasis"`
							ProposedTs struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int         `json:"state"`
						Liveness interface{} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"2"`
		Num3 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"3"`
		Num4 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"4"`
		Num5 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"5"`
		Num6 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  int     `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"6"`
		Num7 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"7"`
		Num8 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"8"`
		Num9 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int     `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"9"`
		Num10 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"10"`
		Num11 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  int     `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"11"`
		Num12 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"12"`
		Num13 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"13"`
		Num14 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"14"`
		Num15 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"15"`
		Num16 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"16"`
		Num17 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"17"`
		Num18 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"18"`
		Num19 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"19"`
		Num20 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"20"`
		Num21 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"21"`
		Num35 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"35"`
		Num37 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"37"`
		Num40 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int     `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"40"`
		Num42 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int `json:"queriesPerSecond"`
						WritesPerSecond  int `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"42"`
		Num43 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"43"`
		Num44 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
							Num1 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"1"`
							Num2 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"2"`
							Num3 struct {
								Match           string `json:"match"`
								Next            string `json:"next"`
								State           string `json:"state"`
								Paused          bool   `json:"paused"`
								PendingSnapshot string `json:"pendingSnapshot"`
							} `json:"3"`
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int    `json:"nextReplicaId"`
								Generation    string `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond float64 `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"44"`
		Num61 struct {
			RangeID string        `json:"rangeId"`
			Errors  []interface{} `json:"errors"`
			Nodes   []struct {
				NodeID int `json:"nodeId"`
				Range  struct {
					Span struct {
						StartKey string `json:"startKey"`
						EndKey   string `json:"endKey"`
					} `json:"span"`
					RaftState struct {
						ReplicaID string `json:"replicaId"`
						HardState struct {
							Term   string `json:"term"`
							Vote   string `json:"vote"`
							Commit string `json:"commit"`
						} `json:"hardState"`
						Lead     string `json:"lead"`
						State    string `json:"state"`
						Applied  string `json:"applied"`
						Progress struct {
						} `json:"progress"`
						LeadTransferee string `json:"leadTransferee"`
					} `json:"raftState"`
					State struct {
						State struct {
							RaftAppliedIndex  string `json:"raftAppliedIndex"`
							LeaseAppliedIndex string `json:"leaseAppliedIndex"`
							Desc              struct {
								RangeID  string      `json:"rangeId"`
								StartKey interface{} `json:"startKey"`
								EndKey   interface{} `json:"endKey"`
								Replicas []struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replicas"`
								NextReplicaID int         `json:"nextReplicaId"`
								Generation    interface{} `json:"generation"`
							} `json:"desc"`
							Lease struct {
								Start struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"start"`
								Expiration interface{} `json:"expiration"`
								Replica    struct {
									NodeID    int `json:"nodeId"`
									StoreID   int `json:"storeId"`
									ReplicaID int `json:"replicaId"`
								} `json:"replica"`
								DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
								ProposedTs            struct {
									WallTime string `json:"wallTime"`
									Logical  int    `json:"logical"`
								} `json:"proposedTs"`
								Epoch    string `json:"epoch"`
								Sequence string `json:"sequence"`
							} `json:"lease"`
							TruncatedState struct {
								Index string `json:"index"`
								Term  string `json:"term"`
							} `json:"truncatedState"`
							GcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"gcThreshold"`
							Stats struct {
								ContainsEstimates bool   `json:"containsEstimates"`
								LastUpdateNanos   string `json:"lastUpdateNanos"`
								IntentAge         string `json:"intentAge"`
								GcBytesAge        string `json:"gcBytesAge"`
								LiveBytes         string `json:"liveBytes"`
								LiveCount         string `json:"liveCount"`
								KeyBytes          string `json:"keyBytes"`
								KeyCount          string `json:"keyCount"`
								ValBytes          string `json:"valBytes"`
								ValCount          string `json:"valCount"`
								IntentBytes       string `json:"intentBytes"`
								IntentCount       string `json:"intentCount"`
								SysBytes          string `json:"sysBytes"`
								SysCount          string `json:"sysCount"`
							} `json:"stats"`
							TxnSpanGcThreshold struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"txnSpanGcThreshold"`
							UsingAppliedStateKey bool `json:"usingAppliedStateKey"`
						} `json:"state"`
						LastIndex                string `json:"lastIndex"`
						NumPending               string `json:"numPending"`
						NumDropped               string `json:"numDropped"`
						RaftLogSize              string `json:"raftLogSize"`
						RaftLogSizeTrusted       bool   `json:"raftLogSizeTrusted"`
						ApproximateProposalQuota string `json:"approximateProposalQuota"`
						RangeMaxBytes            string `json:"rangeMaxBytes"`
						NewestClosedTimestamp    struct {
							NodeID          int `json:"nodeId"`
							ClosedTimestamp struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"closedTimestamp"`
							Mlai string `json:"mlai"`
						} `json:"newestClosedTimestamp"`
						ActiveClosedTimestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"activeClosedTimestamp"`
					} `json:"state"`
					SourceNodeID  int    `json:"sourceNodeId"`
					SourceStoreID int    `json:"sourceStoreId"`
					ErrorMessage  string `json:"errorMessage"`
					LeaseHistory  []struct {
						Start struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"start"`
						Expiration interface{} `json:"expiration"`
						Replica    struct {
							NodeID    int `json:"nodeId"`
							StoreID   int `json:"storeId"`
							ReplicaID int `json:"replicaId"`
						} `json:"replica"`
						DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
						ProposedTs            struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"proposedTs"`
						Epoch    string `json:"epoch"`
						Sequence string `json:"sequence"`
					} `json:"leaseHistory"`
					Problems struct {
						Unavailable            bool `json:"unavailable"`
						LeaderNotLeaseHolder   bool `json:"leaderNotLeaseHolder"`
						NoRaftLeader           bool `json:"noRaftLeader"`
						Underreplicated        bool `json:"underreplicated"`
						Overreplicated         bool `json:"overreplicated"`
						NoLease                bool `json:"noLease"`
						QuiescentEqualsTicking bool `json:"quiescentEqualsTicking"`
						RaftLogTooLarge        bool `json:"raftLogTooLarge"`
					} `json:"problems"`
					Stats struct {
						QueriesPerSecond int     `json:"queriesPerSecond"`
						WritesPerSecond  float64 `json:"writesPerSecond"`
					} `json:"stats"`
					LatchesLocal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesLocal"`
					LatchesGlobal struct {
						ReadCount  string `json:"readCount"`
						WriteCount string `json:"writeCount"`
					} `json:"latchesGlobal"`
					LeaseStatus struct {
						Lease struct {
							Start struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"start"`
							Expiration interface{} `json:"expiration"`
							Replica    struct {
								NodeID    int `json:"nodeId"`
								StoreID   int `json:"storeId"`
								ReplicaID int `json:"replicaId"`
							} `json:"replica"`
							DeprecatedStartStasis interface{} `json:"deprecatedStartStasis"`
							ProposedTs            struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"proposedTs"`
							Epoch    string `json:"epoch"`
							Sequence string `json:"sequence"`
						} `json:"lease"`
						Timestamp struct {
							WallTime string `json:"wallTime"`
							Logical  int    `json:"logical"`
						} `json:"timestamp"`
						State    int `json:"state"`
						Liveness struct {
							NodeID     int    `json:"nodeId"`
							Epoch      string `json:"epoch"`
							Expiration struct {
								WallTime string `json:"wallTime"`
								Logical  int    `json:"logical"`
							} `json:"expiration"`
							Draining        bool `json:"draining"`
							Decommissioning bool `json:"decommissioning"`
						} `json:"liveness"`
					} `json:"leaseStatus"`
					Quiescent bool `json:"quiescent"`
					Ticking   bool `json:"ticking"`
				} `json:"range"`
			} `json:"nodes"`
		} `json:"61"`
	} `json:"ranges"`*/
	Ranges []interface{} `json:"ranges"`
	Errors []interface{} `json:"errors"`
}

ClusterRaft holds the json response from /_status/raft

type Health

type Health struct {
	NodeID  int `json:"nodeId"`
	Address struct {
		NetworkField string `json:"networkField"`
		AddressField string `json:"addressField"`
	} `json:"address"`
	BuildInfo struct {
		GoVersion       string      `json:"goVersion"`
		Tag             string      `json:"tag"`
		Time            string      `json:"time"`
		Revision        string      `json:"revision"`
		CgoCompiler     string      `json:"cgoCompiler"`
		CgoTargetTriple string      `json:"cgoTargetTriple"`
		Platform        string      `json:"platform"`
		Distribution    string      `json:"distribution"`
		Type            string      `json:"type"`
		Channel         string      `json:"channel"`
		EnvChannel      string      `json:"envChannel"`
		Dependencies    interface{} `json:"dependencies"`
	} `json:"buildInfo"`
	SystemInfo struct {
		SystemInfo string `json:"systemInfo"`
		KernelInfo string `json:"kernelInfo"`
	} `json:"systemInfo"`
}

Health holds general information about a node /health /healthready

type NodeStats

type NodeStats struct {
	ID                int  // Id in the cluster
	Up                bool // Is it Up ?
	Init              bool // Is it in init state ?
	Out               bool // Is it decommissioned or shutting down ?
	Dead              bool // Is it completely unavailable ?
	Ranges            uint // Number of ranges this node holds
	Replicas          uint // Number of Replicas
	CapacityUsage     uint64
	CapacityReserved  uint64
	CapacityAvailable uint64
	Capacity          uint64
	TotalSystemMemory int64
	MemoryUsage       uint64
	MemoryReserved    uint64
	MemoryAvailable   uint64
	QueriesPerSecond  float64
	Latency99         uint64
	ClockOffset       uint32
}

NodeStats concentrates information and statistics about a node

type RoachConnector

type RoachConnector struct {
	// contains filtered or unexported fields
}

RoachConnector is the struct to interact with, holding connection info about the target cluster

func NewConnector

func NewConnector(id string, ip string, port string, period time.Duration, timeout time.Duration) *RoachConnector

NewConnector returns a new initialised connector for a CockRoachDB endpoint

func (RoachConnector) Period

func (rc RoachConnector) Period() time.Duration

Period returns the connector's period attribute

func (RoachConnector) Probe

func (rc RoachConnector) Probe() (probe *dbmon.Probe, err error)

Probe operates requests to the cluster

Jump to

Keyboard shortcuts

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