| -- |
| -- Copyright 2022 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. |
| -- |
| |
| -- To get mangled stack profile mappings. |
| SELECT RUN_METRIC('android/unsymbolized_frames.sql'); |
| |
| DROP VIEW IF EXISTS chrome_unsymbolized_args_view; |
| |
| CREATE VIEW chrome_unsymbolized_args_view AS |
| SELECT ChromeUnsymbolizedArgs_Arg( |
| 'module', spm.name, |
| 'build_id', spm.build_id, |
| 'address', unsymbolized_arg.rel_pc, |
| 'google_lookup_id', spm.google_lookup_id |
| ) AS arg_proto |
| FROM |
| ( |
| SELECT arg_rel_pc.rel_pc AS rel_pc, arg_mapping_id.mapping_id AS mapping_id |
| FROM |
| ( |
| SELECT arg_set_id, int_value AS rel_pc |
| FROM args |
| WHERE key = "chrome_mojo_event_info.mojo_interface_method.native_symbol.rel_pc" |
| ) arg_rel_pc |
| JOIN |
| ( |
| SELECT |
| arg_set_id, |
| int_value AS mapping_id |
| FROM args |
| WHERE key = "chrome_mojo_event_info.mojo_interface_method.native_symbol.mapping_id" |
| ) arg_mapping_id |
| ON arg_rel_pc.arg_set_id = arg_mapping_id.arg_set_id |
| ) unsymbolized_arg |
| JOIN mangled_stack_profile_mapping spm |
| ON unsymbolized_arg.mapping_id = spm.id |
| WHERE spm.build_id != ''; |
| |
| DROP VIEW IF EXISTS chrome_unsymbolized_args_output; |
| |
| CREATE VIEW chrome_unsymbolized_args_output AS |
| SELECT ChromeUnsymbolizedArgs( |
| 'args', |
| (SELECT RepeatedField(arg_proto) FROM chrome_unsymbolized_args_view) |
| ); |