1/* 2 * Copyright (C) 2018 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 * http://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 17#include "tools/trace_to_text/ftrace_inode_handler.h" 18 19namespace perfetto { 20 21bool ParseInode(const protos::FtraceEvent& event, uint64_t* inode) { 22 if (event.has_ext4_alloc_da_blocks() && event.ext4_alloc_da_blocks().ino()) { 23 *inode = static_cast<uint64_t>(event.ext4_alloc_da_blocks().ino()); 24 return true; 25 } else if (event.has_ext4_allocate_blocks() && 26 event.ext4_allocate_blocks().ino()) { 27 *inode = static_cast<uint64_t>(event.ext4_allocate_blocks().ino()); 28 return true; 29 } else if (event.has_ext4_allocate_inode() && 30 event.ext4_allocate_inode().ino()) { 31 *inode = static_cast<uint64_t>(event.ext4_allocate_inode().ino()); 32 return true; 33 } else if (event.has_ext4_begin_ordered_truncate() && 34 event.ext4_begin_ordered_truncate().ino()) { 35 *inode = static_cast<uint64_t>(event.ext4_begin_ordered_truncate().ino()); 36 return true; 37 } else if (event.has_ext4_collapse_range() && 38 event.ext4_collapse_range().ino()) { 39 *inode = static_cast<uint64_t>(event.ext4_collapse_range().ino()); 40 return true; 41 } else if (event.has_ext4_da_release_space() && 42 event.ext4_da_release_space().ino()) { 43 *inode = static_cast<uint64_t>(event.ext4_da_release_space().ino()); 44 return true; 45 } else if (event.has_ext4_da_reserve_space() && 46 event.ext4_da_reserve_space().ino()) { 47 *inode = static_cast<uint64_t>(event.ext4_da_reserve_space().ino()); 48 return true; 49 } else if (event.has_ext4_da_update_reserve_space() && 50 event.ext4_da_update_reserve_space().ino()) { 51 *inode = static_cast<uint64_t>(event.ext4_da_update_reserve_space().ino()); 52 return true; 53 } else if (event.has_ext4_da_write_begin() && 54 event.ext4_da_write_begin().ino()) { 55 *inode = static_cast<uint64_t>(event.ext4_da_write_begin().ino()); 56 return true; 57 } else if (event.has_ext4_da_write_end() && event.ext4_da_write_end().ino()) { 58 *inode = static_cast<uint64_t>(event.ext4_da_write_end().ino()); 59 return true; 60 } else if (event.has_ext4_da_write_pages() && 61 event.ext4_da_write_pages().ino()) { 62 *inode = static_cast<uint64_t>(event.ext4_da_write_pages().ino()); 63 return true; 64 } else if (event.has_ext4_da_write_pages_extent() && 65 event.ext4_da_write_pages_extent().ino()) { 66 *inode = static_cast<uint64_t>(event.ext4_da_write_pages_extent().ino()); 67 return true; 68 } else if (event.has_ext4_direct_io_enter() && 69 event.ext4_direct_io_enter().ino()) { 70 *inode = static_cast<uint64_t>(event.ext4_direct_io_enter().ino()); 71 return true; 72 } else if (event.has_ext4_direct_io_exit() && 73 event.ext4_direct_io_exit().ino()) { 74 *inode = static_cast<uint64_t>(event.ext4_direct_io_exit().ino()); 75 return true; 76 } else if (event.has_ext4_discard_preallocations() && 77 event.ext4_discard_preallocations().ino()) { 78 *inode = static_cast<uint64_t>(event.ext4_discard_preallocations().ino()); 79 return true; 80 } else if (event.has_ext4_drop_inode() && event.ext4_drop_inode().ino()) { 81 *inode = static_cast<uint64_t>(event.ext4_drop_inode().ino()); 82 return true; 83 } else if (event.has_ext4_es_cache_extent() && 84 event.ext4_es_cache_extent().ino()) { 85 *inode = static_cast<uint64_t>(event.ext4_es_cache_extent().ino()); 86 return true; 87 } else if (event.has_ext4_es_find_delayed_extent_range_enter() && 88 event.ext4_es_find_delayed_extent_range_enter().ino()) { 89 *inode = static_cast<uint64_t>( 90 event.ext4_es_find_delayed_extent_range_enter().ino()); 91 return true; 92 } else if (event.has_ext4_es_find_delayed_extent_range_exit() && 93 event.ext4_es_find_delayed_extent_range_exit().ino()) { 94 *inode = static_cast<uint64_t>( 95 event.ext4_es_find_delayed_extent_range_exit().ino()); 96 return true; 97 } else if (event.has_ext4_es_insert_extent() && 98 event.ext4_es_insert_extent().ino()) { 99 *inode = static_cast<uint64_t>(event.ext4_es_insert_extent().ino()); 100 return true; 101 } else if (event.has_ext4_es_lookup_extent_enter() && 102 event.ext4_es_lookup_extent_enter().ino()) { 103 *inode = static_cast<uint64_t>(event.ext4_es_lookup_extent_enter().ino()); 104 return true; 105 } else if (event.has_ext4_es_lookup_extent_exit() && 106 event.ext4_es_lookup_extent_exit().ino()) { 107 *inode = static_cast<uint64_t>(event.ext4_es_lookup_extent_exit().ino()); 108 return true; 109 } else if (event.has_ext4_es_remove_extent() && 110 event.ext4_es_remove_extent().ino()) { 111 *inode = static_cast<uint64_t>(event.ext4_es_remove_extent().ino()); 112 return true; 113 } else if (event.has_ext4_evict_inode() && event.ext4_evict_inode().ino()) { 114 *inode = static_cast<uint64_t>(event.ext4_evict_inode().ino()); 115 return true; 116 } else if (event.has_ext4_ext_convert_to_initialized_enter() && 117 event.ext4_ext_convert_to_initialized_enter().ino()) { 118 *inode = static_cast<uint64_t>( 119 event.ext4_ext_convert_to_initialized_enter().ino()); 120 return true; 121 } else if (event.has_ext4_ext_convert_to_initialized_fastpath() && 122 event.ext4_ext_convert_to_initialized_fastpath().ino()) { 123 *inode = static_cast<uint64_t>( 124 event.ext4_ext_convert_to_initialized_fastpath().ino()); 125 return true; 126 } else if (event.has_ext4_ext_handle_unwritten_extents() && 127 event.ext4_ext_handle_unwritten_extents().ino()) { 128 *inode = 129 static_cast<uint64_t>(event.ext4_ext_handle_unwritten_extents().ino()); 130 return true; 131 } else if (event.has_ext4_ext_in_cache() && event.ext4_ext_in_cache().ino()) { 132 *inode = static_cast<uint64_t>(event.ext4_ext_in_cache().ino()); 133 return true; 134 } else if (event.has_ext4_ext_load_extent() && 135 event.ext4_ext_load_extent().ino()) { 136 *inode = static_cast<uint64_t>(event.ext4_ext_load_extent().ino()); 137 return true; 138 } else if (event.has_ext4_ext_map_blocks_enter() && 139 event.ext4_ext_map_blocks_enter().ino()) { 140 *inode = static_cast<uint64_t>(event.ext4_ext_map_blocks_enter().ino()); 141 return true; 142 } else if (event.has_ext4_ext_map_blocks_exit() && 143 event.ext4_ext_map_blocks_exit().ino()) { 144 *inode = static_cast<uint64_t>(event.ext4_ext_map_blocks_exit().ino()); 145 return true; 146 } else if (event.has_ext4_ext_put_in_cache() && 147 event.ext4_ext_put_in_cache().ino()) { 148 *inode = static_cast<uint64_t>(event.ext4_ext_put_in_cache().ino()); 149 return true; 150 } else if (event.has_ext4_ext_remove_space() && 151 event.ext4_ext_remove_space().ino()) { 152 *inode = static_cast<uint64_t>(event.ext4_ext_remove_space().ino()); 153 return true; 154 } else if (event.has_ext4_ext_remove_space_done() && 155 event.ext4_ext_remove_space_done().ino()) { 156 *inode = static_cast<uint64_t>(event.ext4_ext_remove_space_done().ino()); 157 return true; 158 } else if (event.has_ext4_ext_rm_idx() && event.ext4_ext_rm_idx().ino()) { 159 *inode = static_cast<uint64_t>(event.ext4_ext_rm_idx().ino()); 160 return true; 161 } else if (event.has_ext4_ext_rm_leaf() && event.ext4_ext_rm_leaf().ino()) { 162 *inode = static_cast<uint64_t>(event.ext4_ext_rm_leaf().ino()); 163 return true; 164 } else if (event.has_ext4_ext_show_extent() && 165 event.ext4_ext_show_extent().ino()) { 166 *inode = static_cast<uint64_t>(event.ext4_ext_show_extent().ino()); 167 return true; 168 } else if (event.has_ext4_fallocate_enter() && 169 event.ext4_fallocate_enter().ino()) { 170 *inode = static_cast<uint64_t>(event.ext4_fallocate_enter().ino()); 171 return true; 172 } else if (event.has_ext4_fallocate_exit() && 173 event.ext4_fallocate_exit().ino()) { 174 *inode = static_cast<uint64_t>(event.ext4_fallocate_exit().ino()); 175 return true; 176 } else if (event.has_ext4_find_delalloc_range() && 177 event.ext4_find_delalloc_range().ino()) { 178 *inode = static_cast<uint64_t>(event.ext4_find_delalloc_range().ino()); 179 return true; 180 } else if (event.has_ext4_forget() && event.ext4_forget().ino()) { 181 *inode = static_cast<uint64_t>(event.ext4_forget().ino()); 182 return true; 183 } else if (event.has_ext4_free_blocks() && event.ext4_free_blocks().ino()) { 184 *inode = static_cast<uint64_t>(event.ext4_free_blocks().ino()); 185 return true; 186 } else if (event.has_ext4_free_inode() && event.ext4_free_inode().ino()) { 187 *inode = static_cast<uint64_t>(event.ext4_free_inode().ino()); 188 return true; 189 } else if (event.has_ext4_get_reserved_cluster_alloc() && 190 event.ext4_get_reserved_cluster_alloc().ino()) { 191 *inode = 192 static_cast<uint64_t>(event.ext4_get_reserved_cluster_alloc().ino()); 193 return true; 194 } else if (event.has_ext4_ind_map_blocks_enter() && 195 event.ext4_ind_map_blocks_enter().ino()) { 196 *inode = static_cast<uint64_t>(event.ext4_ind_map_blocks_enter().ino()); 197 return true; 198 } else if (event.has_ext4_ind_map_blocks_exit() && 199 event.ext4_ind_map_blocks_exit().ino()) { 200 *inode = static_cast<uint64_t>(event.ext4_ind_map_blocks_exit().ino()); 201 return true; 202 } else if (event.has_ext4_insert_range() && event.ext4_insert_range().ino()) { 203 *inode = static_cast<uint64_t>(event.ext4_insert_range().ino()); 204 return true; 205 } else if (event.has_ext4_invalidatepage() && 206 event.ext4_invalidatepage().ino()) { 207 *inode = static_cast<uint64_t>(event.ext4_invalidatepage().ino()); 208 return true; 209 } else if (event.has_ext4_journalled_invalidatepage() && 210 event.ext4_journalled_invalidatepage().ino()) { 211 *inode = 212 static_cast<uint64_t>(event.ext4_journalled_invalidatepage().ino()); 213 return true; 214 } else if (event.has_ext4_journalled_write_end() && 215 event.ext4_journalled_write_end().ino()) { 216 *inode = static_cast<uint64_t>(event.ext4_journalled_write_end().ino()); 217 return true; 218 } else if (event.has_ext4_load_inode() && event.ext4_load_inode().ino()) { 219 *inode = static_cast<uint64_t>(event.ext4_load_inode().ino()); 220 return true; 221 } else if (event.has_ext4_mark_inode_dirty() && 222 event.ext4_mark_inode_dirty().ino()) { 223 *inode = static_cast<uint64_t>(event.ext4_mark_inode_dirty().ino()); 224 return true; 225 } else if (event.has_ext4_mb_new_group_pa() && 226 event.ext4_mb_new_group_pa().ino()) { 227 *inode = static_cast<uint64_t>(event.ext4_mb_new_group_pa().ino()); 228 return true; 229 } else if (event.has_ext4_mb_new_inode_pa() && 230 event.ext4_mb_new_inode_pa().ino()) { 231 *inode = static_cast<uint64_t>(event.ext4_mb_new_inode_pa().ino()); 232 return true; 233 } else if (event.has_ext4_mb_release_inode_pa() && 234 event.ext4_mb_release_inode_pa().ino()) { 235 *inode = static_cast<uint64_t>(event.ext4_mb_release_inode_pa().ino()); 236 return true; 237 } else if (event.has_ext4_mballoc_alloc() && 238 event.ext4_mballoc_alloc().ino()) { 239 *inode = static_cast<uint64_t>(event.ext4_mballoc_alloc().ino()); 240 return true; 241 } else if (event.has_ext4_mballoc_discard() && 242 event.ext4_mballoc_discard().ino()) { 243 *inode = static_cast<uint64_t>(event.ext4_mballoc_discard().ino()); 244 return true; 245 } else if (event.has_ext4_mballoc_free() && event.ext4_mballoc_free().ino()) { 246 *inode = static_cast<uint64_t>(event.ext4_mballoc_free().ino()); 247 return true; 248 } else if (event.has_ext4_mballoc_prealloc() && 249 event.ext4_mballoc_prealloc().ino()) { 250 *inode = static_cast<uint64_t>(event.ext4_mballoc_prealloc().ino()); 251 return true; 252 } else if (event.has_ext4_other_inode_update_time() && 253 event.ext4_other_inode_update_time().ino()) { 254 *inode = static_cast<uint64_t>(event.ext4_other_inode_update_time().ino()); 255 return true; 256 } else if (event.has_ext4_other_inode_update_time() && 257 event.ext4_other_inode_update_time().orig_ino()) { 258 *inode = 259 static_cast<uint64_t>(event.ext4_other_inode_update_time().orig_ino()); 260 return true; 261 } else if (event.has_ext4_punch_hole() && event.ext4_punch_hole().ino()) { 262 *inode = static_cast<uint64_t>(event.ext4_punch_hole().ino()); 263 return true; 264 } else if (event.has_ext4_readpage() && event.ext4_readpage().ino()) { 265 *inode = static_cast<uint64_t>(event.ext4_readpage().ino()); 266 return true; 267 } else if (event.has_ext4_releasepage() && event.ext4_releasepage().ino()) { 268 *inode = static_cast<uint64_t>(event.ext4_releasepage().ino()); 269 return true; 270 } else if (event.has_ext4_remove_blocks() && 271 event.ext4_remove_blocks().ino()) { 272 *inode = static_cast<uint64_t>(event.ext4_remove_blocks().ino()); 273 return true; 274 } else if (event.has_ext4_request_blocks() && 275 event.ext4_request_blocks().ino()) { 276 *inode = static_cast<uint64_t>(event.ext4_request_blocks().ino()); 277 return true; 278 } else if (event.has_ext4_sync_file_enter() && 279 event.ext4_sync_file_enter().ino()) { 280 *inode = static_cast<uint64_t>(event.ext4_sync_file_enter().ino()); 281 return true; 282 } else if (event.has_ext4_sync_file_exit() && 283 event.ext4_sync_file_exit().ino()) { 284 *inode = static_cast<uint64_t>(event.ext4_sync_file_exit().ino()); 285 return true; 286 } else if (event.has_ext4_truncate_enter() && 287 event.ext4_truncate_enter().ino()) { 288 *inode = static_cast<uint64_t>(event.ext4_truncate_enter().ino()); 289 return true; 290 } else if (event.has_ext4_truncate_exit() && 291 event.ext4_truncate_exit().ino()) { 292 *inode = static_cast<uint64_t>(event.ext4_truncate_exit().ino()); 293 return true; 294 } else if (event.has_ext4_unlink_enter() && event.ext4_unlink_enter().ino()) { 295 *inode = static_cast<uint64_t>(event.ext4_unlink_enter().ino()); 296 return true; 297 } else if (event.has_ext4_unlink_exit() && event.ext4_unlink_exit().ino()) { 298 *inode = static_cast<uint64_t>(event.ext4_unlink_exit().ino()); 299 return true; 300 } else if (event.has_ext4_write_begin() && event.ext4_write_begin().ino()) { 301 *inode = static_cast<uint64_t>(event.ext4_write_begin().ino()); 302 return true; 303 } else if (event.has_ext4_write_end() && event.ext4_write_end().ino()) { 304 *inode = static_cast<uint64_t>(event.ext4_write_end().ino()); 305 return true; 306 } else if (event.has_ext4_writepage() && event.ext4_writepage().ino()) { 307 *inode = static_cast<uint64_t>(event.ext4_writepage().ino()); 308 return true; 309 } else if (event.has_ext4_writepages() && event.ext4_writepages().ino()) { 310 *inode = static_cast<uint64_t>(event.ext4_writepages().ino()); 311 return true; 312 } else if (event.has_ext4_writepages_result() && 313 event.ext4_writepages_result().ino()) { 314 *inode = static_cast<uint64_t>(event.ext4_writepages_result().ino()); 315 return true; 316 } else if (event.has_ext4_zero_range() && event.ext4_zero_range().ino()) { 317 *inode = static_cast<uint64_t>(event.ext4_zero_range().ino()); 318 return true; 319 } else if (event.has_mm_filemap_add_to_page_cache() && 320 event.mm_filemap_add_to_page_cache().i_ino()) { 321 *inode = 322 static_cast<uint64_t>(event.mm_filemap_add_to_page_cache().i_ino()); 323 return true; 324 } else if (event.has_mm_filemap_delete_from_page_cache() && 325 event.mm_filemap_delete_from_page_cache().i_ino()) { 326 *inode = static_cast<uint64_t>( 327 event.mm_filemap_delete_from_page_cache().i_ino()); 328 return true; 329 } else if (event.has_f2fs_evict_inode() && event.f2fs_evict_inode().ino()) { 330 *inode = static_cast<uint64_t>(event.f2fs_evict_inode().ino()); 331 return true; 332 } else if (event.has_f2fs_evict_inode() && event.f2fs_evict_inode().pino()) { 333 *inode = static_cast<uint64_t>(event.f2fs_evict_inode().pino()); 334 return true; 335 } else if (event.has_f2fs_fallocate() && event.f2fs_fallocate().ino()) { 336 *inode = static_cast<uint64_t>(event.f2fs_fallocate().ino()); 337 return true; 338 } else if (event.has_f2fs_get_data_block() && 339 event.f2fs_get_data_block().ino()) { 340 *inode = static_cast<uint64_t>(event.f2fs_get_data_block().ino()); 341 return true; 342 } else if (event.has_f2fs_iget() && event.f2fs_iget().ino()) { 343 *inode = static_cast<uint64_t>(event.f2fs_iget().ino()); 344 return true; 345 } else if (event.has_f2fs_iget() && event.f2fs_iget().pino()) { 346 *inode = static_cast<uint64_t>(event.f2fs_iget().pino()); 347 return true; 348 } else if (event.has_f2fs_iget_exit() && event.f2fs_iget_exit().ino()) { 349 *inode = static_cast<uint64_t>(event.f2fs_iget_exit().ino()); 350 return true; 351 } else if (event.has_f2fs_new_inode() && event.f2fs_new_inode().ino()) { 352 *inode = static_cast<uint64_t>(event.f2fs_new_inode().ino()); 353 return true; 354 } else if (event.has_f2fs_readpage() && event.f2fs_readpage().ino()) { 355 *inode = static_cast<uint64_t>(event.f2fs_readpage().ino()); 356 return true; 357 } else if (event.has_f2fs_set_page_dirty() && 358 event.f2fs_set_page_dirty().ino()) { 359 *inode = static_cast<uint64_t>(event.f2fs_set_page_dirty().ino()); 360 return true; 361 } else if (event.has_f2fs_submit_write_page() && 362 event.f2fs_submit_write_page().ino()) { 363 *inode = static_cast<uint64_t>(event.f2fs_submit_write_page().ino()); 364 return true; 365 } else if (event.has_f2fs_sync_file_enter() && 366 event.f2fs_sync_file_enter().ino()) { 367 *inode = static_cast<uint64_t>(event.f2fs_sync_file_enter().ino()); 368 return true; 369 } else if (event.has_f2fs_sync_file_enter() && 370 event.f2fs_sync_file_enter().pino()) { 371 *inode = static_cast<uint64_t>(event.f2fs_sync_file_enter().pino()); 372 return true; 373 } else if (event.has_f2fs_sync_file_exit() && 374 event.f2fs_sync_file_exit().ino()) { 375 *inode = static_cast<uint64_t>(event.f2fs_sync_file_exit().ino()); 376 return true; 377 } else if (event.has_f2fs_truncate() && event.f2fs_truncate().ino()) { 378 *inode = static_cast<uint64_t>(event.f2fs_truncate().ino()); 379 return true; 380 } else if (event.has_f2fs_truncate() && event.f2fs_truncate().pino()) { 381 *inode = static_cast<uint64_t>(event.f2fs_truncate().pino()); 382 return true; 383 } else if (event.has_f2fs_truncate_blocks_enter() && 384 event.f2fs_truncate_blocks_enter().ino()) { 385 *inode = static_cast<uint64_t>(event.f2fs_truncate_blocks_enter().ino()); 386 return true; 387 } else if (event.has_f2fs_truncate_blocks_exit() && 388 event.f2fs_truncate_blocks_exit().ino()) { 389 *inode = static_cast<uint64_t>(event.f2fs_truncate_blocks_exit().ino()); 390 return true; 391 } else if (event.has_f2fs_truncate_data_blocks_range() && 392 event.f2fs_truncate_data_blocks_range().ino()) { 393 *inode = 394 static_cast<uint64_t>(event.f2fs_truncate_data_blocks_range().ino()); 395 return true; 396 } else if (event.has_f2fs_truncate_inode_blocks_enter() && 397 event.f2fs_truncate_inode_blocks_enter().ino()) { 398 *inode = 399 static_cast<uint64_t>(event.f2fs_truncate_inode_blocks_enter().ino()); 400 return true; 401 } else if (event.has_f2fs_truncate_inode_blocks_exit() && 402 event.f2fs_truncate_inode_blocks_exit().ino()) { 403 *inode = 404 static_cast<uint64_t>(event.f2fs_truncate_inode_blocks_exit().ino()); 405 return true; 406 } else if (event.has_f2fs_truncate_node() && 407 event.f2fs_truncate_node().ino()) { 408 *inode = static_cast<uint64_t>(event.f2fs_truncate_node().ino()); 409 return true; 410 } else if (event.has_f2fs_truncate_nodes_enter() && 411 event.f2fs_truncate_nodes_enter().ino()) { 412 *inode = static_cast<uint64_t>(event.f2fs_truncate_nodes_enter().ino()); 413 return true; 414 } else if (event.has_f2fs_truncate_nodes_exit() && 415 event.f2fs_truncate_nodes_exit().ino()) { 416 *inode = static_cast<uint64_t>(event.f2fs_truncate_nodes_exit().ino()); 417 return true; 418 } else if (event.has_f2fs_truncate_partial_nodes() && 419 event.f2fs_truncate_partial_nodes().ino()) { 420 *inode = static_cast<uint64_t>(event.f2fs_truncate_partial_nodes().ino()); 421 return true; 422 } else if (event.has_f2fs_unlink_enter() && event.f2fs_unlink_enter().ino()) { 423 *inode = static_cast<uint64_t>(event.f2fs_unlink_enter().ino()); 424 return true; 425 } else if (event.has_f2fs_unlink_exit() && event.f2fs_unlink_exit().ino()) { 426 *inode = static_cast<uint64_t>(event.f2fs_unlink_exit().ino()); 427 return true; 428 } else if (event.has_f2fs_vm_page_mkwrite() && 429 event.f2fs_vm_page_mkwrite().ino()) { 430 *inode = static_cast<uint64_t>(event.f2fs_vm_page_mkwrite().ino()); 431 return true; 432 } else if (event.has_f2fs_write_begin() && event.f2fs_write_begin().ino()) { 433 *inode = static_cast<uint64_t>(event.f2fs_write_begin().ino()); 434 return true; 435 } else if (event.has_f2fs_write_end() && event.f2fs_write_end().ino()) { 436 *inode = static_cast<uint64_t>(event.f2fs_write_end().ino()); 437 return true; 438 } 439 return false; 440} 441 442} // namespace perfetto 443