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-- 16INCLUDE PERFETTO MODULE android.suspend; 17 18DROP VIEW IF EXISTS trace_metadata_output; 19CREATE PERFETTO VIEW trace_metadata_output AS 20SELECT TraceMetadata( 21 'trace_duration_ns', CAST(trace_dur() AS INT), 22 'trace_uuid', (SELECT str_value FROM metadata WHERE name = 'trace_uuid'), 23 'android_build_fingerprint', ( 24 SELECT str_value FROM metadata WHERE name = 'android_build_fingerprint' 25 ), 26 'android_device_manufacturer', ( 27 SELECT str_value FROM metadata WHERE name = 'android_device_manufacturer' 28 ), 29 'statsd_triggering_subscription_id', ( 30 SELECT int_value FROM metadata 31 WHERE name = 'statsd_triggering_subscription_id' 32 ), 33 'unique_session_name', ( 34 SELECT str_value FROM metadata 35 WHERE name = 'unique_session_name' 36 ), 37 'trace_size_bytes', ( 38 SELECT int_value FROM metadata 39 WHERE name = 'trace_size_bytes' 40 ), 41 'trace_trigger', ( 42 SELECT RepeatedField(slice.name) 43 FROM track JOIN slice ON track.id = slice.track_id 44 WHERE track.name = 'Trace Triggers' 45 ), 46 'trace_causal_trigger', ( 47 SELECT str_value FROM metadata 48 WHERE name = 'trace_trigger' 49 ), 50 'trace_config_pbtxt', ( 51 SELECT str_value FROM metadata 52 WHERE name = 'trace_config_pbtxt' 53 ), 54 'sched_duration_ns', ( 55 SELECT MAX(ts) - MIN(ts) FROM sched 56 ), 57 'tracing_started_ns', ( 58 SELECT int_value FROM metadata 59 WHERE name='tracing_started_ns' 60 ), 61 'android_sdk_version', ( 62 SELECT int_value FROM metadata 63 WHERE name = 'android_sdk_version' 64 ), 65 'android_profile_boot_classpath', ( 66 SELECT int_value FROM metadata 67 WHERE name = 'android_profile_boot_classpath' 68 ), 69 'android_profile_system_server', ( 70 SELECT int_value FROM metadata 71 WHERE name = 'android_profile_system_server' 72 ), 73 'suspend_count', ( 74 SELECT COUNT() FROM android_suspend_state WHERE power_state = 'suspended' 75 ), 76 'data_loss_count', ( 77 SELECT COUNT() 78 FROM stats 79 WHERE severity = 'data_loss' AND value > 0 80 ), 81 'error_count', ( 82 SELECT COUNT() 83 FROM stats 84 WHERE severity = 'error' AND value > 0 85 ) 86); 87