1CREATE VIEW counters AS 2SELECT * 3FROM counter v 4JOIN counter_track t ON v.track_id = t.id 5ORDER BY ts; 6 7CREATE VIEW slice AS 8SELECT 9 *, 10 category AS cat, 11 id AS slice_id 12FROM internal_slice; 13 14CREATE VIEW instant AS 15SELECT ts, track_id, name, arg_set_id 16FROM slice 17WHERE dur = 0; 18 19CREATE VIEW sched AS 20SELECT 21 *, 22 ts + dur as ts_end 23FROM sched_slice; 24 25CREATE VIEW slices AS 26SELECT * FROM slice; 27 28CREATE VIEW thread AS 29SELECT 30 id as utid, 31 * 32FROM internal_thread; 33 34CREATE VIEW process AS 35SELECT 36 id as upid, 37 * 38FROM internal_process; 39 40-- This should be kept in sync with GlobalArgsTracker::AddArgSet. 41CREATE VIEW args AS 42SELECT 43 *, 44 CASE value_type 45 WHEN 'int' THEN CAST(int_value AS text) 46 WHEN 'uint' THEN CAST(int_value AS text) 47 WHEN 'string' THEN string_value 48 WHEN 'real' THEN CAST(real_value AS text) 49 WHEN 'pointer' THEN printf('0x%x', int_value) 50 WHEN 'bool' THEN ( 51 CASE WHEN int_value <> 0 THEN 'true' 52 ELSE 'false' END) 53 WHEN 'json' THEN string_value 54 ELSE NULL END AS display_value 55FROM internal_args; 56