1/*
2 * Copyright (C) 2019 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 */
16syntax = "proto2";
17
18package perfetto.protos;
19
20message AndroidProcessMetadata {
21  // Process name. Usually, cmdline or <package_name>(:<custom_name>)?.
22  optional string name = 1;
23
24  // User id under which this process runs.
25  optional int64 uid = 2;
26
27  // Package metadata from Android package list.
28  message Package {
29    optional string package_name = 1;
30    optional int64 apk_version_code = 2;
31    optional bool debuggable = 3;
32  }
33
34  // Package that this process belongs to.
35  //
36  // If this process shares its uid (see `packages_for_uid` field), the package
37  // is determined based on the process name and package name. If there is no
38  // match this field is empty.
39  optional Package package = 7;
40
41  // All packages using this uid.
42  //
43  // Shared uid documentation:
44  // https://developer.android.com/guide/topics/manifest/manifest-element#uid
45  repeated Package packages_for_uid = 8;
46
47  reserved 3, 4, 5, 6;
48}
49