blob: 8c58f6a331dc61d245e7a8edc37cb40633173ad2 [file] [log] [blame]
// Copyright 2016 The LUCI Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
syntax = "proto3";
package logdog;
option go_package = "go.chromium.org/luci/logdog/api/endpoints/coordinator/logs/v1;logdog";
import "google/protobuf/timestamp.proto";
// LogStreamState is a bidirectional state value used in UpdateStream calls.
//
// LogStreamState is embeddable in Endpoints request/response structs.
message LogStreamState {
// ProtoVersion is the protobuf version for this stream.
string proto_version = 1;
// The time when the log stream was registered with the Coordinator.
google.protobuf.Timestamp created = 2;
// The stream index of the log stream's terminal message. If the value is -1,
// the log is still streaming.
int64 terminal_index = 3;
// ArchiveInfo contains archive details for the log stream.
message ArchiveInfo {
// The Google Storage URL where the log stream's index is archived.
string index_url = 1;
// The Google Storage URL where the log stream's raw stream data is archived.
string stream_url = 2;
// The Google Storage URL where the log stream's assembled data is archived.
string data_url = 3;
// If true, all log entries between 0 and terminal_index were archived. If
// false, this indicates that the log stream was not completely loaded into
// intermediate storage when the archival interval expired.
bool complete = 4;
// The number of log
int64 log_entry_count = 5;
}
// If non-nil, the log stream is archived, and this field contains archival
// details.
ArchiveInfo archive = 4;
// Indicates the purged state of a log. A log that has been purged is only
// acknowledged to administrative clients.
bool purged = 5;
}