• 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
17SELECT RUN_METRIC('android/process_mem.sql');
18
19SELECT RUN_METRIC('android/process_unagg_mem_view.sql',
20  'table_name', 'anon_rss');
21
22SELECT RUN_METRIC('android/process_unagg_mem_view.sql',
23  'table_name', 'swap');
24
25SELECT RUN_METRIC('android/process_unagg_mem_view.sql',
26  'table_name', 'file_rss');
27
28SELECT RUN_METRIC('android/process_unagg_mem_view.sql',
29  'table_name', 'anon_and_swap');
30
31DROP VIEW IF EXISTS process_unagg_metrics_view;
32CREATE VIEW process_unagg_metrics_view AS
33SELECT
34  AndroidMemoryUnaggregatedMetric_ProcessValues(
35    'process_name', process.name,
36    'mem_values', AndroidMemoryUnaggregatedMetric_ProcessMemoryValues(
37      'anon_rss', anon_rss_unagg_values.metric,
38      'swap', swap_unagg_values.metric,
39      'file_rss', file_rss_unagg_values.metric,
40      'anon_and_swap', anon_and_swap_unagg_values.metric
41    )
42  ) AS metric
43FROM
44  process
45LEFT JOIN
46  anon_rss_unagg_values USING(upid)
47LEFT JOIN
48  swap_unagg_values USING(upid)
49LEFT JOIN
50  file_rss_unagg_values USING(upid)
51LEFT JOIN
52  anon_and_swap_unagg_values USING(upid)
53WHERE
54  process.name IS NOT NULL;
55
56DROP VIEW IF EXISTS android_mem_unagg_output;
57CREATE VIEW android_mem_unagg_output AS
58SELECT
59  AndroidMemoryUnaggregatedMetric(
60    'process_values',
61    (SELECT RepeatedField(metric) FROM process_unagg_metrics_view)
62  );
63