Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CommandsSummaries = []prometheus.SummaryDefinition{ { Name: []string{"fsm", "register"}, Help: "Measures the time it takes to apply a catalog register operation to the FSM.", }, { Name: []string{"fsm", "deregister"}, Help: "Measures the time it takes to apply a catalog deregister operation to the FSM.", }, { Name: []string{"fsm", "kvs"}, Help: "Measures the time it takes to apply the given KV operation to the FSM.", }, { Name: []string{"fsm", "session"}, Help: "Measures the time it takes to apply the given session operation to the FSM.", }, { Name: []string{"fsm", "acl"}, Help: "Measures the time it takes to apply the given ACL operation to the FSM.", }, { Name: []string{"fsm", "tombstone"}, Help: "Measures the time it takes to apply the given tombstone operation to the FSM.", }, { Name: []string{"fsm", "coordinate", "batch-update"}, Help: "Measures the time it takes to apply the given batch coordinate update to the FSM.", }, { Name: []string{"fsm", "prepared-query"}, Help: "Measures the time it takes to apply the given prepared query update operation to the FSM.", }, { Name: []string{"fsm", "txn"}, Help: "Measures the time it takes to apply the given transaction update to the FSM.", }, { Name: []string{"fsm", "autopilot"}, Help: "Measures the time it takes to apply the given autopilot update to the FSM.", }, { Name: []string{"consul", "fsm", "intention"}, Help: "Deprecated - use fsm_intention instead", }, { Name: []string{"fsm", "intention"}, Help: "Measures the time it takes to apply an intention operation to the FSM.", }, { Name: []string{"consul", "fsm", "ca"}, Help: "Deprecated - use fsm_ca instead", }, { Name: []string{"fsm", "ca"}, Help: "Measures the time it takes to apply CA configuration operations to the FSM.", }, { Name: []string{"fsm", "ca", "leaf"}, Help: "Measures the time it takes to apply an operation while signing a leaf certificate.", }, { Name: []string{"fsm", "acl", "token"}, Help: "Measures the time it takes to apply an ACL token operation to the FSM.", }, { Name: []string{"fsm", "acl", "policy"}, Help: "Measures the time it takes to apply an ACL policy operation to the FSM.", }, { Name: []string{"fsm", "acl", "bindingrule"}, Help: "Measures the time it takes to apply an ACL binding rule operation to the FSM.", }, { Name: []string{"fsm", "acl", "authmethod"}, Help: "Measures the time it takes to apply an ACL authmethod operation to the FSM.", }, { Name: []string{"fsm", "system_metadata"}, Help: "Measures the time it takes to apply a system metadata operation to the FSM.", }, }
View Source
var SnapshotSummaries = []prometheus.SummaryDefinition{ { Name: []string{"fsm", "persist"}, Help: "Measures the time it takes to persist the FSM to a raft snapshot.", }, }
Functions ¶
func ReadSnapshot ¶ added in v1.9.0
func ReadSnapshot(r io.Reader, handler func(header *SnapshotHeader, msg structs.MessageType, dec *codec.Decoder) error) error
ReadSnapshot decodes each message type and utilizes the handler function to process each message type individually
Types ¶
type Deps ¶ added in v1.9.0
type Deps struct {
// Logger used to emit log messages
Logger hclog.Logger
// NewStateStore returns a state.Store which the FSM will use to make changes
// to the state.
// NewStateStore will be called once when the FSM is created and again any
// time Restore() is called.
NewStateStore func() *state.Store
}
Deps are dependencies used to construct the FSM.
type FSM ¶
type FSM struct {
// contains filtered or unexported fields
}
FSM implements a finite state machine that is used along with Raft to provide strong consistency. We implement this outside the Server to avoid exposing this outside the package.
func NewFromDeps ¶ added in v1.9.0
NewFromDeps creates a new FSM from its dependencies.
func (*FSM) ChunkingFSM ¶ added in v1.5.3
func (c *FSM) ChunkingFSM() *raftchunking.ChunkingFSM
type SnapshotHeader ¶ added in v1.9.0
type SnapshotHeader struct {
// LastIndex is the last index that affects the data.
// This is used when we do the restore for watchers.
LastIndex uint64
}
SnapshotHeader is the first entry in our snapshot
Click to show internal directories.
Click to hide internal directories.