1/* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18option java_multiple_files = true; 19 20package com.android.networkstack.tethering.metrics; 21 22import "frameworks/proto_logging/stats/enums/stats/connectivity/tethering.proto"; 23 24/** 25 * Represents an event that logs information about a successful switch to an upstream network. 26 */ 27message UpstreamEvent { 28 // Indicates the transport type of network. 29 optional .android.stats.connectivity.UpstreamType upstream_type = 1; 30 31 // The duration of network usage. 32 optional int64 duration_millis = 2; 33 34 // The amount of data received from tethered clients. 35 optional int64 tx_bytes = 3; 36 37 // The amount of data received from remote. 38 optional int64 rx_bytes = 4; 39} 40 41message UpstreamEvents { 42 repeated UpstreamEvent upstream_event = 1; 43} 44 45/** 46 * Logs Tethering events 47 */ 48message NetworkTetheringReported { 49 // Tethering error code 50 optional .android.stats.connectivity.ErrorCode error_code = 1; 51 52 // Tethering downstream type 53 optional .android.stats.connectivity.DownstreamType downstream_type = 2; 54 55 // Transport type of upstream network 56 optional .android.stats.connectivity.UpstreamType upstream_type = 3 [deprecated = true]; 57 58 // The user type of switching tethering 59 optional .android.stats.connectivity.UserType user_type = 4; 60 61 // Log each transport type of upstream network event 62 optional UpstreamEvents upstream_events = 5; 63 64 // A time period that a downstreams exists 65 optional int64 duration_millis = 6; 66} 67