github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/ingester/checkpoint.proto (about)

     1  syntax = "proto3";
     2  
     3  package loki_ingester;
     4  
     5  import "github.com/gogo/protobuf/gogoproto/gogo.proto";
     6  import "google/protobuf/timestamp.proto";
     7  import "pkg/logproto/logproto.proto";
     8  
     9  option go_package = "ingester";
    10  
    11  // Chunk is a {de,}serializable intermediate type for chunkDesc which allows
    12  // efficient loading/unloading to disk during WAL checkpoint recovery.
    13  message Chunk {
    14    google.protobuf.Timestamp from = 1 [
    15      (gogoproto.stdtime) = true,
    16      (gogoproto.nullable) = false
    17    ];
    18    google.protobuf.Timestamp to = 2 [
    19      (gogoproto.stdtime) = true,
    20      (gogoproto.nullable) = false
    21    ];
    22    google.protobuf.Timestamp flushedAt = 3 [
    23      (gogoproto.stdtime) = true,
    24      (gogoproto.nullable) = false
    25    ];
    26    google.protobuf.Timestamp lastUpdated = 4 [
    27      (gogoproto.stdtime) = true,
    28      (gogoproto.nullable) = false
    29    ];
    30    bool closed = 5;
    31    bool synced = 6;
    32    // data to be unmarshaled into a MemChunk
    33    bytes data = 7;
    34    // data to be unmarshaled into a MemChunk's headBlock
    35    bytes head = 8;
    36  }
    37  
    38  // Series is a {de,}serializable intermediate type for Series.
    39  message Series {
    40    string userID = 1;
    41    // post mapped fingerprint is necessary because subsequent wal writes will reference it.
    42    uint64 fingerprint = 2;
    43    repeated logproto.LegacyLabelPair labels = 3 [
    44      (gogoproto.nullable) = false,
    45      (gogoproto.customtype) = "github.com/grafana/loki/pkg/logproto.LabelAdapter"
    46    ];
    47    repeated Chunk chunks = 4 [(gogoproto.nullable) = false];
    48    // most recently pushed timestamp.
    49    google.protobuf.Timestamp to = 5 [
    50      (gogoproto.stdtime) = true,
    51      (gogoproto.nullable) = false
    52    ];
    53    // most recently pushed line.
    54    string lastLine = 6;
    55    // highest counter value for pushes to this stream.
    56    // Used to skip already applied entries during WAL replay.
    57    int64 entryCt = 7;
    58    // highest timestamp pushed to this stream.
    59    google.protobuf.Timestamp highestTs = 8 [
    60      (gogoproto.stdtime) = true,
    61      (gogoproto.nullable) = false
    62    ];
    63  }