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 17DROP VIEW IF EXISTS {{table_name}}_span; 18CREATE VIEW {{table_name}}_span AS 19SELECT 20 ts, 21 LEAD(ts, 1, ( 22 SELECT IFNULL( 23 end_ts, 24 (SELECT end_ts FROM trace_bounds) 25 ) 26 FROM process p WHERE p.upid = t.upid) + 1 27 ) OVER(PARTITION BY track_id ORDER BY ts) - ts AS dur, 28 upid, 29 value AS {{table_name}}_val 30FROM counter c JOIN process_counter_track t 31 ON t.id = c.track_id 32WHERE name = '{{counter_name}}' AND upid IS NOT NULL; 33