Documentation ¶
Overview ¶
Package status is a generated protocol buffer package.
It is generated from these files:
cockroach/server/status/status.proto
It has these top-level messages:
NodeStatus
Index ¶
- Variables
- func ProcessNodeEvent(l NodeEventListener, event interface{})
- type CallErrorEvent
- type CallSuccessEvent
- type NodeEventFeed
- type NodeEventListener
- type NodeStatus
- func (m *NodeStatus) GetAvailableRangeCount() int32
- func (m *NodeStatus) GetDesc() cockroach_proto.NodeDescriptor
- func (m *NodeStatus) GetLeaderRangeCount() int32
- func (m *NodeStatus) GetRangeCount() int32
- func (m *NodeStatus) GetReplicatedRangeCount() int32
- func (m *NodeStatus) GetStartedAt() int64
- func (m *NodeStatus) GetStats() cockroach_storage_engine.MVCCStats
- func (m *NodeStatus) GetStoreIDs() []github_com_cockroachdb_cockroach_proto.StoreID
- func (m *NodeStatus) GetUpdatedAt() int64
- func (m *NodeStatus) Marshal() (data []byte, err error)
- func (m *NodeStatus) MarshalTo(data []byte) (int, error)
- func (*NodeStatus) ProtoMessage()
- func (m *NodeStatus) Reset()
- func (m *NodeStatus) Size() (n int)
- func (m *NodeStatus) String() string
- func (m *NodeStatus) Unmarshal(data []byte) error
- type NodeStatusMonitor
- func (nsm *NodeStatusMonitor) GetStoreMonitor(id proto.StoreID) *StoreStatusMonitor
- func (nsm *NodeStatusMonitor) OnBeginScanRanges(event *storage.BeginScanRangesEvent)
- func (nsm *NodeStatusMonitor) OnCallError(event *CallErrorEvent)
- func (nsm *NodeStatusMonitor) OnCallSuccess(event *CallSuccessEvent)
- func (nsm *NodeStatusMonitor) OnEndScanRanges(event *storage.EndScanRangesEvent)
- func (nsm *NodeStatusMonitor) OnMergeRange(event *storage.MergeRangeEvent)
- func (nsm *NodeStatusMonitor) OnRegisterRange(event *storage.RegisterRangeEvent)
- func (nsm *NodeStatusMonitor) OnRemoveRange(event *storage.RemoveRangeEvent)
- func (nsm *NodeStatusMonitor) OnReplicationStatus(event *storage.ReplicationStatusEvent)
- func (nsm *NodeStatusMonitor) OnSplitRange(event *storage.SplitRangeEvent)
- func (nsm *NodeStatusMonitor) OnStartNode(event *StartNodeEvent)
- func (nsm *NodeStatusMonitor) OnStartStore(event *storage.StartStoreEvent)
- func (nsm *NodeStatusMonitor) OnStoreStatus(event *storage.StoreStatusEvent)
- func (nsm *NodeStatusMonitor) OnTrace(trace *tracer.Trace)
- func (nsm *NodeStatusMonitor) OnUpdateRange(event *storage.UpdateRangeEvent)
- func (nsm *NodeStatusMonitor) StartMonitorFeed(feed *util.Feed)
- type NodeStatusRecorder
- type RuntimeStatRecorder
- type StartNodeEvent
- type StoreStatusMonitor
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidLengthStatus = fmt.Errorf("proto: negative length found during unmarshaling")
)
Functions ¶
func ProcessNodeEvent ¶
func ProcessNodeEvent(l NodeEventListener, event interface{})
ProcessNodeEvent dispatches an event on the NodeEventListener.
Types ¶
type CallErrorEvent ¶
CallErrorEvent is published when a call to a node returns an error.
type CallSuccessEvent ¶
CallSuccessEvent is published when a call to a node completes without error.
type NodeEventFeed ¶
type NodeEventFeed struct {
// contains filtered or unexported fields
}
NodeEventFeed is a helper structure which publishes node-specific events to a util.Feed. If the target feed is nil, event methods become no-ops.
func NewNodeEventFeed ¶
func NewNodeEventFeed(id proto.NodeID, feed *util.Feed) NodeEventFeed
NewNodeEventFeed creates a new NodeEventFeed which publishes events for a specific node to the supplied feed.
func (NodeEventFeed) CallComplete ¶
func (nef NodeEventFeed) CallComplete(args proto.Request, reply proto.Response)
CallComplete is called by a node whenever it completes a request. This will publish an appropriate event to the feed based on the results of the call.
func (NodeEventFeed) StartNode ¶
func (nef NodeEventFeed) StartNode(desc proto.NodeDescriptor, startedAt int64)
StartNode is called by a node when it has started.
type NodeEventListener ¶
type NodeEventListener interface { OnStartNode(event *StartNodeEvent) OnCallSuccess(event *CallSuccessEvent) OnCallError(event *CallErrorEvent) // TODO(tschottdorf): break this out into a TraceEventListener. OnTrace(event *tracer.Trace) }
NodeEventListener is an interface that can be implemented by objects which listen for events published by nodes.
type NodeStatus ¶
type NodeStatus struct { Desc cockroach_proto.NodeDescriptor `protobuf:"bytes,1,opt,name=desc" json:"desc"` StoreIDs []github_com_cockroachdb_cockroach_proto.StoreID `protobuf:"varint,2,rep,name=store_ids,casttype=github.com/cockroachdb/cockroach/proto.StoreID" json:"store_ids,omitempty"` RangeCount int32 `protobuf:"varint,3,opt,name=range_count" json:"range_count"` StartedAt int64 `protobuf:"varint,4,opt,name=started_at" json:"started_at"` UpdatedAt int64 `protobuf:"varint,5,opt,name=updated_at" json:"updated_at"` Stats cockroach_storage_engine.MVCCStats `protobuf:"bytes,6,opt,name=stats" json:"stats"` LeaderRangeCount int32 `protobuf:"varint,7,opt,name=leader_range_count" json:"leader_range_count"` ReplicatedRangeCount int32 `protobuf:"varint,8,opt,name=replicated_range_count" json:"replicated_range_count"` AvailableRangeCount int32 `protobuf:"varint,9,opt,name=available_range_count" json:"available_range_count"` }
NodeStatus contains the stats needed to calculate the current status of a node.
func (*NodeStatus) GetAvailableRangeCount ¶
func (m *NodeStatus) GetAvailableRangeCount() int32
func (*NodeStatus) GetDesc ¶
func (m *NodeStatus) GetDesc() cockroach_proto.NodeDescriptor
func (*NodeStatus) GetLeaderRangeCount ¶
func (m *NodeStatus) GetLeaderRangeCount() int32
func (*NodeStatus) GetRangeCount ¶
func (m *NodeStatus) GetRangeCount() int32
func (*NodeStatus) GetReplicatedRangeCount ¶
func (m *NodeStatus) GetReplicatedRangeCount() int32
func (*NodeStatus) GetStartedAt ¶
func (m *NodeStatus) GetStartedAt() int64
func (*NodeStatus) GetStats ¶
func (m *NodeStatus) GetStats() cockroach_storage_engine.MVCCStats
func (*NodeStatus) GetStoreIDs ¶
func (m *NodeStatus) GetStoreIDs() []github_com_cockroachdb_cockroach_proto.StoreID
func (*NodeStatus) GetUpdatedAt ¶
func (m *NodeStatus) GetUpdatedAt() int64
func (*NodeStatus) Marshal ¶
func (m *NodeStatus) Marshal() (data []byte, err error)
func (*NodeStatus) ProtoMessage ¶
func (*NodeStatus) ProtoMessage()
func (*NodeStatus) Reset ¶
func (m *NodeStatus) Reset()
func (*NodeStatus) Size ¶
func (m *NodeStatus) Size() (n int)
func (*NodeStatus) String ¶
func (m *NodeStatus) String() string
func (*NodeStatus) Unmarshal ¶
func (m *NodeStatus) Unmarshal(data []byte) error
type NodeStatusMonitor ¶
NodeStatusMonitor monitors the status of a server node. Status information is collected from event feeds provided by lower level components.
This structure contains collections of other StatusMonitor types which monitor interesting subsets of data on the node. NodeStatusMonitor is responsible for passing event feed data to these subset structures for accumulation.
func NewNodeStatusMonitor ¶
func NewNodeStatusMonitor() *NodeStatusMonitor
NewNodeStatusMonitor initializes a new NodeStatusMonitor instance.
func (*NodeStatusMonitor) GetStoreMonitor ¶
func (nsm *NodeStatusMonitor) GetStoreMonitor(id proto.StoreID) *StoreStatusMonitor
GetStoreMonitor is a helper method which retrieves the StoreStatusMonitor for the given StoreID, creating it if it does not already exist.
func (*NodeStatusMonitor) OnBeginScanRanges ¶
func (nsm *NodeStatusMonitor) OnBeginScanRanges(event *storage.BeginScanRangesEvent)
OnBeginScanRanges receives BeginScanRangesEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnCallError ¶
func (nsm *NodeStatusMonitor) OnCallError(event *CallErrorEvent)
OnCallError receives CallErrorEvents from a node event subscription. This method is part of the implementation of NodeEventListener.
func (*NodeStatusMonitor) OnCallSuccess ¶
func (nsm *NodeStatusMonitor) OnCallSuccess(event *CallSuccessEvent)
OnCallSuccess receives CallSuccessEvents from a node event subscription. This method is part of the implementation of NodeEventListener.
func (*NodeStatusMonitor) OnEndScanRanges ¶
func (nsm *NodeStatusMonitor) OnEndScanRanges(event *storage.EndScanRangesEvent)
OnEndScanRanges receives EndScanRangesEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnMergeRange ¶
func (nsm *NodeStatusMonitor) OnMergeRange(event *storage.MergeRangeEvent)
OnMergeRange receives MergeRangeEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnRegisterRange ¶
func (nsm *NodeStatusMonitor) OnRegisterRange(event *storage.RegisterRangeEvent)
OnRegisterRange receives RegisterRangeEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnRemoveRange ¶
func (nsm *NodeStatusMonitor) OnRemoveRange(event *storage.RemoveRangeEvent)
OnRemoveRange receives RemoveRangeEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnReplicationStatus ¶
func (nsm *NodeStatusMonitor) OnReplicationStatus(event *storage.ReplicationStatusEvent)
OnReplicationStatus receives ReplicationStatusEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnSplitRange ¶
func (nsm *NodeStatusMonitor) OnSplitRange(event *storage.SplitRangeEvent)
OnSplitRange receives SplitRangeEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnStartNode ¶
func (nsm *NodeStatusMonitor) OnStartNode(event *StartNodeEvent)
OnStartNode receives StartNodeEvents from a node event subscription. This method is part of the implementation of NodeEventListener.
func (*NodeStatusMonitor) OnStartStore ¶
func (nsm *NodeStatusMonitor) OnStartStore(event *storage.StartStoreEvent)
OnStartStore receives StartStoreEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnStoreStatus ¶
func (nsm *NodeStatusMonitor) OnStoreStatus(event *storage.StoreStatusEvent)
OnStoreStatus receives StoreStatusEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) OnTrace ¶
func (nsm *NodeStatusMonitor) OnTrace(trace *tracer.Trace)
OnTrace receives Trace objects from a node event subscription. This method is part of the implementation of NodeEventListener.
func (*NodeStatusMonitor) OnUpdateRange ¶
func (nsm *NodeStatusMonitor) OnUpdateRange(event *storage.UpdateRangeEvent)
OnUpdateRange receives UpdateRangeEvents retrieved from a storage event subscription. This method is part of the implementation of store.StoreEventListener.
func (*NodeStatusMonitor) StartMonitorFeed ¶
func (nsm *NodeStatusMonitor) StartMonitorFeed(feed *util.Feed)
StartMonitorFeed starts a goroutine which processes events published to the supplied Subscription. The goroutine will continue running until the Subscription's Events feed is closed.
type NodeStatusRecorder ¶
type NodeStatusRecorder struct { *NodeStatusMonitor // contains filtered or unexported fields }
NodeStatusRecorder is used to periodically persist the status of a node as a set of time series data.
func NewNodeStatusRecorder ¶
func NewNodeStatusRecorder(monitor *NodeStatusMonitor, clock *hlc.Clock) *NodeStatusRecorder
NewNodeStatusRecorder instantiates a recorder for the supplied monitor.
func (*NodeStatusRecorder) GetStatusSummaries ¶
func (nsr *NodeStatusRecorder) GetStatusSummaries() (*NodeStatus, []storage.StoreStatus)
GetStatusSummaries returns a status summary messages for the node, along with a status summary for every individual store within the node.
func (*NodeStatusRecorder) GetTimeSeriesData ¶
func (nsr *NodeStatusRecorder) GetTimeSeriesData() []proto.TimeSeriesData
GetTimeSeriesData returns a slice of interesting TimeSeriesData from the encapsulated NodeStatusMonitor.
type RuntimeStatRecorder ¶
type RuntimeStatRecorder struct {
// contains filtered or unexported fields
}
RuntimeStatRecorder is used to periodically persist useful runtime statistics as time series data. "Runtime statistics" include OS-level statistics (such as memory and CPU usage) and Go runtime statistics (e.g. count of Goroutines).
func NewRuntimeStatRecorder ¶
func NewRuntimeStatRecorder(nodeID proto.NodeID, clock *hlc.Clock) *RuntimeStatRecorder
NewRuntimeStatRecorder instantiates a runtime status recorder for the supplied node ID.
func (*RuntimeStatRecorder) GetTimeSeriesData ¶
func (rsr *RuntimeStatRecorder) GetTimeSeriesData() []proto.TimeSeriesData
GetTimeSeriesData returns a slice of TimeSeriesData updates based on current runtime statistics.
Calling this method will query various system packages for runtime statistics and convert the information to time series data. This is currently done in one method because it is convenient; however, in the future querying and recording can be easily separated, similar to the way that NodeStatus is separated into a monitor and a recorder.
type StartNodeEvent ¶
type StartNodeEvent struct { Desc proto.NodeDescriptor StartedAt int64 }
StartNodeEvent is published when a node is started.
type StoreStatusMonitor ¶
StoreStatusMonitor monitors the status of a single store on the server. Status information is collected from event feeds provided by lower level components.