Documentation ¶
Overview ¶
Package logpb contains LogDog protobuf source and generated protobuf data.
The package name here must match the protobuf package name, as the generated files will reside in the same directory.
Index ¶
- Constants
- Variables
- type Binary
- type ButlerLogBundle
- func (*ButlerLogBundle) Descriptor() ([]byte, []int)deprecated
- func (x *ButlerLogBundle) GetDeprecatedSource() string
- func (x *ButlerLogBundle) GetEntries() []*ButlerLogBundle_Entry
- func (x *ButlerLogBundle) GetPrefix() string
- func (x *ButlerLogBundle) GetProject() string
- func (x *ButlerLogBundle) GetSecret() []byte
- func (x *ButlerLogBundle) GetTimestamp() *timestamppb.Timestamp
- func (*ButlerLogBundle) ProtoMessage()
- func (x *ButlerLogBundle) ProtoReflect() protoreflect.Message
- func (x *ButlerLogBundle) Reset()
- func (x *ButlerLogBundle) String() string
- type ButlerLogBundle_Entry
- func (*ButlerLogBundle_Entry) Descriptor() ([]byte, []int)deprecated
- func (x *ButlerLogBundle_Entry) GetDeprecatedEntrySecret() []byte
- func (x *ButlerLogBundle_Entry) GetDesc() *LogStreamDescriptor
- func (x *ButlerLogBundle_Entry) GetLogs() []*LogEntry
- func (x *ButlerLogBundle_Entry) GetTerminal() bool
- func (x *ButlerLogBundle_Entry) GetTerminalIndex() uint64
- func (*ButlerLogBundle_Entry) ProtoMessage()
- func (x *ButlerLogBundle_Entry) ProtoReflect() protoreflect.Message
- func (x *ButlerLogBundle_Entry) Reset()
- func (x *ButlerLogBundle_Entry) String() string
- type ButlerMetadata
- func (*ButlerMetadata) Descriptor() ([]byte, []int)deprecated
- func (x *ButlerMetadata) GetCompression() ButlerMetadata_Compression
- func (x *ButlerMetadata) GetProtoVersion() string
- func (x *ButlerMetadata) GetType() ButlerMetadata_ContentType
- func (*ButlerMetadata) ProtoMessage()
- func (x *ButlerMetadata) ProtoReflect() protoreflect.Message
- func (x *ButlerMetadata) Reset()
- func (x *ButlerMetadata) String() string
- type ButlerMetadata_Compression
- func (ButlerMetadata_Compression) Descriptor() protoreflect.EnumDescriptor
- func (x ButlerMetadata_Compression) Enum() *ButlerMetadata_Compression
- func (ButlerMetadata_Compression) EnumDescriptor() ([]byte, []int)deprecated
- func (x ButlerMetadata_Compression) Number() protoreflect.EnumNumber
- func (x ButlerMetadata_Compression) String() string
- func (ButlerMetadata_Compression) Type() protoreflect.EnumType
- type ButlerMetadata_ContentType
- func (ButlerMetadata_ContentType) Descriptor() protoreflect.EnumDescriptor
- func (x ButlerMetadata_ContentType) Enum() *ButlerMetadata_ContentType
- func (ButlerMetadata_ContentType) EnumDescriptor() ([]byte, []int)deprecated
- func (x ButlerMetadata_ContentType) Number() protoreflect.EnumNumber
- func (x ButlerMetadata_ContentType) String() string
- func (ButlerMetadata_ContentType) Type() protoreflect.EnumType
- type Datagram
- type Datagram_Partial
- func (*Datagram_Partial) Descriptor() ([]byte, []int)deprecated
- func (x *Datagram_Partial) GetIndex() uint32
- func (x *Datagram_Partial) GetLast() bool
- func (x *Datagram_Partial) GetSize() uint64
- func (*Datagram_Partial) ProtoMessage()
- func (x *Datagram_Partial) ProtoReflect() protoreflect.Message
- func (x *Datagram_Partial) Reset()
- func (x *Datagram_Partial) String() string
- type LogEntry
- func (*LogEntry) Descriptor() ([]byte, []int)deprecated
- func (x *LogEntry) GetBinary() *Binary
- func (m *LogEntry) GetContent() isLogEntry_Content
- func (x *LogEntry) GetDatagram() *Datagram
- func (x *LogEntry) GetPrefixIndex() uint64
- func (x *LogEntry) GetSequence() uint64
- func (x *LogEntry) GetStreamIndex() uint64
- func (x *LogEntry) GetText() *Text
- func (x *LogEntry) GetTimeOffset() *durationpb.Duration
- func (*LogEntry) ProtoMessage()
- func (x *LogEntry) ProtoReflect() protoreflect.Message
- func (x *LogEntry) Reset()
- func (x *LogEntry) String() string
- func (e *LogEntry) Validate(d *LogStreamDescriptor) error
- type LogEntry_Binary
- type LogEntry_Datagram
- type LogEntry_Text
- type LogIndex
- func (*LogIndex) Descriptor() ([]byte, []int)deprecated
- func (x *LogIndex) GetDesc() *LogStreamDescriptor
- func (x *LogIndex) GetEntries() []*LogIndex_Entry
- func (x *LogIndex) GetLastPrefixIndex() uint64
- func (x *LogIndex) GetLastStreamIndex() uint64
- func (x *LogIndex) GetLogEntryCount() uint64
- func (*LogIndex) ProtoMessage()
- func (x *LogIndex) ProtoReflect() protoreflect.Message
- func (x *LogIndex) Reset()
- func (x *LogIndex) String() string
- type LogIndex_Entry
- func (*LogIndex_Entry) Descriptor() ([]byte, []int)deprecated
- func (x *LogIndex_Entry) GetOffset() uint64
- func (x *LogIndex_Entry) GetPrefixIndex() uint64
- func (x *LogIndex_Entry) GetSequence() uint64
- func (x *LogIndex_Entry) GetStreamIndex() uint64
- func (x *LogIndex_Entry) GetTimeOffset() *durationpb.Duration
- func (*LogIndex_Entry) ProtoMessage()
- func (x *LogIndex_Entry) ProtoReflect() protoreflect.Message
- func (x *LogIndex_Entry) Reset()
- func (x *LogIndex_Entry) String() string
- type LogStreamDescriptor
- func (*LogStreamDescriptor) Descriptor() ([]byte, []int)deprecated
- func (d *LogStreamDescriptor) Equal(o *LogStreamDescriptor) bool
- func (x *LogStreamDescriptor) GetBinaryFileExt() string
- func (x *LogStreamDescriptor) GetContentType() string
- func (x *LogStreamDescriptor) GetName() string
- func (x *LogStreamDescriptor) GetPrefix() string
- func (x *LogStreamDescriptor) GetStreamType() StreamType
- func (x *LogStreamDescriptor) GetTags() map[string]string
- func (x *LogStreamDescriptor) GetTimestamp() *timestamppb.Timestamp
- func (d *LogStreamDescriptor) Path() types.StreamPath
- func (*LogStreamDescriptor) ProtoMessage()
- func (x *LogStreamDescriptor) ProtoReflect() protoreflect.Message
- func (x *LogStreamDescriptor) Reset()
- func (x *LogStreamDescriptor) String() string
- func (d *LogStreamDescriptor) Validate(prefix bool) error
- type StreamType
- type Text
- type Text_Line
Constants ¶
const Version = "1"
Version is the protocol version number. This number should be incremented when a non-backwards-compatible change is made to LogDog protobufs.
Variables ¶
var ( ButlerMetadata_ContentType_name = map[int32]string{ 0: "Invalid", 1: "ButlerLogBundle", } ButlerMetadata_ContentType_value = map[string]int32{ "Invalid": 0, "ButlerLogBundle": 1, } )
Enum value maps for ButlerMetadata_ContentType.
var ( ButlerMetadata_Compression_name = map[int32]string{ 0: "NONE", 1: "ZLIB", } ButlerMetadata_Compression_value = map[string]int32{ "NONE": 0, "ZLIB": 1, } )
Enum value maps for ButlerMetadata_Compression.
var ( StreamType_name = map[int32]string{ 0: "TEXT", 1: "BINARY", 2: "DATAGRAM", } StreamType_value = map[string]int32{ "TEXT": 0, "BINARY": 1, "DATAGRAM": 2, } )
Enum value maps for StreamType.
var ( // ErrNoContent indicates that a LogEntry has no data content. ErrNoContent = errors.New("no content") )
var File_go_chromium_org_luci_logdog_api_logpb_butler_proto protoreflect.FileDescriptor
var File_go_chromium_org_luci_logdog_api_logpb_log_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Binary ¶
type Binary struct { // The binary stream's data. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
Binary stream content.
func (*Binary) Descriptor
deprecated
func (*Binary) ProtoMessage ¶
func (*Binary) ProtoMessage()
func (*Binary) ProtoReflect ¶
func (x *Binary) ProtoReflect() protoreflect.Message
type ButlerLogBundle ¶
type ButlerLogBundle struct { // (DEPRECATED) Stream source information. Now supplied during prefix // registration. DeprecatedSource string `protobuf:"bytes,1,opt,name=deprecated_source,json=deprecatedSource,proto3" json:"deprecated_source,omitempty"` // The timestamp when this bundle was generated. // // This field will be used for debugging and internal accounting. Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // * // Each Entry is an individual set of log records for a given log stream. Entries []*ButlerLogBundle_Entry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"` // * Project specifies which luci-config project this stream belongs to. Project string `protobuf:"bytes,4,opt,name=project,proto3" json:"project,omitempty"` // * // The log stream prefix that is shared by all bundled streams. // // This prefix is valid within the supplied project scope. Prefix string `protobuf:"bytes,5,opt,name=prefix,proto3" json:"prefix,omitempty"` // The log prefix's secret value (required). // // The secret is bound to all log streams that share the supplied Prefix, and // The Coordinator will record the secret associated with a given log Prefix, // but will not expose the secret to users. // // The Collector will check the secret prior to ingesting logs. If the // secret doesn't match the value recorded by the Coordinator, the log // will be discarded. // // This ensures that only the Butler instance that generated the log stream // can emit log data for that stream. It also ensures that only authenticated // users can write to a Prefix. Secret []byte `protobuf:"bytes,6,opt,name=secret,proto3" json:"secret,omitempty"` // contains filtered or unexported fields }
A message containing log data in transit from the Butler.
The Butler is capable of conserving bandwidth by bundling collected log messages together into this protocol buffer. Based on Butler bundling settings, this message can represent anything from a single LogRecord to multiple LogRecords belonging to several different streams.
Entries in a Log Bundle are fully self-descriptive: no additional information is needed to fully associate the contained data with its proper place in the source log stream.
func (*ButlerLogBundle) Descriptor
deprecated
func (*ButlerLogBundle) Descriptor() ([]byte, []int)
Deprecated: Use ButlerLogBundle.ProtoReflect.Descriptor instead.
func (*ButlerLogBundle) GetDeprecatedSource ¶
func (x *ButlerLogBundle) GetDeprecatedSource() string
func (*ButlerLogBundle) GetEntries ¶
func (x *ButlerLogBundle) GetEntries() []*ButlerLogBundle_Entry
func (*ButlerLogBundle) GetPrefix ¶
func (x *ButlerLogBundle) GetPrefix() string
func (*ButlerLogBundle) GetProject ¶
func (x *ButlerLogBundle) GetProject() string
func (*ButlerLogBundle) GetSecret ¶
func (x *ButlerLogBundle) GetSecret() []byte
func (*ButlerLogBundle) GetTimestamp ¶
func (x *ButlerLogBundle) GetTimestamp() *timestamppb.Timestamp
func (*ButlerLogBundle) ProtoMessage ¶
func (*ButlerLogBundle) ProtoMessage()
func (*ButlerLogBundle) ProtoReflect ¶
func (x *ButlerLogBundle) ProtoReflect() protoreflect.Message
func (*ButlerLogBundle) Reset ¶
func (x *ButlerLogBundle) Reset()
func (*ButlerLogBundle) String ¶
func (x *ButlerLogBundle) String() string
type ButlerLogBundle_Entry ¶
type ButlerLogBundle_Entry struct { // The descriptor for this entry's log stream. // // Each LogEntry in the "logs" field is shares this common descriptor. Desc *LogStreamDescriptor `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"` // (DEPRECATED) Per-entry secret replaced with Butler-wide secret. DeprecatedEntrySecret []byte `` /* 126-byte string literal not displayed */ // Whether this log entry terminates its stream. // // If present and "true", this field declares that this Entry is the last // such entry in the stream. This fact is recorded by the Collector and // registered with the Coordinator. The largest stream prefix in this Entry // will be bound the stream's LogEntry records to [0:largest_prefix]. Once // all messages in that range have been received, the log may be archived. // // Further log entries belonging to this stream with stream indices // exceeding the terminal log's index will be discarded. Terminal bool `protobuf:"varint,3,opt,name=terminal,proto3" json:"terminal,omitempty"` // If terminal is true, this is the terminal stream index; that is, the last // message index in the stream. TerminalIndex uint64 `protobuf:"varint,4,opt,name=terminal_index,json=terminalIndex,proto3" json:"terminal_index,omitempty"` // Log entries attached to this record. These MUST be sequential. // // This is the main log entry content. Logs []*LogEntry `protobuf:"bytes,5,rep,name=logs,proto3" json:"logs,omitempty"` // contains filtered or unexported fields }
A bundle Entry describes a set of LogEntry messages originating from the same log stream.
func (*ButlerLogBundle_Entry) Descriptor
deprecated
func (*ButlerLogBundle_Entry) Descriptor() ([]byte, []int)
Deprecated: Use ButlerLogBundle_Entry.ProtoReflect.Descriptor instead.
func (*ButlerLogBundle_Entry) GetDeprecatedEntrySecret ¶
func (x *ButlerLogBundle_Entry) GetDeprecatedEntrySecret() []byte
func (*ButlerLogBundle_Entry) GetDesc ¶
func (x *ButlerLogBundle_Entry) GetDesc() *LogStreamDescriptor
func (*ButlerLogBundle_Entry) GetLogs ¶
func (x *ButlerLogBundle_Entry) GetLogs() []*LogEntry
func (*ButlerLogBundle_Entry) GetTerminal ¶
func (x *ButlerLogBundle_Entry) GetTerminal() bool
func (*ButlerLogBundle_Entry) GetTerminalIndex ¶
func (x *ButlerLogBundle_Entry) GetTerminalIndex() uint64
func (*ButlerLogBundle_Entry) ProtoMessage ¶
func (*ButlerLogBundle_Entry) ProtoMessage()
func (*ButlerLogBundle_Entry) ProtoReflect ¶
func (x *ButlerLogBundle_Entry) ProtoReflect() protoreflect.Message
func (*ButlerLogBundle_Entry) Reset ¶
func (x *ButlerLogBundle_Entry) Reset()
func (*ButlerLogBundle_Entry) String ¶
func (x *ButlerLogBundle_Entry) String() string
type ButlerMetadata ¶
type ButlerMetadata struct { // This is the type of data in the subsequent frame. Type ButlerMetadata_ContentType `protobuf:"varint,1,opt,name=type,proto3,enum=logpb.ButlerMetadata_ContentType" json:"type,omitempty"` Compression ButlerMetadata_Compression `protobuf:"varint,2,opt,name=compression,proto3,enum=logpb.ButlerMetadata_Compression" json:"compression,omitempty"` // The protobuf version string (see version.go). ProtoVersion string `protobuf:"bytes,3,opt,name=proto_version,json=protoVersion,proto3" json:"proto_version,omitempty"` // contains filtered or unexported fields }
ButlerMetadata appears as a frame at the beginning of Butler published data to describe the remainder of the contents.
func (*ButlerMetadata) Descriptor
deprecated
func (*ButlerMetadata) Descriptor() ([]byte, []int)
Deprecated: Use ButlerMetadata.ProtoReflect.Descriptor instead.
func (*ButlerMetadata) GetCompression ¶
func (x *ButlerMetadata) GetCompression() ButlerMetadata_Compression
func (*ButlerMetadata) GetProtoVersion ¶
func (x *ButlerMetadata) GetProtoVersion() string
func (*ButlerMetadata) GetType ¶
func (x *ButlerMetadata) GetType() ButlerMetadata_ContentType
func (*ButlerMetadata) ProtoMessage ¶
func (*ButlerMetadata) ProtoMessage()
func (*ButlerMetadata) ProtoReflect ¶
func (x *ButlerMetadata) ProtoReflect() protoreflect.Message
func (*ButlerMetadata) Reset ¶
func (x *ButlerMetadata) Reset()
func (*ButlerMetadata) String ¶
func (x *ButlerMetadata) String() string
type ButlerMetadata_Compression ¶
type ButlerMetadata_Compression int32
Compression scheme of attached data.
const ( ButlerMetadata_NONE ButlerMetadata_Compression = 0 ButlerMetadata_ZLIB ButlerMetadata_Compression = 1 )
func (ButlerMetadata_Compression) Descriptor ¶
func (ButlerMetadata_Compression) Descriptor() protoreflect.EnumDescriptor
func (ButlerMetadata_Compression) Enum ¶
func (x ButlerMetadata_Compression) Enum() *ButlerMetadata_Compression
func (ButlerMetadata_Compression) EnumDescriptor
deprecated
func (ButlerMetadata_Compression) EnumDescriptor() ([]byte, []int)
Deprecated: Use ButlerMetadata_Compression.Descriptor instead.
func (ButlerMetadata_Compression) Number ¶
func (x ButlerMetadata_Compression) Number() protoreflect.EnumNumber
func (ButlerMetadata_Compression) String ¶
func (x ButlerMetadata_Compression) String() string
func (ButlerMetadata_Compression) Type ¶
func (ButlerMetadata_Compression) Type() protoreflect.EnumType
type ButlerMetadata_ContentType ¶
type ButlerMetadata_ContentType int32
This enumerates the possible contents of published Butler data.
const ( // An invalid content type. Do not use. ButlerMetadata_Invalid ButlerMetadata_ContentType = 0 // The published data is a ButlerLogBundle protobuf message. ButlerMetadata_ButlerLogBundle ButlerMetadata_ContentType = 1 )
func (ButlerMetadata_ContentType) Descriptor ¶
func (ButlerMetadata_ContentType) Descriptor() protoreflect.EnumDescriptor
func (ButlerMetadata_ContentType) Enum ¶
func (x ButlerMetadata_ContentType) Enum() *ButlerMetadata_ContentType
func (ButlerMetadata_ContentType) EnumDescriptor
deprecated
func (ButlerMetadata_ContentType) EnumDescriptor() ([]byte, []int)
Deprecated: Use ButlerMetadata_ContentType.Descriptor instead.
func (ButlerMetadata_ContentType) Number ¶
func (x ButlerMetadata_ContentType) Number() protoreflect.EnumNumber
func (ButlerMetadata_ContentType) String ¶
func (x ButlerMetadata_ContentType) String() string
func (ButlerMetadata_ContentType) Type ¶
func (ButlerMetadata_ContentType) Type() protoreflect.EnumType
type Datagram ¶
type Datagram struct { // This datagram data. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Partial *Datagram_Partial `protobuf:"bytes,2,opt,name=partial,proto3" json:"partial,omitempty"` // contains filtered or unexported fields }
Datagram stream content type.
func (*Datagram) Descriptor
deprecated
func (*Datagram) GetPartial ¶
func (x *Datagram) GetPartial() *Datagram_Partial
func (*Datagram) ProtoMessage ¶
func (*Datagram) ProtoMessage()
func (*Datagram) ProtoReflect ¶
func (x *Datagram) ProtoReflect() protoreflect.Message
type Datagram_Partial ¶
type Datagram_Partial struct { // The index, starting with zero, of this datagram fragment in the full // datagram. Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // The size of the full datagram Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` // If true, this is the last partial datagram in the overall datagram. Last bool `protobuf:"varint,3,opt,name=last,proto3" json:"last,omitempty"` // contains filtered or unexported fields }
If this is not a partial datagram, this field will include reassembly and state details for the full datagram.
func (*Datagram_Partial) Descriptor
deprecated
func (*Datagram_Partial) Descriptor() ([]byte, []int)
Deprecated: Use Datagram_Partial.ProtoReflect.Descriptor instead.
func (*Datagram_Partial) GetIndex ¶
func (x *Datagram_Partial) GetIndex() uint32
func (*Datagram_Partial) GetLast ¶
func (x *Datagram_Partial) GetLast() bool
func (*Datagram_Partial) GetSize ¶
func (x *Datagram_Partial) GetSize() uint64
func (*Datagram_Partial) ProtoMessage ¶
func (*Datagram_Partial) ProtoMessage()
func (*Datagram_Partial) ProtoReflect ¶
func (x *Datagram_Partial) ProtoReflect() protoreflect.Message
func (*Datagram_Partial) Reset ¶
func (x *Datagram_Partial) Reset()
func (*Datagram_Partial) String ¶
func (x *Datagram_Partial) String() string
type LogEntry ¶
type LogEntry struct { // The stream time offset for this content. // // This offset is added to the log stream's base "timestamp" to resolve the // timestamp for this specific Content. TimeOffset *durationpb.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` // The message index within the Prefix (required). // // This is value is unique to this LogEntry across the entire set of entries // sharing the stream's Prefix. It is used to designate unambiguous log // ordering. PrefixIndex uint64 `protobuf:"varint,2,opt,name=prefix_index,json=prefixIndex,proto3" json:"prefix_index,omitempty"` // The message index within its Stream (required). // // This value is unique across all entries sharing the same Prefix and Stream // Name. It is used to designate unambiguous log ordering within the stream. StreamIndex uint64 `protobuf:"varint,3,opt,name=stream_index,json=streamIndex,proto3" json:"stream_index,omitempty"` // The sequence number of the first content entry in this LogEntry. // // Text: This is the line index of the first included line. Line indices begin // // at zero. // // Binary: This is the byte offset of the first byte in the included data. // Datagram: This is the index of the datagram. The first datagram has index // // zero. Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` // The content of the message. The field that is populated here must // match the log's `stream_type`. // // Types that are assignable to Content: // // *LogEntry_Text // *LogEntry_Binary // *LogEntry_Datagram Content isLogEntry_Content `protobuf_oneof:"content"` // contains filtered or unexported fields }
* An individual log entry.
This contains the superset of transmissible log data. Its content fields should be interpreted in the context of the log stream's content type.
func (*LogEntry) Descriptor
deprecated
func (*LogEntry) GetContent ¶
func (m *LogEntry) GetContent() isLogEntry_Content
func (*LogEntry) GetDatagram ¶
func (*LogEntry) GetPrefixIndex ¶
func (*LogEntry) GetSequence ¶
func (*LogEntry) GetStreamIndex ¶
func (*LogEntry) GetTimeOffset ¶
func (x *LogEntry) GetTimeOffset() *durationpb.Duration
func (*LogEntry) ProtoMessage ¶
func (*LogEntry) ProtoMessage()
func (*LogEntry) ProtoReflect ¶
func (x *LogEntry) ProtoReflect() protoreflect.Message
func (*LogEntry) Validate ¶
func (e *LogEntry) Validate(d *LogStreamDescriptor) error
Validate checks a supplied LogEntry against its LogStreamDescriptor for validity, returning an error if it is not valid.
If the LogEntry is otherwise valid, but has no content, ErrNoContent will be returned.
type LogEntry_Binary ¶
type LogEntry_Binary struct { // Binary stream: data segment. Binary *Binary `protobuf:"bytes,11,opt,name=binary,proto3,oneof"` }
type LogEntry_Datagram ¶
type LogEntry_Datagram struct { // Datagram stream: Datagrams. Datagram *Datagram `protobuf:"bytes,12,opt,name=datagram,proto3,oneof"` }
type LogEntry_Text ¶
type LogEntry_Text struct { // Text Stream: Lines of log text. Text *Text `protobuf:"bytes,10,opt,name=text,proto3,oneof"` }
type LogIndex ¶
type LogIndex struct { // The LogStreamDescriptor for this log stream (required). // // The index stores the stream's LogStreamDescriptor so that a client can // know the full set of log metadata by downloading its index. Desc *LogStreamDescriptor `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"` // A series of ascending-ordered Entry messages representing snapshots of an // archived log stream. // // Within this set of Entry messages, the "offset", "prefix_index", // "stream_index", and "time_offset" fields will be ascending. // // The frequency of Entry messages is not defined; it is up to the Archivist // process to choose a frequency. Entries []*LogIndex_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` // * // The last prefix index in the log stream. // // This is optional. If zero, there is either no information about the last // prefix index, or there are zero entries in the prefix. LastPrefixIndex uint64 `protobuf:"varint,3,opt,name=last_prefix_index,json=lastPrefixIndex,proto3" json:"last_prefix_index,omitempty"` // * // The last stream index in the log stream. // // This is optional. If zero, there is either no information about the last // stream index, or there are zero entries in the stream. LastStreamIndex uint64 `protobuf:"varint,4,opt,name=last_stream_index,json=lastStreamIndex,proto3" json:"last_stream_index,omitempty"` // * // The number of log entries in the stream. // // This is optional. If zero, there is either no information about the number // of log entries, or there are zero entries in the stream. LogEntryCount uint64 `protobuf:"varint,5,opt,name=log_entry_count,json=logEntryCount,proto3" json:"log_entry_count,omitempty"` // contains filtered or unexported fields }
* LogIndex is an index into an at-rest log storage.
The log stream and log index are generated by the Archivist during archival.
An archived log stream is a series of contiguous LogEntry frames. The index maps a log's logical logation in its stream, prefix, and timeline to its frame's binary offset in the archived log stream blob.
func (*LogIndex) Descriptor
deprecated
func (*LogIndex) GetDesc ¶
func (x *LogIndex) GetDesc() *LogStreamDescriptor
func (*LogIndex) GetEntries ¶
func (x *LogIndex) GetEntries() []*LogIndex_Entry
func (*LogIndex) GetLastPrefixIndex ¶
func (*LogIndex) GetLastStreamIndex ¶
func (*LogIndex) GetLogEntryCount ¶
func (*LogIndex) ProtoMessage ¶
func (*LogIndex) ProtoMessage()
func (*LogIndex) ProtoReflect ¶
func (x *LogIndex) ProtoReflect() protoreflect.Message
type LogIndex_Entry ¶
type LogIndex_Entry struct { // The byte offset in the emitted log stream of the RecordIO entry for the // LogEntry corresponding to this Entry. Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` // The sequence number of the first content entry. // // Text: This is the line index of the first included line. Line indices // // begin at zero. // // Binary: This is the byte offset of the first byte in the included data. // Datagram: This is the index of the datagram. The first datagram has index // // zero. Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` // The log index that this entry describes (required). // // This is used by clients to identify a specific LogEntry within a set of // streams sharing a Prefix. PrefixIndex uint64 `protobuf:"varint,3,opt,name=prefix_index,json=prefixIndex,proto3" json:"prefix_index,omitempty"` // The time offset of this log entry (required). // // This is used by clients to identify a specific LogEntry within a log // stream. StreamIndex uint64 `protobuf:"varint,4,opt,name=stream_index,json=streamIndex,proto3" json:"stream_index,omitempty"` // The time offset of this log entry, in microseconds. // // This is added to the descriptor's "timestamp" field to identify the // specific timestamp of this log. It is used by clients to identify a // specific LogEntry by time. TimeOffset *durationpb.Duration `protobuf:"bytes,5,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` // contains filtered or unexported fields }
Entry is a single index entry.
The index is composed of a series of entries, each corresponding to a sequential snapshot of of the log stream.
func (*LogIndex_Entry) Descriptor
deprecated
func (*LogIndex_Entry) Descriptor() ([]byte, []int)
Deprecated: Use LogIndex_Entry.ProtoReflect.Descriptor instead.
func (*LogIndex_Entry) GetOffset ¶
func (x *LogIndex_Entry) GetOffset() uint64
func (*LogIndex_Entry) GetPrefixIndex ¶
func (x *LogIndex_Entry) GetPrefixIndex() uint64
func (*LogIndex_Entry) GetSequence ¶
func (x *LogIndex_Entry) GetSequence() uint64
func (*LogIndex_Entry) GetStreamIndex ¶
func (x *LogIndex_Entry) GetStreamIndex() uint64
func (*LogIndex_Entry) GetTimeOffset ¶
func (x *LogIndex_Entry) GetTimeOffset() *durationpb.Duration
func (*LogIndex_Entry) ProtoMessage ¶
func (*LogIndex_Entry) ProtoMessage()
func (*LogIndex_Entry) ProtoReflect ¶
func (x *LogIndex_Entry) ProtoReflect() protoreflect.Message
func (*LogIndex_Entry) Reset ¶
func (x *LogIndex_Entry) Reset()
func (*LogIndex_Entry) String ¶
func (x *LogIndex_Entry) String() string
type LogStreamDescriptor ¶
type LogStreamDescriptor struct { // The stream's prefix (required). // // Logs originating from the same Butler instance will share a Prefix. // // A valid prefix value is a StreamName described in: // https://go.chromium.org/luci/logdog/common/types#StreamName Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // The log stream's name (required). // // This is used to uniquely identify a log stream within the scope of its // prefix. // // A valid name value is a StreamName described in: // https://go.chromium.org/luci/logdog/common/types#StreamName Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The log stream's content type (required). StreamType StreamType `protobuf:"varint,3,opt,name=stream_type,json=streamType,proto3,enum=logpb.StreamType" json:"stream_type,omitempty"` // The stream's content type (required). // // This must be an HTTP Content-Type value. Begins with MIME media type; may // include a charset directive. It is made available to LogDog clients when // querying stream metadata. It will also be applied to archived binary log // data. ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // The log stream's base timestamp (required). // // This notes the start time of the log stream. All LogEntries express their // timestamp as microsecond offsets from this field. Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Tag is an arbitrary key/value tag associated with this log stream. // // LogDog clients can query for log streams based on tag values. Tags map[string]string `` /* 149-byte string literal not displayed */ // If set, the stream will be joined together during archival to recreate the // original stream and made available at <prefix>/+/<name>.ext. BinaryFileExt string `protobuf:"bytes,7,opt,name=binary_file_ext,json=binaryFileExt,proto3" json:"binary_file_ext,omitempty"` // contains filtered or unexported fields }
* Log stream descriptor data. This is the full set of information that describes a logging stream.
func (*LogStreamDescriptor) Descriptor
deprecated
func (*LogStreamDescriptor) Descriptor() ([]byte, []int)
Deprecated: Use LogStreamDescriptor.ProtoReflect.Descriptor instead.
func (*LogStreamDescriptor) Equal ¶
func (d *LogStreamDescriptor) Equal(o *LogStreamDescriptor) bool
Equal tests if two LogStreamDescriptor instances have the same data.
func (*LogStreamDescriptor) GetBinaryFileExt ¶
func (x *LogStreamDescriptor) GetBinaryFileExt() string
func (*LogStreamDescriptor) GetContentType ¶
func (x *LogStreamDescriptor) GetContentType() string
func (*LogStreamDescriptor) GetName ¶
func (x *LogStreamDescriptor) GetName() string
func (*LogStreamDescriptor) GetPrefix ¶
func (x *LogStreamDescriptor) GetPrefix() string
func (*LogStreamDescriptor) GetStreamType ¶
func (x *LogStreamDescriptor) GetStreamType() StreamType
func (*LogStreamDescriptor) GetTags ¶
func (x *LogStreamDescriptor) GetTags() map[string]string
func (*LogStreamDescriptor) GetTimestamp ¶
func (x *LogStreamDescriptor) GetTimestamp() *timestamppb.Timestamp
func (*LogStreamDescriptor) Path ¶
func (d *LogStreamDescriptor) Path() types.StreamPath
Path returns a types.StreamPath constructed from the LogStreamDesciptor's Prefix and Name fields.
func (*LogStreamDescriptor) ProtoMessage ¶
func (*LogStreamDescriptor) ProtoMessage()
func (*LogStreamDescriptor) ProtoReflect ¶
func (x *LogStreamDescriptor) ProtoReflect() protoreflect.Message
func (*LogStreamDescriptor) Reset ¶
func (x *LogStreamDescriptor) Reset()
func (*LogStreamDescriptor) String ¶
func (x *LogStreamDescriptor) String() string
func (*LogStreamDescriptor) Validate ¶
func (d *LogStreamDescriptor) Validate(prefix bool) error
Validate returns an error if the supplied LogStreamDescriptor is not complete and valid.
If prefix is true, the Prefix field will be validated; otherwise, it will be ignored. This can be useful when attempting to validate a LogStreamDescriptor before the application-assigned Prefix is known.
type StreamType ¶
type StreamType int32
A log stream type.
const ( StreamType_TEXT StreamType = 0 StreamType_BINARY StreamType = 1 StreamType_DATAGRAM StreamType = 2 )
func (StreamType) Descriptor ¶
func (StreamType) Descriptor() protoreflect.EnumDescriptor
func (StreamType) Enum ¶
func (x StreamType) Enum() *StreamType
func (StreamType) EnumDescriptor
deprecated
func (StreamType) EnumDescriptor() ([]byte, []int)
Deprecated: Use StreamType.Descriptor instead.
func (StreamType) Number ¶
func (x StreamType) Number() protoreflect.EnumNumber
func (StreamType) String ¶
func (x StreamType) String() string
func (StreamType) Type ¶
func (StreamType) Type() protoreflect.EnumType
type Text ¶
type Text struct { Lines []*Text_Line `protobuf:"bytes,1,rep,name=lines,proto3" json:"lines,omitempty"` // contains filtered or unexported fields }
Text stream content.
func (*Text) Descriptor
deprecated
func (*Text) ProtoMessage ¶
func (*Text) ProtoMessage()
func (*Text) ProtoReflect ¶
func (x *Text) ProtoReflect() protoreflect.Message
type Text_Line ¶
type Text_Line struct { // The line's text content, not including its delimiter. Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // The line's delimiter string. // // If this is an empty string, this line is continued in the next sequential // line, and the line's sequence number does not advance. Delimiter string `protobuf:"bytes,2,opt,name=delimiter,proto3" json:"delimiter,omitempty"` // contains filtered or unexported fields }
Contiguous text lines and their delimiters.
The array of lines follows the following pattern:
- 0 or 1 completion lines completing the last LogEntry's Text (i.e. with a delimiter but not itself the full line)
- any number of complete lines (i.e. with delimiter, each its own line)
- 0 or 1 partial lines
func (*Text_Line) Descriptor
deprecated
func (*Text_Line) GetDelimiter ¶
func (*Text_Line) ProtoMessage ¶
func (*Text_Line) ProtoMessage()
func (*Text_Line) ProtoReflect ¶
func (x *Text_Line) ProtoReflect() protoreflect.Message