Documentation ¶
Index ¶
- Variables
- type KVObject
- func (*KVObject) Descriptor() ([]byte, []int)deprecated
- func (x *KVObject) GetEncrypted() bool
- func (x *KVObject) GetKey() string
- func (x *KVObject) GetMetadata() map[string]string
- func (x *KVObject) GetValue() []byte
- func (x *KVObject) GetXxHash64() uint64
- func (x *KVObject) GetZCompressed() bool
- func (*KVObject) ProtoMessage()
- func (x *KVObject) ProtoReflect() protoreflect.Message
- func (x *KVObject) Reset()
- func (x *KVObject) String() string
- type Trace
- func (*Trace) Descriptor() ([]byte, []int)deprecated
- func (x *Trace) GetXB3Flags() string
- func (x *Trace) GetXB3ParentSpanId() string
- func (x *Trace) GetXB3Sampled() string
- func (x *Trace) GetXB3SpanId() string
- func (x *Trace) GetXB3TraceId() string
- func (x *Trace) GetXRequestId() string
- func (*Trace) ProtoMessage()
- func (x *Trace) ProtoReflect() protoreflect.Message
- func (x *Trace) Reset()
- func (x *Trace) String() string
- type TransactionLogs
- func (*TransactionLogs) Descriptor() ([]byte, []int)deprecated
- func (x *TransactionLogs) GetAppliedToDb() bool
- func (x *TransactionLogs) GetCreatedUnixTimestamp() int64
- func (x *TransactionLogs) GetDatabase() string
- func (x *TransactionLogs) GetEntryUnixTimestamp() int64
- func (x *TransactionLogs) GetKv() *KVObject
- func (x *TransactionLogs) GetLastSequenceNumber() uint64
- func (x *TransactionLogs) GetLogKind() TransactionLogs_LogKind
- func (x *TransactionLogs) GetLogXxHash64_Checksum() uint64
- func (x *TransactionLogs) GetMetadata() map[string]string
- func (x *TransactionLogs) GetOperation() TransactionLogs_Operation
- func (x *TransactionLogs) GetSequenceNumber() uint64
- func (x *TransactionLogs) GetTrace() *Trace
- func (*TransactionLogs) ProtoMessage()
- func (x *TransactionLogs) ProtoReflect() protoreflect.Message
- func (x *TransactionLogs) Reset()
- func (x *TransactionLogs) String() string
- type TransactionLogs_LogKind
- func (TransactionLogs_LogKind) Descriptor() protoreflect.EnumDescriptor
- func (x TransactionLogs_LogKind) Enum() *TransactionLogs_LogKind
- func (TransactionLogs_LogKind) EnumDescriptor() ([]byte, []int)deprecated
- func (x TransactionLogs_LogKind) Number() protoreflect.EnumNumber
- func (x TransactionLogs_LogKind) String() string
- func (TransactionLogs_LogKind) Type() protoreflect.EnumType
- type TransactionLogs_Operation
- func (TransactionLogs_Operation) Descriptor() protoreflect.EnumDescriptor
- func (x TransactionLogs_Operation) Enum() *TransactionLogs_Operation
- func (TransactionLogs_Operation) EnumDescriptor() ([]byte, []int)deprecated
- func (x TransactionLogs_Operation) Number() protoreflect.EnumNumber
- func (x TransactionLogs_Operation) String() string
- func (TransactionLogs_Operation) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( TransactionLogs_LogKind_name = map[int32]string{ 0: "UNKNOWN", 1: "HEARTBEAT", 2: "OPERATIONAL", } TransactionLogs_LogKind_value = map[string]int32{ "UNKNOWN": 0, "HEARTBEAT": 1, "OPERATIONAL": 2, } )
Enum value maps for TransactionLogs_LogKind.
var ( TransactionLogs_Operation_name = map[int32]string{ 0: "UNDEFINED", 1: "SET", 2: "DELETE", } TransactionLogs_Operation_value = map[string]int32{ "UNDEFINED": 0, "SET": 1, "DELETE": 2, } )
Enum value maps for TransactionLogs_Operation.
var File_v1_quicksilverpb_logentry_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type KVObject ¶
type KVObject struct { // encrypted signifies if the value has been encrypted. // algorithm known should be used by the client. Encrypted bool `protobuf:"varint,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` XxHash64 uint64 `protobuf:"varint,4,opt,name=xxHash64,proto3" json:"xxHash64,omitempty"` // key-value level CRC // z_compressed denotes if the value has been zst compressed ZCompressed bool `protobuf:"varint,5,opt,name=z_compressed,json=zCompressed,proto3" json:"z_compressed,omitempty"` // optional metadata for the KVObject Metadata map[string]string `` /* 157-byte string literal not displayed */ // contains filtered or unexported fields }
KVObject are persistent entities in the key value database. Database should save the KVObject instead of saving the client provided value directly.
func (*KVObject) Descriptor
deprecated
func (*KVObject) GetEncrypted ¶
func (*KVObject) GetMetadata ¶
func (*KVObject) GetXxHash64 ¶
func (*KVObject) GetZCompressed ¶
func (*KVObject) ProtoMessage ¶
func (*KVObject) ProtoMessage()
func (*KVObject) ProtoReflect ¶
func (x *KVObject) ProtoReflect() protoreflect.Message
type Trace ¶
type Trace struct { // x_request_id enables logging across the invoked services to be correlated. XRequestId string `protobuf:"bytes,1,opt,name=x_request_id,json=xRequestId,proto3" json:"x_request_id,omitempty"` // b3 propagator. // x-b3-traceid: {TraceId} XB3TraceId string `protobuf:"bytes,2,opt,name=x_b3_trace_id,json=xB3TraceId,proto3" json:"x_b3_trace_id,omitempty"` // x-b3-spanid: {SpanId} XB3SpanId string `protobuf:"bytes,3,opt,name=x_b3_span_id,json=xB3SpanId,proto3" json:"x_b3_span_id,omitempty"` // x-b3-parentspanid: {ParentSpanId} XB3ParentSpanId string `protobuf:"bytes,4,opt,name=x_b3_parent_span_id,json=xB3ParentSpanId,proto3" json:"x_b3_parent_span_id,omitempty"` // x-b3-sampled: {SamplingState} XB3Sampled string `protobuf:"bytes,5,opt,name=x_b3_sampled,json=xB3Sampled,proto3" json:"x_b3_sampled,omitempty"` // x-b3-flags: {DebugFlag} XB3Flags string `protobuf:"bytes,6,opt,name=x_b3_flags,json=xB3Flags,proto3" json:"x_b3_flags,omitempty"` // contains filtered or unexported fields }
Trace provides additional context, to enable parent/child relationships
Traces are propagated in the B3 HTTP Multiple Headers Format. https://github.com/openzipkin/b3-propagation B3 propagated to support non sampled debug propagation
func (*Trace) Descriptor
deprecated
func (*Trace) GetXB3Flags ¶
func (*Trace) GetXB3ParentSpanId ¶
func (*Trace) GetXB3Sampled ¶
func (*Trace) GetXB3SpanId ¶
func (*Trace) GetXB3TraceId ¶
func (*Trace) GetXRequestId ¶
func (*Trace) ProtoMessage ¶
func (*Trace) ProtoMessage()
func (*Trace) ProtoReflect ¶
func (x *Trace) ProtoReflect() protoreflect.Message
type TransactionLogs ¶
type TransactionLogs struct { // logKind defines what kind of TransactionLogs this message is. // logKind of Unknown and Heartbeat should not be saved inside the database. LogKind TransactionLogs_LogKind `protobuf:"varint,1,opt,name=logKind,proto3,enum=v1.quicksilver.TransactionLogs_LogKind" json:"logKind,omitempty"` // operation defines what kind of action to take for this log message while creating database. Operation TransactionLogs_Operation `protobuf:"varint,2,opt,name=operation,proto3,enum=v1.quicksilver.TransactionLogs_Operation" json:"operation,omitempty"` // created_unix_timestamp store the log creation timestamp into int64. // this is useful for calculation the overall replication delay in the system in heartbeat message. // note this doesn't take clock skew and clock drift into account. CreatedUnixTimestamp int64 `protobuf:"varint,3,opt,name=created_unix_timestamp,json=createdUnixTimestamp,proto3" json:"created_unix_timestamp,omitempty"` // sequence_number is not necessarily continuous monotonically increasing sequence number. // It is incremented for each request with SET or DEL operation. // validate last_sequence_number to check for continuity of logs. SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // last_sequence_number stores the last seen sequence number in order. // this helps in detecting the continuity in the replicated log. LastSequenceNumber uint64 `protobuf:"varint,5,opt,name=last_sequence_number,json=lastSequenceNumber,proto3" json:"last_sequence_number,omitempty"` // database is Name of the database where this configuration Object Belongs. // This is logical namespace for different configuration kind. Database string `protobuf:"bytes,6,opt,name=database,proto3" json:"database,omitempty"` // kv is the config object. Kv *KVObject `protobuf:"bytes,7,opt,name=kv,proto3" json:"kv,omitempty"` // CheckSum is XXHash64 from http://cyan4973.github.io/xxHash/ // This should encode all of the information. // 1. LogKind // 2. Operation // 3. created_unix_timestamp // 4. sequence_number // 5. last_sequence_number // 4. database name // 5. KVObject Hash LogXxHash64_Checksum uint64 `protobuf:"varint,8,opt,name=log_xxHash64_Checksum,json=logXxHash64Checksum,proto3" json:"log_xxHash64_Checksum,omitempty"` // entry_unix_timestamp saves the time when this log entry was saved into the database for this instance. EntryUnixTimestamp int64 `protobuf:"varint,9,opt,name=entry_unix_timestamp,json=entryUnixTimestamp,proto3" json:"entry_unix_timestamp,omitempty"` // applied_to_db indicates if log has been already applied to the database. AppliedToDb bool `protobuf:"varint,10,opt,name=applied_to_db,json=appliedToDb,proto3" json:"applied_to_db,omitempty"` // optional metadata for the TransactionLogs Metadata map[string]string `` /* 158-byte string literal not displayed */ // Not all the log message have the trace, but trace are send explicitly when debugging or in heartbeat message. Trace *Trace `protobuf:"bytes,15,opt,name=trace,proto3" json:"trace,omitempty"` // contains filtered or unexported fields }
TransactionLogs is the persistent log entries in the database.
func (*TransactionLogs) Descriptor
deprecated
func (*TransactionLogs) Descriptor() ([]byte, []int)
Deprecated: Use TransactionLogs.ProtoReflect.Descriptor instead.
func (*TransactionLogs) GetAppliedToDb ¶
func (x *TransactionLogs) GetAppliedToDb() bool
func (*TransactionLogs) GetCreatedUnixTimestamp ¶
func (x *TransactionLogs) GetCreatedUnixTimestamp() int64
func (*TransactionLogs) GetDatabase ¶
func (x *TransactionLogs) GetDatabase() string
func (*TransactionLogs) GetEntryUnixTimestamp ¶
func (x *TransactionLogs) GetEntryUnixTimestamp() int64
func (*TransactionLogs) GetKv ¶
func (x *TransactionLogs) GetKv() *KVObject
func (*TransactionLogs) GetLastSequenceNumber ¶
func (x *TransactionLogs) GetLastSequenceNumber() uint64
func (*TransactionLogs) GetLogKind ¶
func (x *TransactionLogs) GetLogKind() TransactionLogs_LogKind
func (*TransactionLogs) GetLogXxHash64_Checksum ¶
func (x *TransactionLogs) GetLogXxHash64_Checksum() uint64
func (*TransactionLogs) GetMetadata ¶
func (x *TransactionLogs) GetMetadata() map[string]string
func (*TransactionLogs) GetOperation ¶
func (x *TransactionLogs) GetOperation() TransactionLogs_Operation
func (*TransactionLogs) GetSequenceNumber ¶
func (x *TransactionLogs) GetSequenceNumber() uint64
func (*TransactionLogs) GetTrace ¶
func (x *TransactionLogs) GetTrace() *Trace
func (*TransactionLogs) ProtoMessage ¶
func (*TransactionLogs) ProtoMessage()
func (*TransactionLogs) ProtoReflect ¶
func (x *TransactionLogs) ProtoReflect() protoreflect.Message
func (*TransactionLogs) Reset ¶
func (x *TransactionLogs) Reset()
func (*TransactionLogs) String ¶
func (x *TransactionLogs) String() string
type TransactionLogs_LogKind ¶
type TransactionLogs_LogKind int32
LogKind defines what kind of TransactionLogs this message is.
const ( TransactionLogs_UNKNOWN TransactionLogs_LogKind = 0 TransactionLogs_HEARTBEAT TransactionLogs_LogKind = 1 TransactionLogs_OPERATIONAL TransactionLogs_LogKind = 2 )
func (TransactionLogs_LogKind) Descriptor ¶
func (TransactionLogs_LogKind) Descriptor() protoreflect.EnumDescriptor
func (TransactionLogs_LogKind) Enum ¶
func (x TransactionLogs_LogKind) Enum() *TransactionLogs_LogKind
func (TransactionLogs_LogKind) EnumDescriptor
deprecated
func (TransactionLogs_LogKind) EnumDescriptor() ([]byte, []int)
Deprecated: Use TransactionLogs_LogKind.Descriptor instead.
func (TransactionLogs_LogKind) Number ¶
func (x TransactionLogs_LogKind) Number() protoreflect.EnumNumber
func (TransactionLogs_LogKind) String ¶
func (x TransactionLogs_LogKind) String() string
func (TransactionLogs_LogKind) Type ¶
func (TransactionLogs_LogKind) Type() protoreflect.EnumType
type TransactionLogs_Operation ¶
type TransactionLogs_Operation int32
Operation defines what kind of action to take for this message while creating database.
const ( TransactionLogs_UNDEFINED TransactionLogs_Operation = 0 TransactionLogs_SET TransactionLogs_Operation = 1 TransactionLogs_DELETE TransactionLogs_Operation = 2 )
func (TransactionLogs_Operation) Descriptor ¶
func (TransactionLogs_Operation) Descriptor() protoreflect.EnumDescriptor
func (TransactionLogs_Operation) Enum ¶
func (x TransactionLogs_Operation) Enum() *TransactionLogs_Operation
func (TransactionLogs_Operation) EnumDescriptor
deprecated
func (TransactionLogs_Operation) EnumDescriptor() ([]byte, []int)
Deprecated: Use TransactionLogs_Operation.Descriptor instead.
func (TransactionLogs_Operation) Number ¶
func (x TransactionLogs_Operation) Number() protoreflect.EnumNumber
func (TransactionLogs_Operation) String ¶
func (x TransactionLogs_Operation) String() string
func (TransactionLogs_Operation) Type ¶
func (TransactionLogs_Operation) Type() protoreflect.EnumType