xref: /aosp_15_r20/external/mobile-data-download/proto/atoms.proto (revision 6fa6b5e213d87a73421ed761ee7d492115d5f98c)
1// Copyright 2022 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14syntax = "proto2";
15
16package mobiledatadownload.logs;
17
18option java_multiple_files = true;
19option java_package = "com.google.mobiledatadownload";
20option java_outer_classname = "AtomsProto";
21
22/**
23 * These protos are duplicates of the MobileDataDownload protos logged as
24 * MODE_BYTES in <internal>.
25 * TODO(b/243579271): remove this duplication
26 */
27
28/** Shared data among MobileDataDownload statistics. Not meant to be a top level
29 * atom proto.*/
30message MobileDataDownloadFileGroupStats {
31  // The name of the file group. This a string set server side used to retrieve
32  // the files. Does not contain PII.
33  optional string file_group_name = 1;
34  // Allows the clients to identify a file group based on a given set of
35  // properties. This string is set server side and does not contain PII.
36  optional string variant_id = 2;
37  // Identifier for the data file group created to identify the version of the
38  // file group.
39  optional int64 build_id = 3;
40  // The number of files in the file group.
41  optional int32 file_count = 4;
42  // Whether the file group has an account associated with it.
43  optional bool has_account = 5;
44  // Inverse of the sampling rate used to sample this event.
45  optional int32 sampling_interval = 6;
46  // Note: we do not have owner_package since that's already transmitted.
47}
48
49/**
50 * Container for MobileDataDownloadFileGroupStorageStats
51 */
52message MobileDataDownloadStorageStats {
53  repeated MobileDataDownloadFileGroupStorageStats
54      mobile_data_download_file_group_storage_stats = 1;
55}
56
57/**
58 * Storage stats for a single file group. This is logged as a nested field and
59 * is not meant to be logged as a top level proto.
60 */
61message MobileDataDownloadFileGroupStorageStats {
62  // The total number of bytes used by this file group
63  optional int64 total_bytes_used = 1;
64  // The total number of inline file bytes used by this file group
65  optional int64 total_inline_bytes_used = 2;
66  // The number of bytes used for the downloaded version of the file group
67  optional int64 downloaded_group_bytes_used = 3;
68  // Specifies which file group this storage is associated with
69  optional MobileDataDownloadFileGroupStats file_group_stats = 4;
70}
71