• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1--
2-- Copyright 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--     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
17DROP VIEW IF EXISTS gc_slices;
18CREATE VIEW gc_slices AS
19SELECT slice_ts AS ts, slice_dur AS dur, utid, startup_id AS launch_id
20FROM thread_slices_for_all_launches
21WHERE
22  slice_name GLOB '*mark sweep GC'
23  OR slice_name GLOB '*concurrent copying GC'
24  OR slice_name GLOB '*semispace GC';
25
26DROP TABLE IF EXISTS gc_slices_by_state;
27CREATE VIRTUAL TABLE gc_slices_by_state
28USING SPAN_JOIN(gc_slices PARTITIONED utid, thread_state_extended PARTITIONED utid);
29
30DROP TABLE IF EXISTS running_gc_slices_materialized;
31CREATE TABLE running_gc_slices_materialized AS
32SELECT launch_id, SUM(dur) AS sum_dur
33FROM gc_slices_by_state
34WHERE state = 'Running'
35GROUP BY launch_id;
36