xref: /aosp_15_r20/frameworks/proto_logging/stats/attribution_node.proto (revision 64c55175f22a2714b5ba1250098ad9bbc12ec7cd)
1*64c55175SAndroid Build Coastguard Worker/*
2*64c55175SAndroid Build Coastguard Worker * Copyright (C) 2022 The Android Open Source Project
3*64c55175SAndroid Build Coastguard Worker *
4*64c55175SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*64c55175SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*64c55175SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*64c55175SAndroid Build Coastguard Worker *
8*64c55175SAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*64c55175SAndroid Build Coastguard Worker *
10*64c55175SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*64c55175SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*64c55175SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*64c55175SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*64c55175SAndroid Build Coastguard Worker * limitations under the License.
15*64c55175SAndroid Build Coastguard Worker */
16*64c55175SAndroid Build Coastguard Worker
17*64c55175SAndroid Build Coastguard Workersyntax = "proto2";
18*64c55175SAndroid Build Coastguard Worker
19*64c55175SAndroid Build Coastguard Workerpackage android.os.statsd;
20*64c55175SAndroid Build Coastguard Worker
21*64c55175SAndroid Build Coastguard Workeroption java_package = "com.android.os";
22*64c55175SAndroid Build Coastguard Workeroption java_multiple_files = true;
23*64c55175SAndroid Build Coastguard Worker
24*64c55175SAndroid Build Coastguard Worker/**
25*64c55175SAndroid Build Coastguard Worker * This proto represents a node of an attribution chain.
26*64c55175SAndroid Build Coastguard Worker * Note: All attribution chains are represented as a repeated field of type
27*64c55175SAndroid Build Coastguard Worker * AttributionNode. It is understood that in such arrays, the order is that
28*64c55175SAndroid Build Coastguard Worker * of calls, that is [A, B, C] if A calls B that calls C.
29*64c55175SAndroid Build Coastguard Worker */
30*64c55175SAndroid Build Coastguard Workermessage AttributionNode {
31*64c55175SAndroid Build Coastguard Worker    // The uid for a given element in the attribution chain.
32*64c55175SAndroid Build Coastguard Worker    optional int32 uid = 1;
33*64c55175SAndroid Build Coastguard Worker
34*64c55175SAndroid Build Coastguard Worker    // The (optional) string tag for an element in the attribution chain. If the
35*64c55175SAndroid Build Coastguard Worker    // element has no tag, it is encoded as an empty string.
36*64c55175SAndroid Build Coastguard Worker    optional string tag = 2;
37*64c55175SAndroid Build Coastguard Worker}
38*64c55175SAndroid Build Coastguard Worker
39