// Copyright 2022 LTN Global Communications, Inc. // // 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 tv.make.api; option go_package = "git.ltnglobal.com/make.tv/genproto/api;api"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; message OutputUsage { // List of concurrent usage for single quality outputs. // The result is a flattened and compacted view on the usage of outputs // The (index + 1) represents the number of output(s) and the value is the duration, e.g: // // actual running times of outputs: // Output 1: ---- ---------- -- ------- // Output 2: ---- ------ -------------- // Output 3: --- ------------ // // flattened: // Track 1: ------------------------------------ ^ // Track 2: ---- - ------- ---------- | // Track 3: --- - | // any empty space in track N is filled by track N+1 // // compacted resulting concurrent usage: // Track 1: ------------------------------------ // Track 2: ---------------------- // Track 3: ---- repeated google.protobuf.Duration single_quality_durations = 1; // List of concurrent usage for multi quality outputs. // Same result structure as for the single_quality_durations repeated google.protobuf.Duration multi_quality_durations = 2; } message Egress { // start time of the watched egress slice google.protobuf.Timestamp start_time = 1; // end time of the watched egress slice google.protobuf.Timestamp end_time = 2; // how many bytes were send to targets for this date int64 egress_bytes = 3; } message AssetPeakStorage { // start time of the storage slice google.protobuf.Timestamp start_time = 1; // end time of the storage slice google.protobuf.Timestamp end_time = 2; // how many bytes are used for storage for this date int64 storage_bytes = 3; } message AssetStorage { // start time of the storage slice google.protobuf.Timestamp start_time = 1; // end time of the storage slice google.protobuf.Timestamp end_time = 2; // how many bytes were maximum used for storage for this date int64 storage_bytes_max = 3; // how many bytes are used for storage at the end of this date / if storage slice is for today the currently used bytes int64 storage_bytes_accumulated = 4; } message LiveRecording { // start time of the live recording slice google.protobuf.Timestamp start_time = 1; // end time of the live recording slice google.protobuf.Timestamp end_time = 2; // how many bytes are used for recordings for this date int64 storage_bytes = 3; }