diff options
Diffstat (limited to 'test/trace_processor/b120487929.sql')
-rw-r--r-- | test/trace_processor/b120487929.sql | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/trace_processor/b120487929.sql b/test/trace_processor/b120487929.sql new file mode 100644 index 000000000..179d3242a --- /dev/null +++ b/test/trace_processor/b120487929.sql @@ -0,0 +1,71 @@ +-- +-- Copyright 2019 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +create view freq_view as + select + ts, + lead(ts) OVER (PARTITION BY track_id ORDER BY ts) - ts as dur, + cpu, + name as freq_name, + value as freq_value + from counter + inner join cpu_counter_track + on counter.track_id = cpu_counter_track.id + where name = 'cpufreq'; + +create view idle_view + as select + ts, + lead(ts) OVER (PARTITION BY track_id ORDER BY ts) - ts as dur, + cpu, + name as idle_name, + value as idle_value + from counter + inner join cpu_counter_track + on counter.track_id = cpu_counter_track.id + where name = 'cpuidle'; + +create virtual table freq_idle + using span_join(freq_view PARTITIONED cpu, idle_view PARTITIONED cpu) + +create virtual table window_freq_idle using window; + +create virtual table span_freq_idle + using span_join(freq_idle PARTITIONED cpu, window_freq_idle) + +update window_freq_idle + set + window_start=(select min(ts) from sched), + window_dur=(select max(ts) - min(ts) from sched), + quantum=1000000 + where rowid = 0 + +create view counter_view + as select + ts, + dur, + quantum_ts, + cpu, + case idle_value + when 4294967295 then "freq" + else "idle" + end as name, + case idle_value + when 4294967295 then freq_value + else idle_value + end as value + from span_freq_idle + +select cpu, name, value, sum(dur) from counter_view group by cpu, name, value |