syntax = "proto3";
package pb;
option go_package = "./;pb";
message LogContent
{
  string Key = 1;
  string Value = 2;
}

message Log
{
  int64 Time = 1;// UNIX Time Format
  repeated LogContent Contents = 2;
  oneof OptionalTimeNs{
    fixed32 TimeNs = 3;
  }

}
message LogTag
{
  string Key = 1;
  string Value = 2;
}
message LogGroup
{
  repeated Log Logs = 1;
  string Source = 2;
  repeated LogTag LogTags = 3;
  string FileName = 4;
  string ContextFlow = 5;
}

message LogGroupList
{
  repeated LogGroup LogGroups = 1;
}

message RawLogGroupList
{
  int32 OriginLen = 1;
  int64 LogArriveTime = 2;
  string CompressType = 3;
  string Cursor = 4;
  bytes Data = 5;
}

message RawLogGroupListList
{
  repeated RawLogGroupList RawLogGroupLists = 1;
}