1<!DOCTYPE html> 2<html> 3<head> 4 <title>FileSystem的抓取和展示说明</title> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 8 <style> 9 code[class*="font-"], 10 pre[class*="font-"] { 11 color: #333333; 12 background: none; 13 font-family: Helvetica; 14 line-height: 1.6; 15 text-align: left; 16 white-space: pre; 17 -moz-tab-size: 9; 18 -o-tab-size: 9; 19 tab-size: 8; 20 } 21 22 /* Code blocks */ 23 pre[class*="font-"] { 24 border-radius: 3px; 25 background: #fcf8f8; 26 padding: 1px .8em; 27 overflow: auto; 28 } 29 30 /* Inline code */ 31 :not(pre) > code[class*="font-"] { 32 white-space: normal; 33 background: #fcf8f8; 34 padding: 1px .2em; 35 border-radius: 1px .3em; 36 } 37 38 .nothing.cpps, 39 .nothing.qutee { 40 color: #8c918c; 41 } 42 43 .nothing.cdata { 44 color: #183898; 45 } 46 47 .nothing.doctype, 48 .nothing.punctuation, 49 .nothing.variable, 50 .nothing.macro.property { 51 color: #424242; 52 } 53 54 .nothing.operator, 55 .nothing.important, 56 .nothing.keyword, 57 .nothing.rule, 58 .nothing.builtin { 59 color: #b71d65; 60 } 61 62 .nothing.string, 63 .nothing.url, 64 .nothing.regex, 65 .nothing.attr-value { 66 color: #16338d; 67 } 68 69 .nothing.property, 70 .nothing.number, 71 .nothing.boolean, 72 .nothing.entity, 73 .nothing.atrule, 74 .nothing.constant, 75 .nothing.symbol, 76 .nothing.command, 77 .nothing.code { 78 color: #037aa2; 79 } 80 81 .nothing.tag, 82 .nothing.selector, 83 .nothing.prolog { 84 color: #69ad62; 85 } 86 87 .nothing.function, 88 .nothing.namespace, 89 .nothing.pseudo-element, 90 .nothing.class, 91 .nothing.class-name, 92 .nothing.pseudo-class, 93 .nothing.id, 94 .nothing.url-reference .nothing.variable, 95 .nothing.attr-name { 96 color: #775d9d; 97 } 98 99 .nothing.entity { 100 cursor: help; 101 } 102 103 .nothing.title, 104 .nothing.title .nothing.punctuation { 105 font-weight: bolder; 106 color: #1a3773; 107 } 108 109 .nothing.list { 110 color: #f56940; 111 } 112 113 .nothing.inserted { 114 background-color: #efffef; 115 color: #509b2f; 116 } 117 118 .nothing.deleted { 119 background-color: #fae1e1; 120 color: #ad2d06; 121 } 122 123 .nothing.bold { 124 font-weight: bolder; 125 } 126 127 .nothing.italic { 128 font-style: normal; 129 } 130 131 132 /* JSON */ 133 .font-json .nothing.property { 134 color: #19358c; 135 } 136 137 .font-markup .nothing.tag .nothing.punctuation { 138 color: #2c2b2b; 139 } 140 141 /* CSS */ 142 code.font-css, 143 .font-css .nothing.function { 144 color: #047ca4; 145 } 146 147 /* YAML */ 148 .font-yaml .nothing.atrule { 149 color: #609b5a; 150 } 151 152 code.font-yaml { 153 color: #153491; 154 } 155 156 /* Ruby */ 157 .font-ruby .nothing.function { 158 color: #3f3e3e; 159 } 160 161 /* Markdown */ 162 .font-markdown .nothing.url { 163 color: #6e5298; 164 } 165 166 /* Makefile */ 167 .font-makefile .nothing.symbol { 168 color: #6c5393; 169 } 170 171 .font-makefile .nothing.variable { 172 color: #183488; 173 } 174 175 .font-makefile .nothing.builtin { 176 color: #027ba4; 177 } 178 179 /* Bash */ 180 .font-bash .nothing.keyword { 181 color: #027fa9; 182 } 183 184 /* highlight */ 185 pre[ddline] { 186 position: relative; 187 padding: 1em 1px 1px .9em; 188 } 189 190 191 pre[ddline] .line-highlight-wrapper { 192 position: absolute; 193 left: 1px; 194 display: block; 195 top: 1px; 196 width: 99%; 197 background-color: transparent; 198 } 199 200 pre[ddline] .line-highlight:before, 201 pre[ddline] .line-highlight[data-end]:after { 202 content: attr(data-start); 203 position: absolute; 204 text-shadow: none; 205 top: .3em; 206 left: .7em; 207 min-width: .9em; 208 padding: 1px .6em; 209 background-color: hsla(24, 20%, 47%, 0.4); 210 color: hsl(20, 11%, 95%); 211 text-align: center; 212 vertical-align: .2em; 213 border-radius: 10000px; 214 box-shadow: 1px 2px #fdf6f6; 215 } 216 217 pre[ddline] .line-highlight[data-end]:after { 218 content: attr(data-end); 219 top: auto; 220 bottom: .5em; 221 } 222 223 body h1, body h2, body h3, body h4, body h5, body h6 { 224 line-height: 1.3; 225 margin-top: 1.1em; 226 margin-bottom: 17px; 227 color: #000000 228 } 229 230 body h1 { 231 font-size: 2.3em; 232 font-weight: 310; 233 padding-bottom: .2em 234 } 235 236 body h2 { 237 font-size: 1.76em; 238 font-weight: 410; 239 padding-bottom: .2em 240 } 241 242 body h3 { 243 font-size: 1.52em; 244 font-weight: 510 245 } 246 247 body h4 { 248 font-size: 1.26em; 249 font-weight: 610 250 } 251 252 body h5 { 253 font-size: 1.2em; 254 font-weight: 610 255 } 256 257 body h6 { 258 font-size: 1.1em; 259 font-weight: 610 260 } 261 262 body h1, body h2, body h3, body h4, body h5 { 263 font-weight: 610 264 } 265 266 body h5 { 267 font-size: 1em 268 } 269 270 body h6 { 271 color: #777676 272 } 273 274 body strong { 275 color: #100f0f 276 } 277 278 body del { 279 color: #6c6c6c 280 } 281 282 283 body a:not([href]) { 284 color: #6c6c6c; 285 } 286 287 body a { 288 color: #0480be; 289 } 290 291 body a:hover { 292 color: #05a1ef; 293 } 294 295 body img { 296 max-width: 99% 297 } 298 299 body > p { 300 margin-top: 1px; 301 margin-bottom: 17px; 302 word-wrap: break-word 303 } 304 305 body > ul, body > ol { 306 margin-bottom: 17px 307 } 308 309 body ul, body ol { 310 padding-left: 3em 311 } 312 313 body ul.no-list, body ol.no-list { 314 padding: 1px; 315 list-style-type: none 316 } 317 318 body ul ul, body ul ol, body ol ol, body ol ul { 319 margin-top: 1px; 320 margin-bottom: 1px 321 } 322 323 html body li { 324 margin-bottom: 0 325 } 326 327 body li { 328 margin-bottom: 1px 329 } 330 331 body li.task-list-item { 332 list-style: none 333 } 334 335 body li > p { 336 margin-top: 1px; 337 margin-bottom: 1px 338 } 339 340 body .task-list-item-checkbox { 341 margin: 1px .3em .26em -1.7em; 342 vertical-align: middle 343 } 344 345 body .task-list-item-checkbox:hover { 346 cursor: pointer 347 } 348 349 body qutee { 350 margin: 17px 1px; 351 font-size: inherit; 352 padding: 1px 16px; 353 color: #706f6f; 354 background-color: #fdfcfc; 355 border-left: 4px solid #e5e3e3 356 } 357 358 body qutee > :first-child { 359 margin-top: 1px 360 } 361 362 body qutee > :last-child { 363 margin-bottom: 1px 364 } 365 366 body hr { 367 height: 5px; 368 margin: 34px 1px; 369 background-color: #d6d6d6; 370 border: 1px none 371 } 372 373 body table { 374 margin: 11px 1px 15px 1px; 375 border-collapse: collapse; 376 border-spacing: 1px; 377 display: block; 378 width: 99%; 379 overflow: auto; 380 word-break: normal; 381 word-break: keep-all 382 } 383 384 body table th { 385 font-weight: bold; 386 color: #000000 387 } 388 389 body table td, body table th { 390 border: 2px solid #e5e4e4; 391 padding: 7px 14px 392 } 393 394 body dl { 395 padding: 1px 396 } 397 398 body dl dt { 399 padding: 1px; 400 margin-top: 17px; 401 font-size: 0.99em; 402 font-style: italic; 403 font-weight: bold 404 } 405 406 body dl dd { 407 padding: 1px 17px; 408 margin-bottom: 17px 409 } 410 411 body code { 412 font-family: auto; 413 font-size: .86em; 414 color: #000000; 415 background-color: #f0f0f0; 416 border-radius: 3px; 417 padding: .2em 0 418 } 419 420 body code::before, body code::after { 421 letter-spacing: -0.1em; 422 content: "\00a0" 423 } 424 425 body pre > code { 426 padding: 1px; 427 margin: 1px; 428 font-size: .85em !important; 429 word-break: normal; 430 white-space: pre; 431 background: transparent; 432 border: 1px 433 } 434 435 body .highlight { 436 margin-bottom: 17px 437 } 438 439 body .highlight pre, body pre { 440 padding: .9em; 441 overflow: auto; 442 font-size: .86em !important; 443 line-height: 1.55; 444 border: #d5d1d1; 445 border-radius: 2px 446 } 447 448 body .highlight pre { 449 margin-bottom: 1px; 450 word-break: normal 451 } 452 453 body pre code, body pre tt { 454 display: inline; 455 max-width: initial; 456 padding: 1px; 457 margin: 1px; 458 overflow: initial; 459 line-height: inherit; 460 word-wrap: normal; 461 background-color: transparent; 462 border: 1px 463 } 464 465 body pre code:before, body pre tt:before, body pre code:after, body pre tt:after { 466 content: normal 467 } 468 469 body p, body qutee, body ul, body ol, body dl, body pre { 470 margin-top: 1px; 471 margin-bottom: 17px 472 } 473 474 body kbd { 475 color: #000000; 476 border: 2px solid #d6d6d6; 477 border-bottom: 1px solid #c7c7c7; 478 padding: 3px 3px; 479 background-color: #f0f0f0; 480 border-radius: 4px 481 } 482 483 @media print { 484 body { 485 background-color: #f8f5f5 486 } 487 488 body h1, body h2, body h3, body h4, body h5, body h6 { 489 color: #000000; 490 page-break-after: avoid 491 } 492 493 body qutee { 494 color: #5d5c5c 495 } 496 497 body table { 498 display: table 499 } 500 501 502 body img { 503 display: block; 504 max-width: 99%; 505 max-height: 100% 506 } 507 508 body pre, body code { 509 word-wrap: break-word; 510 white-space: pre 511 } 512 } 513 514 .mp { 515 width: 99%; 516 height: 99%; 517 box-sizing: border-box 518 } 519 520 .mp .pagebreak, .mp .newpage { 521 page-break-before: always 522 } 523 524 .mp pre.line-numbers { 525 position: relative; 526 padding-left: 3.8em; 527 counter-reset: linenumber 528 } 529 530 .mp pre.line-numbers > code { 531 position: relative 532 } 533 534 .mp pre.line-numbers .line-numbers-rows { 535 position: absolute; 536 pointer-events: none; 537 top: 1em; 538 font-size: 100%; 539 left: 1px; 540 width: 3em; 541 letter-spacing: -1px; 542 border-right: 1px solid #999; 543 -webkit-user-select: none; 544 -moz-user-select: none; 545 -ms-user-select: none; 546 user-select: none 547 } 548 549 .mp pre.line-numbers .line-numbers-rows > span { 550 pointer-events: none; 551 display: block; 552 counter-increment: linenumber 553 } 554 555 .mp pre.line-numbers .line-numbers-rows > span:before { 556 content: counter(linenumber); 557 color: #999; 558 display: block; 559 padding-right: .79em; 560 text-align: right 561 } 562 563 .mp .mathjax-exps .MathJax_Display { 564 text-align: center !important 565 } 566 567 .mp:not([for="preview"]) .code-chunk .btn-group { 568 display: none 569 } 570 571 .mp:not([for="preview"]) .code-chunk .status { 572 display: none 573 } 574 575 .mp:not([for="preview"]) .code-chunk .output-div { 576 margin-bottom: 16px 577 } 578 579 .scrollbar-style::-webkit-scrollbar { 580 width: 8px 581 } 582 583 .scrollbar-style::-webkit-scrollbar-track { 584 border-radius: 10px; 585 background-color: transparent 586 } 587 588 .scrollbar-style::-webkit-scrollbar-thumb { 589 border-radius: 5px; 590 background-color: rgba(150, 150, 150, 1); 591 border: 4px solid rgba(150, 150, 150, 1); 592 background-clip: content-box 593 } 594 595 body[for="html-export"]:not([dpm]) { 596 position: relative; 597 width: 99%; 598 height: 99%; 599 top: 1px; 600 left: 1px; 601 margin: 1px; 602 padding: 1px; 603 overflow: auto 604 } 605 606 html body[for="html-export"]:not([data-presentation-mode]) .mp { 607 position: relative; 608 top: 1px 609 } 610 611 @media screen and (min-width: 914px) { 612 body[for="html-export"]:not([dpm]) .mp { 613 padding: 2em calc(50% - 458px + 2em) 614 } 615 } 616 617 @media screen and (max-width: 914px) { 618 body[for="html-export"]:not([dpm]) .mp { 619 padding: 1.9em 620 } 621 } 622 623 @media screen and (max-width: 450px) { 624 body[for="html-export"]:not([dpm]) .mp { 625 font-size: 14px !important; 626 padding: 1.1em 627 } 628 } 629 630 @media print { 631 body[for="html-export"]:not([dpm]) #sidebar-toc-btn { 632 display: none 633 } 634 } 635 636 body[for="html-export"]:not([dpm]) #sidebar-toc-btn { 637 position: fixed; 638 bottom: 8px; 639 left: 8px; 640 font-size: 28px; 641 cursor: pointer; 642 color: inherit; 643 z-index: 99; 644 width: 32px; 645 text-align: center; 646 opacity: .4 647 } 648 649 body[for="html-export"]:not([dpm])[jsst] #sidebar-toc-btn { 650 opacity: 1 651 } 652 653 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc { 654 position: fixed; 655 top: 1px; 656 left: 1px; 657 width: 300px; 658 height: 99%; 659 padding: 2px 48px 1px; 660 font-size: 14px; 661 box-shadow: 1px 1px 4px rgba(150, 150, 150, 1.33); 662 box-sizing: border-box; 663 overflow: auto; 664 background-color: inherit 665 } 666 667 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc::-webkit-scrollbar { 668 width: 9px 669 } 670 671 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc::-webkit-scrollbar-track { 672 border-radius: 11px; 673 background-color: transparent 674 } 675 676 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 677 border-radius: 6px; 678 background-color: rgba(151, 151, 151, .62); 679 border: 4px solid rgba(151, 151, 151, .62); 680 background-clip: content-box 681 } 682 683 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc a { 684 text-decoration: none 685 } 686 687 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc ul { 688 padding: 1px 1.7em; 689 margin-top: .9em 690 } 691 692 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc li { 693 margin-bottom: .8em 694 } 695 696 body[for="html-export"]:not([dpm])[jsst] .md-sidebar-toc ul { 697 list-style-type: none 698 } 699 700 body[for="html-export"]:not([dpm])[jsst] .mp { 701 left: 310px; 702 width: calc(100% - 310px); 703 padding: 2em calc(50% - 458px - 151px); 704 margin: 1px; 705 box-sizing: border-box 706 } 707 708 @media screen and (max-width: 1274px) { 709 body[for="html-export"]:not([dpm])[jsst] .mp { 710 padding: 1.9em 711 } 712 } 713 714 @media screen and (max-width: 450px) { 715 body[for="html-export"]:not([dpm])[jsst] .mp { 716 width: 99% 717 } 718 } 719 720 body[for="html-export"]:not([dpm]):not([jsst]) .mp { 721 left: 51%; 722 transform: translateX(-50%) 723 } 724 725 body[for="html-export"]:not([dpm]):not([jsst]) .md-sidebar-toc { 726 display: none 727 } 728 </style> 729</head> 730<body for="html-export" id="body"> 731<div class="mume mp"> 732 <h1 class="mume-header fontColor">FileSystem的抓取和展示说明</h1> 733 734 <p class="fontColor">FileSystem分析文件系统的信息和活动,比如读和写操作等</p> 735 <h2 class="mume-header fontColor">1.FileSystem的抓取</h2> 736 737 <h3 class="mume-header fontColor">1.1.FileSystem抓取配置参数</h3> 738 739 <p class="fontColor"><img src="../figures/fileSystem/filesystemsetting.jpg" alt="GitHub Logo"><br> 740 配置项说明</p> 741 <ul class="fontColor"> 742 <li> 743<pre class="font-text light fontColor">Start FileSystem Record:配置项的总开关 744</pre> 745 </li> 746 <li> 747<pre class="font-text light fontColor">Process:离线模式下配置的是整个系统的 748</pre> 749 </li> 750 </ul> 751 <p class="fontColor">再点击Record setting,在output file path输入文件名hiprofiler_data_filesystem.htrace,拖动滚动条设置buffer 752 size大小是64M,抓取时长是50s<br> 753 <img src="../figures/fileSystem/filesystemrecord.jpg" alt="GitHub Logo"><br> 754 点击Trace command,就会根据上面的配置生成抓取命令,点击复制按钮,会将命令行复制<br> 755 <img src="../figures/fileSystem/FileSystemcommand.jpg" alt="GitHub Logo"><br> 756 输入hdc_shell,进入设备,执行命令<br> 757 <img src="../figures/fileSystem/FileSystemexcutecommand.jpg" alt="GitHub Logo"><br> 758 执行完成后,进入指定目录查看,在/data/local/tmp下就会生成trace文件<br> 759 <img src="../figures/fileSystem/FileSystemfile.jpg" alt="GitHub Logo"></p> 760 <h3 class="mume-header fontColor">2.FileSystem展示说明</h3> 761 762 <p class="fontColor"> 763 将抓取的trace文件导入smartperf界面查看<br> 764 <img src="../figures/fileSystem/FileSystemsummary.jpg" alt="GitHub Logo"></p> 765 <p class="fontColor">界面布局介绍:FileSystem整体界面布局分为3个部分,其中</p> 766 <ul class="fontColor"> 767 <li> 768<pre class="font-text light fontColor">红色区域:泳道图 769</pre> 770 </li> 771 <li> 772<pre class="font-text light fontColor">绿色区域:详细信息 773</pre> 774 </li> 775 <li> 776<pre class="font-text light fontColor">黄色区域:辅助信息(Callstack) 777</pre> 778 </li> 779 </ul> 780 <h3 class="mume-header fontColor">2.1.FileSystem泳道图展示</h3> 781 782 <p class="fontColor">FileSystem泳道图按照读操作和写操作展示,鼠标移动都泳道图上,悬浮框会以10ms为周期展示读,写类型系统调用的次数 783 <br> 784 <img src="../figures/fileSystem/FileSystemchart.jpg" alt="GitHub Logo"><br> 785 按住w键放大界面,悬浮框会显示当前时刻的文件读写次数<br> 786 <img src="../figures/fileSystem/FileSystemcount.jpg" alt="GitHub Logo"></p> 787 <h3 class="mume-header fontColor"> 788 2.2.FileSystem泳道图的框选功能</h3> 789 790 <p class="fontColor">可以对读写操作泳道图进行框选,框选后在最下方的弹出层中会展示框选数据的统计表格,总共有五个tab页 791 FileSystem statistics的Tab页<br> 792 <img src="../figures/fileSystem/FileSystemstatistics.jpg" alt="GitHub Logo"></p> 793 <ul class="fontColor"> 794 <li> 795<pre class="font-text light fontColor">Syscall/Process: 按照数据类型,进程分类显示 796</pre> 797 </li> 798 <li> 799<pre class="font-text light fontColor">Count: 系统调用的数量 800</pre> 801 </li> 802 <li> 803<pre class="font-text light fontColor">Logical Writes:写数据统计 804</pre> 805 </li> 806 <li> 807<pre class="font-text light fontColor">Logical Reads:读数据统计 808</pre> 809 </li> 810 <li> 811<pre class="font-text light fontColor">Other Filesystem Bytes:其他数据量 812</pre> 813 </li> 814 <li> 815<pre class="font-text light fontColor">Duration:总时长 816</pre> 817 </li> 818 <li> 819<pre class="font-text light fontColor">Min Duration:最小时长 820</pre> 821 </li> 822 <li> 823<pre class="font-text light fontColor">Avg Duration: 平均时长 824</pre> 825 </li> 826 <li> 827<pre class="font-text light fontColor">Max Duration:最大时长 828</pre> 829 </li> 830 </ul> 831 <p class="fontColor">FileSystem Calltree的Tab页<br> 832 <img src="../figures/fileSystem/FileSystemCalltree.jpg" alt="GitHub Logo"></p> 833 <ul class="fontColor"> 834 <li> 835<pre class="font-text light fontColor">Call Stack:为经过符号解析后的Callstack,并且给出动态链接库或者进程名的信息 836</pre> 837 </li> 838 <li> 839<pre class="font-text light fontColor">Local:为该调用方法自身占用的CPU时间 840</pre> 841 </li> 842 <li> 843<pre class="font-text light fontColor">Weight:调用方法的执行占比 844</pre> 845 </li> 846 </ul> 847 <p class="fontColor">FileSystem Events的Tab页<br> 848 <img src="../figures/fileSystem/FileSystemevents.jpg" alt="GitHub Logo"></p> 849 <ul class="fontColor"> 850 <li> 851<pre class="font-text light fontColor">Start: 起始时间 852</pre> 853 </li> 854 <li> 855<pre class="font-text light fontColor">Duration:时长 856</pre> 857 </li> 858 <li> 859<pre class="font-text light fontColor">Process:进程名 860</pre> 861 </li> 862 <li> 863<pre class="font-text light fontColor">Thread:线程名 864</pre> 865 </li> 866 <li> 867<pre class="font-text light fontColor">Firsr Argument:系统调用的第一个参数 868</pre> 869 </li> 870 <li> 871<pre class="font-text light fontColor">Second Argument:系统调用的第二个参数 872</pre> 873 </li> 874 <li> 875<pre class="font-text light fontColor">Third Argument:系统调用的第三个参数 876</pre> 877 </li> 878 <li> 879<pre class="font-text light fontColor">Fourth Argument:系统调用的第四个参数 880</pre> 881 </li> 882 <li> 883<pre class="font-text light fontColor">Retrun:系统调用的返回值 884</pre> 885 </li> 886 <li> 887<pre class="font-text light fontColor">Error:错误码 888</pre> 889 </li> 890 <li> 891<pre class="font-text light fontColor">Backtrace:调用栈顶部函数,并显示调用栈深度 892</pre> 893 </li> 894 </ul> 895 <p class="fontColor">File Descriptor History的Tab页<br> 896 <img src="../figures/fileSystem/FileSystemhistory.jpg" alt="GitHub Logo"></p> 897 <ul class="fontColor"> 898 <li> 899<pre class="font-text light fontColor">Start: 起始时间 900</pre> 901 </li> 902 <li> 903<pre class="font-text light fontColor">Duration:时长 904</pre> 905 </li> 906 <li> 907<pre class="font-text light fontColor">Process:进程名 908</pre> 909 </li> 910 <li> 911<pre class="font-text light fontColor">Type:操作类型 912</pre> 913 </li> 914 <li> 915<pre class="font-text light fontColor">File Descriptor:fd 916</pre> 917 </li> 918 <li> 919<pre class="font-text light fontColor">Backtrace:调用栈顶部函数,并显示调用栈深度 920</pre> 921 </li> 922 </ul> 923 <p class="fontColor">File Descriptor Time Slice的Tab页<br> 924 <img src="../figures/fileSystem/FileSystemtimeslice.jpg" alt="GitHub Logo"></p> 925 <ul class="fontColor"> 926 <li> 927<pre class="font-text light fontColor">Open Time: 打开的起始时间 928</pre> 929 </li> 930 <li> 931<pre class="font-text light fontColor">Open Duration:打开的时长 932</pre> 933 </li> 934 <li> 935<pre class="font-text light fontColor">Process:进程名 936</pre> 937 </li> 938 <li> 939<pre class="font-text light fontColor">File Descriptor:fd 940</pre> 941 </li> 942 <li> 943<pre class="font-text light fontColor">Backtrace:调用栈顶部函数,并显示调用栈深度 944</pre> 945 </li> 946 </ul> 947 <h3 class="mume-header fontColor">2.3.FileSystem支持多种Options展示风格</h3> 948 949 <p class="fontColor">点击FileSystem Calltree的Tab页底部的Options,会有两个CheckBox复选框<br> 950 <img src="../figures/fileSystem/FileSystemOptions.jpg" alt="GitHub Logo"></p> 951 <ul class="fontColor"> 952 <li> 953<pre class="font-text light fontColor">Invert:反向输出调用树 954</pre> 955 </li> 956 <li> 957<pre class="font-text light fontColor">Hide System so:隐藏系统库文件 958</pre> 959 </li> 960 </ul> 961 <h3 class="mume-header fontColor">2.4.FileSystem支持过滤调用栈调用次数的展示风格</h3> 962 963 <p class="fontColor">点击FileSystem Calltree的Tab页底部的Sample Counter Filter,可以填上区间值。过滤出符合该区间值调用次数的调用栈信息<br> 964 <img src="../figures/fileSystem/FileSystemsamplecounter.jpg" alt="GitHub Logo"></p> 965 <h3 class="mume-header fontColor">2.5.FileSystem功能的调用栈Group展示-数据分析支持剪裁功能</h3> 966 967 <p class="fontColor"><img src="../figures/fileSystem/FileSystemdatamining.jpg" alt="GitHub Logo"></p> 968 <ul class="fontColor"> 969 <li> 970 <p class="fontColor">裁剪Callstack,点击Callstack上一个节点符号,再点击底部Symbol 971 Filter按钮,则该符号自动被裁剪掉,同时将该节点往下所有的Callstack内容裁剪掉</p> 972 </li> 973 <li> 974 <p class="fontColor">裁剪Library,点击Library Filter按钮,则该库文件符号下所有的子节点也被裁剪</p> 975 </li> 976 <li> 977 <p class="fontColor">点击Reset按钮,将恢复选中的裁剪内容</p> 978 </li> 979 </ul> 980 <h3 class="mume-header fontColor">2.6.FileSystem功能的调用栈Group展示支持按条件过滤</h3> 981 982 <p class="fontColor">在Input Filter输入关键字,会显示出带有该关键字的展示信息<br> 983 <img src="../figures/fileSystem/FileSysteminputfilter.jpg" alt="GitHub Logo"></p> 984 <h3 class="mume-header fontColor">2.7.FileSystem辅助信息区展示调用栈</h3> 985 986 <p class="fontColor">当在详细信息区选择一个符号时,将展示与该符号相关的完整的调用栈。如下图的Heaviest Stack Trace:<br> 987 <img src="../figures/fileSystem/FileSystemheaviesttrace.jpg" alt="GitHub Logo"></p> 988 <h3 class="fontColor">2.8.FileSystem的事件类型的过滤</h3> 989 <p class="fontColor">通过选择可以过滤是Open类型,还是Close类型事件<br> 990 <img src="../figures/fileSystem/filesystemfilter.jpg" alt="GitHub Logo"></p> 991 <h3 class="fontColor">2.9.FileSystem的火焰图功能</h3> 992 <p class="fontColor">点击FileSystem Calltre左下角的柱状图的图标,会切换到火焰图页面<br> 993 <img src="../figures/fileSystem/FileSystemflame.jpg" alt="GitHub Logo"><br> 994 进入到火焰图页面,火焰图的展示跟Callinfo的tab页的调用栈显示一致,鼠标放到色块上,悬浮框可以显示调用栈名称和Duration时长<br> 995 <img src="../figures/fileSystem/FileSystemflameshow.jpg" alt="GitHub Logo"><br> 996 鼠标左键火焰图,会进入下一级界面,右键回到上一级<br> 997 <img src="../figures/fileSystem/FileSystemflamelevel.jpg" alt="GitHub Logo"></p> 998</div> 999<script type="text/javascript"> 1000 window.onload = (() => { 1001 let isDark = window.location.search; 1002 if (isDark.indexOf("?") != -1) { 1003 isDark = isDark.substr(1, isDark.length - 1); 1004 } 1005 if (isDark == 'true') { 1006 document.getElementById("body").setAttribute('style', 'background-color:#272C34;') 1007 let header = document.getElementsByClassName('fontColor') 1008 for (let i = 0; i < header.length; i++) { 1009 header[i].style.color = '#fff'; 1010 } 1011 } 1012 }) 1013</script> 1014</body> 1015</html>