• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1--
2-- Copyright 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--     https://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
17INCLUDE PERFETTO MODULE android.process_metadata;
18
19DROP VIEW IF EXISTS process_metadata_table;
20CREATE PERFETTO VIEW process_metadata_table AS
21SELECT android_process_metadata.*, pid FROM android_process_metadata
22JOIN process USING(upid);
23
24DROP VIEW IF EXISTS uid_package_count;
25CREATE PERFETTO VIEW uid_package_count AS
26SELECT * FROM _uid_package_count;
27
28DROP VIEW IF EXISTS process_metadata;
29CREATE PERFETTO VIEW process_metadata AS
30SELECT
31  upid,
32  NULL_IF_EMPTY(AndroidProcessMetadata(
33    'name', process_name,
34    'uid', uid,
35    'pid', pid,
36    'package', NULL_IF_EMPTY(AndroidProcessMetadata_Package(
37      'package_name', package_name,
38      'apk_version_code', version_code,
39      'debuggable', debuggable
40    ))
41  )) AS metadata
42FROM process_metadata_table;
43
44-- Given a process name, return if it is debuggable.
45CREATE OR REPLACE PERFETTO FUNCTION is_process_debuggable(process_name STRING)
46RETURNS BOOL AS
47SELECT p.debuggable
48FROM process_metadata_table p
49WHERE p.process_name = $process_name
50LIMIT 1;
51