Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/dataobj/internal/metadata/pointersmd/pointersmd.proto

85 lines
2.9 KiB

// pointersmd.proto holds metadata for the pointers section of a data object. The
// pointers contains references to other dataobjects in storage, intended for use with indexing.
syntax = "proto3";
package dataobj.metadata.pointers.v1;
import "pkg/dataobj/internal/metadata/datasetmd/datasetmd.proto";
option go_package = "github.com/grafana/loki/v3/pkg/dataobj/internal/metadata/pointersmd";
// Metadata describes the metadata for the pointers section.
message Metadata {
// Columns within the pointers section.
repeated ColumnDesc columns = 1;
// Section sort information.
dataobj.metadata.dataset.v1.SectionSortInfo sort_info = 2;
}
// ColumnDesc describes an individual column within the pointers table.
message ColumnDesc {
// Information about the column.
dataobj.metadata.dataset.v1.ColumnInfo info = 1;
// Column type.
ColumnType type = 2;
}
// ColumnType represents the valid types that a pointer's column can have.
enum ColumnType {
// Invalid column type.
COLUMN_TYPE_UNSPECIFIED = 0;
// COLUMN_TYPE_PATH is a column containing the data object path in object storage.
COLUMN_TYPE_PATH = 1;
// COLUMN_TYPE_SECTION is the section number within the referenced data object.
COLUMN_TYPE_SECTION = 2;
// COLUMN_TYPE_POINTER_ is the type of index this pointer holds: Stream or Column.
COLUMN_TYPE_POINTER_KIND = 3;
// COLUMN_TYPE_STREAM_ID is a column containing the streamID within the index object
COLUMN_TYPE_STREAM_ID = 4;
// COLUMN_TYPE_STREAM_ID_REF is a column containing the streamID within the referenced object
COLUMN_TYPE_STREAM_ID_REF = 5;
// COLUMN_TYPE_MIN_TIMESTAMP is a column containing the minimum timestamp of
// a stream.
COLUMN_TYPE_MIN_TIMESTAMP = 6;
// COLUMN_TYPE_MAX_TIMESTAMP is a column containing the maximum timestamp of
// a stream.
COLUMN_TYPE_MAX_TIMESTAMP = 7;
// COLUMN_TYPE_ROW_COUNT is a column indicating the number of rows for a stream.
COLUMN_TYPE_ROW_COUNT = 8;
// COLUMN_TYPE_UNCOMPRESSED_SIZE is a column indicating the uncompressed size
// of a stream. Size of a stream is the sum of the length of all log lines and
// the length of all structured metadata values
COLUMN_TYPE_UNCOMPRESSED_SIZE = 9;
// COLUMN_TYPE_COLUMN_NAME is the name of a column within a referenced section
COLUMN_TYPE_COLUMN_NAME = 10;
// COLUMN_TYPE_COLUMN_INDEX is the index of a column within a referenced section to uniquely refer to it.
COLUMN_TYPE_COLUMN_INDEX = 11;
// COLUMN_TYPE_VALUES_BLOOM_FILTER is the raw bytes of a bloom filter for values stored in referenced column & section.
COLUMN_TYPE_VALUES_BLOOM_FILTER = 12;
}
// ColumnMetadata describes the metadata for a column.
message ColumnMetadata {
// Pages within the column.
repeated PageDesc pages = 1;
}
// PageDesc describes an individual page within a column.
message PageDesc {
// Information about the page.
dataobj.metadata.dataset.v1.PageInfo info = 1;
}