blob: d87e4698919ac66c592d5bee27daa76d26ce5228 [file] [edit]
// Copyright 2024 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package cas_metrics_proto;
// Contains metrics pertaining to one artifact.
message ArtifactMetrics {
string digest = 1; // CAS root digest of the artifact ("hash/size").
int64 time_ms = 2; // End to end time to upload the artifact.
int64 unzip_time_ms = 3; // Time to unzip the artifact if it is a zip file.
int64 chunk_time_ms = 4; // Time to chunk files if chunking is enabled.
int64 size_bytes = 5; // Size of the artifact in bytes.
int64 uploaded_size_bytes = 6;// Size of uploaded entries in bytes.
int32 entries = 7; // Number of entries.
int32 uploaded_entries = 8; // Number of uploaded entries.
}
// Contains metrics for a CAS upload session.
message CasMetrics {
int64 time_ms = 1; // End to end time for the upload session.
repeated ArtifactMetrics artifacts = 2;
string client_version = 3; // CAS uploader client version.
string uploader_version = 4; // Content uploader (this script) version.
int32 max_workers = 5; // Max workers used for uploading.
}