1<!DOCTYPE html> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <title>des_tables</title> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8 9 <style> 10 code[class*='smartperf-'], 11 pre[class*='smartperf-'] { 12 color: #333333; 13 background: none; 14 font-family: Helvetica; 15 line-height: 1.6; 16 text-align: left; 17 white-space: pre; 18 -moz-tab-size: 9; 19 -o-tab-size: 9; 20 tab-size: 8; 21 -webkit-hyphens: none; 22 -moz-hyphens: none; 23 -ms-hyphens: none; 24 hyphens: none; 25 } 26 27 /* Code blocks */ 28 pre[class*='smartperf-'] { 29 padding: 0.9em; 30 overflow: auto; 31 border-radius: 2px; 32 background: #f5f5f4; 33 } 34 35 /* Inline code */ 36 :not(pre) > code[class*='smartperf-'] { 37 white-space: normal; 38 background: #fcf8f8; 39 padding: 1px 0.2em; 40 border-radius: 1px 0.3em; 41 } 42 43 .tk.comment, 44 .tk.blockquote { 45 color: #8c918c; 46 } 47 48 .tk.cdata { 49 color: #183898; 50 } 51 52 .tk.doctype, 53 .tk.punctuation, 54 .tk.variable, 55 .tk.macro.property { 56 color: #424242; 57 } 58 59 .tk.operator, 60 .tk.important, 61 .tk.keyword, 62 .tk.rule, 63 .tk.builtin { 64 color: #b71d65; 65 } 66 67 .tk.string, 68 .tk.url, 69 .tk.regex, 70 .tk.attr-value { 71 color: #16338d; 72 } 73 74 .tk.property, 75 .tk.number, 76 .tk.boolean, 77 .tk.entity, 78 .tk.atrule, 79 .tk.constant, 80 .tk.symbol, 81 .tk.command, 82 .tk.code { 83 color: #037aa2; 84 } 85 86 .tk.tag, 87 .tk.selector, 88 .tk.prolog { 89 color: #69ad62; 90 } 91 92 .tk.function, 93 .tk.namespace, 94 .tk.pseudo-element, 95 .tk.class, 96 .tk.class-name, 97 .tk.pseudo-class, 98 .tk.id, 99 .tk.url-reference .tk.variable, 100 .tk.attr-name { 101 color: #775d9d; 102 } 103 104 .tk.entity { 105 cursor: help; 106 } 107 108 .tk.title, 109 .tk.title .tk.punctuation { 110 font-weight: bold; 111 color: #1a3773; 112 } 113 114 .tk.list { 115 color: #f56940; 116 } 117 118 .tk.inserted { 119 background-color: #eaffea; 120 color: #509b2f; 121 } 122 123 .tk.deleted { 124 background-color: #fae1e1; 125 color: #ad2d06; 126 } 127 128 .tk.bold { 129 font-weight: bolder; 130 } 131 132 .tk.italic { 133 font-style: normal; 134 } 135 136 /* JSON */ 137 .smartperf-json .tk.property { 138 color: #19358c; 139 } 140 141 .smartperf-markup .tk.tag .tk.punctuation { 142 color: #2c2b2b; 143 } 144 145 /* CSS */ 146 code.smartperf-css, 147 .smartperf-css .tk.function { 148 color: #047ca4; 149 } 150 151 /* YAML */ 152 .smartperf-yaml .tk.atrule { 153 color: #609b5a; 154 } 155 156 code.smartperf-yaml { 157 color: #153491; 158 } 159 160 /* Ruby */ 161 .smartperf-ruby .tk.function { 162 color: #3f3e3e; 163 } 164 165 /* Markdown */ 166 .smartperf-markdown .tk.url { 167 color: #6e5298; 168 } 169 170 /* Makefile */ 171 .smartperf-makefile .tk.symbol { 172 color: #6c5393; 173 } 174 175 .smartperf-makefile .tk.variable { 176 color: #183488; 177 } 178 179 .smartperf-makefile .tk.builtin { 180 color: #027ba4; 181 } 182 183 /* Bash */ 184 .smartperf-bash .tk.keyword { 185 color: #027fa9; 186 } 187 188 /* highlight */ 189 pre[dl] { 190 position: relative; 191 padding: 1em 1px 1px 0.9em; 192 } 193 194 pre[dl] .line-highlight-wrapper { 195 position: absolute; 196 top: 1px; 197 left: 1px; 198 background-color: transparent; 199 display: block; 200 width: 99%; 201 } 202 203 pre[dl] .line-highlight { 204 position: absolute; 205 left: 1px; 206 right: 1px; 207 padding: inherit; 208 margin-top: 0.9em; 209 background: hsla(25, 21%, 50%, 0.08); 210 background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); 211 pointer-events: none; 212 line-height: inherit; 213 white-space: pre; 214 } 215 216 pre[dl] .line-highlight:before, 217 pre[dl] .line-highlight[data-end]:after { 218 content: attr(data-start); 219 position: absolute; 220 text-shadow: none; 221 top: 0.3em; 222 left: 0.7em; 223 min-width: 0.9em; 224 padding: 1px 0.6em; 225 background-color: hsla(24, 20%, 47%, 0.4); 226 color: hsl(20, 11%, 95%); 227 text-align: center; 228 vertical-align: 0.2em; 229 border-radius: 10000px; 230 box-shadow: 1px 2px #fdf6f6; 231 } 232 233 pre[dl] .line-highlight[data-end]:after { 234 content: attr(data-end); 235 top: auto; 236 bottom: 0.5em; 237 } 238 239 html body { 240 line-height: 1.6; 241 font-size: 16px; 242 color: #333333; 243 overflow: initial; 244 background-color: #ffffff; 245 word-wrap: break-word; 246 font-family: Helvetica; 247 box-sizing: border-box; 248 } 249 250 html body > :first-child { 251 margin-top: 0px; 252 } 253 254 html body h1, 255 html body h2, 256 html body h3, 257 html body h4, 258 html body h5, 259 html body h6 { 260 margin-top: 1em; 261 margin-bottom: 16px; 262 color: #000000; 263 line-height: 1.2; 264 } 265 266 html body h1 { 267 font-weight: 300; 268 font-size: 2.25em; 269 padding-bottom: 0.3em; 270 } 271 272 html body h2 { 273 font-weight: 410; 274 font-size: 1.74em; 275 padding-bottom: 0.2em; 276 } 277 278 html body h3 { 279 font-size: 1.6em; 280 font-weight: 501; 281 } 282 283 html body h4 { 284 font-size: 1.26em; 285 font-weight: 601; 286 } 287 288 html body h5 { 289 font-size: 1.2em; 290 font-weight: 601; 291 } 292 293 html body h6 { 294 font-size: 0.9em; 295 font-weight: 601; 296 } 297 298 html body h1, 299 html body h2, 300 html body h3, 301 html body h4, 302 html body h5 { 303 font-weight: 601; 304 } 305 306 html body h5 { 307 font-size: 0.9em; 308 } 309 310 html body h6 { 311 color: #5c5c5c; 312 } 313 314 html body strong { 315 color: #090909; 316 } 317 318 html body del { 319 color: #525252; 320 } 321 322 html body a:not([href]) { 323 color: inherit; 324 text-decoration: none; 325 } 326 327 html body a { 328 color: #0192da; 329 text-decoration: none; 330 } 331 332 html body a:hover { 333 color: #029dea; 334 text-decoration: none; 335 } 336 337 html body img { 338 max-width: 99%; 339 } 340 341 html body > p { 342 margin-top: 1px; 343 margin-bottom: 15px; 344 word-wrap: break-word; 345 } 346 347 html body > ul, 348 html body > ol { 349 margin-bottom: 15px; 350 } 351 352 html body ul, 353 html body ol { 354 padding-left: 1.9em; 355 } 356 357 html body ul.no-list, 358 html body ol.no-list { 359 padding: 0px; 360 list-style-type: none; 361 } 362 363 html body ul ul, 364 html body ul ol, 365 html body ol ol, 366 html body ol ul { 367 margin-top: 1px; 368 margin-bottom: 1px; 369 } 370 371 html body li { 372 margin-bottom: 1px; 373 } 374 375 html body li.task-list-item { 376 list-style: none; 377 } 378 379 html body li > p { 380 margin-top: 1px; 381 margin-bottom: 1px; 382 } 383 384 html body .task-list-item-checkbox { 385 margin: 0 0.3em 0.24em -1.7em; 386 vertical-align: middle; 387 } 388 389 html body .task-list-item-checkbox:hover { 390 cursor: pointer; 391 } 392 393 html body blockquote { 394 padding: 0.1px 15px 0 0.1px; 395 font-size: inherit; 396 color: #5c5c5c; 397 margin: 16px 0.1px 0 0.1px; 398 border-left: 3px solid #cbc9c9; 399 background-color: #e8e6e6; 400 } 401 402 html body blockquote > :first-child { 403 margin-top: 0.2px; 404 } 405 406 html body blockquote > :last-child { 407 margin-bottom: 0.1px; 408 } 409 410 html body hr { 411 height: 5px; 412 background-color: #cbcaca; 413 margin: 32px 0 0.1px 0; 414 border: 0 none; 415 } 416 417 html body table { 418 overflow: auto; 419 border-collapse: collapse; 420 margin: 15px 0.1px 20px 0.1px; 421 border-spacing: 0; 422 } 423 424 html body table th { 425 font-weight: bold; 426 color: #000000; 427 } 428 429 html body table td, 430 html body table th { 431 border: 1px solid #d6d6d6; 432 padding: 2px 14px; 433 } 434 435 html body dl { 436 padding: 0px; 437 } 438 439 html body dl dt { 440 padding: 0px; 441 margin-top: 15px; 442 font-size: 0.9em; 443 font-style: italic; 444 font-weight: bold; 445 } 446 447 html body dl dd { 448 padding: 0px 17px; 449 margin-bottom: 17px; 450 } 451 452 html body code { 453 font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 454 font-size: 0.86em !important; 455 color: #000000; 456 background-color: #f0f0f0; 457 border-radius: 4px; 458 padding: 0.3em 0px; 459 } 460 461 html body code::before, 462 html body code::after { 463 letter-spacing: -0.1em; 464 content: '\00a0'; 465 } 466 467 html body pre > code { 468 padding: 1px; 469 margin: 0px; 470 font-size: 0.86em !important; 471 word-break: normal; 472 white-space: pre; 473 background: transparent; 474 border: 0px; 475 } 476 477 html body .highlight { 478 margin-bottom: 17px; 479 } 480 481 html body .highlight pre, 482 html body pre { 483 padding: 0.9em; 484 overflow: auto; 485 font-size: 0.86em !important; 486 line-height: 1.46; 487 border: #d6d6d6; 488 border-radius: 4px; 489 } 490 491 html body .highlight pre { 492 margin-bottom: 0px; 493 word-break: normal; 494 } 495 496 html body pre code, 497 html body pre tt { 498 display: inline; 499 max-width: initial; 500 padding: 1px; 501 margin: 1px; 502 overflow: initial; 503 line-height: inherit; 504 word-wrap: normal; 505 background-color: transparent; 506 border: 1px; 507 } 508 509 html body pre code:before, 510 html body pre tt:before, 511 html body pre code:after, 512 html body pre tt:after { 513 content: normal; 514 } 515 516 html body p, 517 html body blockquote, 518 html body ul, 519 html body ol, 520 html body dl, 521 html body pre { 522 margin-top: 1px; 523 margin-bottom: 17px; 524 } 525 526 html body kbd { 527 color: #000000; 528 border: 3px solid #d6d6d6; 529 border-bottom: 3px solid #c7c7c7; 530 padding: 3px 5px; 531 background-color: #f0f0f0; 532 border-radius: 2px; 533 } 534 535 @media print { 536 html body { 537 background-color: #ffffff; 538 } 539 540 html body h1, 541 html body h2, 542 html body h3, 543 html body h4, 544 html body h5, 545 html body h6 { 546 color: #000000; 547 page-break-after: avoid; 548 } 549 550 html body blockquote { 551 color: #5c5c53; 552 } 553 554 html body pre { 555 page-break-inside: avoid; 556 } 557 558 html body table { 559 display: table; 560 } 561 562 html body img { 563 display: block; 564 max-width: 99%; 565 max-height: 99%; 566 } 567 568 html body pre, 569 html body code { 570 word-wrap: break-word; 571 white-space: pre; 572 } 573 } 574 575 .smartperf-preview { 576 width: 99%; 577 height: 99%; 578 box-sizing: border-box; 579 } 580 581 .smartperf-preview .pagebreak, 582 .smartperf-preview .newpage { 583 page-break-before: always; 584 } 585 586 .smartperf-preview pre.line-numbers { 587 position: relative; 588 padding-left: 3.7em; 589 counter-reset: linenumber; 590 } 591 592 .smartperf-preview pre.line-numbers > code { 593 position: relative; 594 } 595 596 .smartperf-preview pre.line-numbers .line-numbers-rows { 597 position: absolute; 598 pointer-events: none; 599 top: 0.9em; 600 font-size: 99%; 601 left: 1px; 602 width: 3em; 603 letter-spacing: -1px; 604 border-right: 1px solid #999; 605 -webkit-user-select: none; 606 -moz-user-select: none; 607 -ms-user-select: none; 608 user-select: none; 609 } 610 611 .smartperf-preview pre.line-numbers .line-numbers-rows > span { 612 pointer-events: none; 613 display: block; 614 counter-increment: linenumber; 615 } 616 617 .smartperf-preview pre.line-numbers .line-numbers-rows > span:before { 618 content: counter(linenumber); 619 color: #999; 620 display: block; 621 padding-right: 0.79em; 622 text-align: right; 623 } 624 625 .smartperf-preview .mathjax-exps .MathJax_Display { 626 text-align: center !important; 627 } 628 629 .smartperf-preview:not([for='preview']) .code-chunk .btn-group { 630 display: none; 631 } 632 633 .smartperf-preview:not([for='preview']) .code-chunk .status { 634 display: none; 635 } 636 637 .smartperf-preview:not([for='preview']) .code-chunk .output-div { 638 margin-bottom: 16px; 639 } 640 641 .scrollbar-style::-webkit-scrollbar { 642 width: 8px; 643 } 644 645 .scrollbar-style::-webkit-scrollbar-track { 646 border-radius: 9px; 647 background-color: transparent; 648 } 649 650 .scrollbar-style::-webkit-scrollbar-thumb { 651 border-radius: 6px; 652 background-color: rgba(150, 150, 150, 1); 653 border: 4px solid rgba(150, 150, 150, 1); 654 background-clip: content-box; 655 } 656 657 html body[for='html-export']:not([dpm]) { 658 position: relative; 659 width: 99%; 660 height: 99%; 661 top: 1px; 662 left: 1px; 663 margin: 1px; 664 padding: 1px; 665 overflow: auto; 666 } 667 668 html body[for='html-export']:not([dpm]) .smartperf-preview { 669 position: relative; 670 top: 1px; 671 } 672 673 @media screen and (min-width: 914px) { 674 html body[for='html-export']:not([dpm]) .smartperf-preview { 675 padding: 2em calc(50% - 458px + 2em); 676 } 677 } 678 679 @media screen and (max-width: 914px) { 680 html body[for='html-export']:not([dpm]) .smartperf-preview { 681 padding: 1.9em; 682 } 683 } 684 685 @media screen and (max-width: 450px) { 686 html body[for='html-export']:not([dpm]) .smartperf-preview { 687 font-size: 15px !important; 688 padding: 1.1em; 689 } 690 } 691 692 @media print { 693 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 694 display: none; 695 } 696 } 697 698 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 699 position: fixed; 700 bottom: 9px; 701 left: 9px; 702 font-size: 28px; 703 cursor: pointer; 704 color: inherit; 705 z-index: 99; 706 width: 31px; 707 text-align: center; 708 opacity: 0.5; 709 } 710 711 html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn { 712 opacity: 1; 713 } 714 715 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc { 716 position: fixed; 717 top: 1px; 718 left: 1px; 719 width: 300px; 720 height: 99%; 721 padding: 32px 0 48px 0; 722 font-size: 14px; 723 box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33); 724 box-sizing: border-box; 725 overflow: auto; 726 background-color: inherit; 727 } 728 729 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar { 730 width: 9px; 731 } 732 733 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track { 734 border-radius: 11px; 735 background-color: transparent; 736 } 737 738 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 739 border-radius: 6px; 740 background-color: rgba(150, 150, 150, 0.66); 741 border: 3px solid rgba(150, 150, 150, 0.66); 742 background-clip: content-box; 743 } 744 745 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a { 746 text-decoration: none; 747 } 748 749 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 750 padding: 1px 1.7em; 751 margin-top: 0.9em; 752 } 753 754 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li { 755 margin-bottom: 0.8em; 756 } 757 758 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 759 list-style-type: none; 760 } 761 762 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 763 left: 301px; 764 width: calc(100% - 300px); 765 padding: 2em calc(50% - 457px - 150px); 766 margin: 1px; 767 box-sizing: border-box; 768 } 769 770 @media screen and (max-width: 1274px) { 771 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 772 padding: 1.9em; 773 } 774 } 775 776 @media screen and (max-width: 450px) { 777 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 778 width: 99%; 779 } 780 } 781 782 html body[for='html-export']:not([dpm]):not([hsst]) .smartperf-preview { 783 left: 50%; 784 transform: translateX(-50%); 785 } 786 787 html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc { 788 display: none; 789 } 790 </style> 791 </head> 792 <body for="html-export" id="body"> 793 <div class="smartperf smartperf-preview"> 794 <h1 class="mume-header fontColor">TraceStreamer数据表概述</h1> 795 796 <p class="fontColor"> 797 TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。 798 </p> 799 <h2 class="mume-header fontColor">TraceStreamer输出的数据表分类</h2> 800 801 <ul class="fontColor"> 802 <li> 803 常规泳道图数据表<br /> 804 <img src="../figures/traceStreamer/db_common.png" alt="GitHub Logo" /> 805 </li> 806 <li> 807 native memory数据源相关表<br /> 808 <img src="../figures/traceStreamer/db_native_memory.png" alt="GitHub Logo" /> 809 </li> 810 <li> 811 perf相关数据表<br /> 812 <img src="../figures/traceStreamer/db_hiperf.png" alt="GitHub Logo" /> 813 </li> 814 <li> 815 hisysevent相关数据表<br /> 816 <img src="../figures/traceStreamer/db_hisys_event.png" alt="GitHub Logo" /> 817 </li> 818 </ul> 819 <h2 class="mume-header fontColor">TraceStreamer输出数据库包含以下表格</h2> 820 821 <table class="fontColor"> 822 <thead> 823 <tr> 824 <th class="fontColor">表名称</th> 825 <th class="fontColor">作用</th> 826 </tr> 827 </thead> 828 <tbody> 829 <tr> 830 <td>app_name</td> 831 <td>记录HiSysEvent事件的事件名与IDE部分事件的字段名为APPNAME中存放的相关信息的映射关系</td> 832 </tr> 833 <tr> 834 <td>args</td> 835 <td>记录方法参数集合</td> 836 </tr> 837 <tr> 838 <td>bio_latency_sample</td> 839 <td>记录IO操作相关方法调用,及调用栈数据</td> 840 </tr> 841 <tr> 842 <td>callstack</td> 843 <td> 844 记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号 845 </td> 846 </tr> 847 <tr> 848 <td>clk_event_filter</td> 849 <td>记录时钟相关的信息</td> 850 </tr> 851 <tr> 852 <td>clock_event_filter</td> 853 <td>此结构用来维护时钟事件,cpu与唯一的ID做关联</td> 854 </tr> 855 <tr> 856 <td>cpu_measure_filter</td> 857 <td>cpu事件过滤器表</td> 858 </tr> 859 <tr> 860 <td>cpu_usage</td> 861 <td>记录CPU使用率事件</td> 862 </tr> 863 <tr> 864 <td>data_dict</td> 865 <td>记录常用的字符串,将字符串和索引关联,降低程序运行的内存占用,用作辅助数据</td> 866 </tr> 867 <tr> 868 <td>data_type</td> 869 <td>记录数据类型和typeId的关联关系</td> 870 </tr> 871 <tr> 872 <td>diskio</td> 873 <td>记录磁盘读写数据事件</td> 874 </tr> 875 <tr> 876 <td>ebpf_callstack</td> 877 <td>记录了采样相关信息</td> 878 </tr> 879 <tr> 880 <td>file_system_samp</td> 881 <td>记录了调用栈的相关信息</td> 882 </tr> 883 <tr> 884 <td>hidump</td> 885 <td>记录FPS(Frame Per Second)数据</td> 886 </tr> 887 <tr> 888 <td>hisys_event_measure</td> 889 <td>记录了HiSysEvent事件相关数据,目前HiSysEvent事件包括了异常事件,IDE事件,器件状态事件</td> 890 </tr> 891 <tr> 892 <td>instant</td> 893 <td>记录Sched_waking, sched_wakeup事件, 用作ThreadState表的上下文使用</td> 894 </tr> 895 <tr> 896 <td>irq</td> 897 <td>记录中断相关事件</td> 898 </tr> 899 <tr> 900 <td>js_heap_edges</td> 901 <td>记录了js内存数据类对象对应的成员的信息</td> 902 </tr> 903 <tr> 904 <td>js_heap_files</td> 905 <td>记录了js内存数据的名称和时间</td> 906 </tr> 907 <tr> 908 <td>js_heap_info</td> 909 <td>记录了js内存数据类型,如nodes和edges的字段类型和数据总数</td> 910 </tr> 911 <tr> 912 <td>js_heap_location</td> 913 <td>记录了js内存location节点相关数据</td> 914 </tr> 915 <tr> 916 <td>js_heap_nodes</td> 917 <td>记录了js内存类对象和其成员的对应关系</td> 918 </tr> 919 <tr> 920 <td>js_heap_sample</td> 921 <td>记录了timeline模式下的时间轴信息</td> 922 </tr> 923 <tr> 924 <td>js_heap_string</td> 925 <td>记录了js内存数据中的字符串</td> 926 </tr> 927 <tr> 928 <td>js_heap_trace_function_info</td> 929 <td>记录了timeline模式下的调用栈的每个函数信息</td> 930 </tr> 931 <tr> 932 <td>js_heap_trace_node</td> 933 <td>记录了timeline模式下的调用栈信息</td> 934 </tr> 935 <tr> 936 <td>live_process</td> 937 <td>记录了一些实时的进程中执行的一些数据</td> 938 </tr> 939 <tr> 940 <td>log</td> 941 <td>记录hilog打印日志数据</td> 942 </tr> 943 <tr> 944 <td>measure_filter</td> 945 <td> 946 记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录 947 </td> 948 </tr> 949 <tr> 950 <td>meta</td> 951 <td>记录执行解析操作相关的基本信息</td> 952 </tr> 953 <tr> 954 <td>native_hook</td> 955 <td>记录堆内存申请与释放相关的数据</td> 956 </tr> 957 <tr> 958 <td>native_hook_frame</td> 959 <td>记录堆内存申请与释放相关的调用栈</td> 960 </tr> 961 <tr> 962 <td>native_hook_statistic</td> 963 <td>记录堆内存申请与释放相关的统计信息</td> 964 </tr> 965 <tr> 966 <td>network</td> 967 <td>抓取网络信息传输时产生的一些相关信息</td> 968 </tr> 969 <tr> 970 <td>paged_memory_sample</td> 971 <td>记录内存操作相关方法调用,及调用栈数据</td> 972 </tr> 973 <tr> 974 <td>perf_callchain</td> 975 <td>记录Hiperf采样数据的调用栈信息</td> 976 </tr> 977 <tr> 978 <td>perf_files</td> 979 <td>记录Hiperf工具采集到的函数符号表和文件名</td> 980 </tr> 981 <tr> 982 <td>perf_report</td> 983 <td>记录Hiperf工具采集数据时的配置信息。包括</td> 984 </tr> 985 <tr> 986 <td>perf_sample</td> 987 <td>记录Hiperf工具的采样信息</td> 988 </tr> 989 <tr> 990 <td>perf_thread</td> 991 <td>记录Hiperf工具采集到的进程和线程数据</td> 992 </tr> 993 <tr> 994 <td>process</td> 995 <td>记录所有的进程信息</td> 996 </tr> 997 <tr> 998 <td>process_filter</td> 999 <td>过滤进程</td> 1000 </tr> 1001 <tr> 1002 <td>process_measure</td> 1003 <td>保存进程的所有计量值</td> 1004 </tr> 1005 <tr> 1006 <td>process_measure_filter</td> 1007 <td>将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id</td> 1008 </tr> 1009 <tr> 1010 <td>raw</td> 1011 <td>此数据结构主要作为ThreadState的上下文使用,这张表是sched_waking,sched_wakup, cpu_idle事件的原始记录</td> 1012 </tr> 1013 <tr> 1014 <td>sched_slice</td> 1015 <td>此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录</td> 1016 </tr> 1017 <tr> 1018 <td>smaps</td> 1019 <td>记录进程的内存消耗的相关信息采样</td> 1020 </tr> 1021 <tr> 1022 <td>stat</td> 1023 <td> 1024 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解 1025 </td> 1026 </tr> 1027 <tr> 1028 <td>symbols</td> 1029 <td>记录系统调用名称和其函数指针的对应关系,trace中用addr来映射function_name来节省存储空间</td> 1030 </tr> 1031 <tr> 1032 <td>syscall</td> 1033 <td>记录用户空间函数与内核空间函数相互调用记录</td> 1034 </tr> 1035 <tr> 1036 <td>sys_event_filter</td> 1037 <td>记录所有的filter</td> 1038 </tr> 1039 <tr> 1040 <td>sys_mem_measure</td> 1041 <td>记录了所有的系统内存相关的测量信息</td> 1042 </tr> 1043 <tr> 1044 <td>thread</td> 1045 <td>记录所有的线程信息</td> 1046 </tr> 1047 <tr> 1048 <td>thread_filter</td> 1049 <td>过滤线程</td> 1050 </tr> 1051 <tr> 1052 <td>thread_state</td> 1053 <td>记录线程状态信息</td> 1054 </tr> 1055 <tr> 1056 <td>trace_range</td> 1057 <td>记录ftrace数据与其他类型数据的时间交集,供前端展示数据时使用</td> 1058 </tr> 1059 <tr> 1060 <td>clock_snapshot</td> 1061 <td>时钟号和时间,时钟名的映射表</td> 1062 </tr> 1063 <tr> 1064 <td>datasource_clockid</td> 1065 <td>数据源和时钟号的映射表</td> 1066 </tr> 1067 </tbody> 1068 </table> 1069 <h2 class="mume-header fontColor">表与事件来源</h2> 1070 1071 <table class="fontColor"> 1072 <thead> 1073 <tr> 1074 <th class="fontColor">表名称</th> 1075 <th class="fontColor">事件源</th> 1076 <th class="fontColor">插件名</th> 1077 <th class="fontColor">备注</th> 1078 </tr> 1079 </thead> 1080 <tbody> 1081 <tr> 1082 <td>app_name</td> 1083 <td>-</td> 1084 <td>hisysevent-plugin</td> 1085 <td>JSON数据源</td> 1086 </tr> 1087 <tr> 1088 <td>args</td> 1089 <td>-</td> 1090 <td>ftrace-plugin</td> 1091 <td>配合callstack使用</td> 1092 </tr> 1093 <tr> 1094 <td>callstack</td> 1095 <td>-</td> 1096 <td>ftrace-plugin</td> 1097 <td>异步或非异步的调用</td> 1098 </tr> 1099 <tr> 1100 <td>cpu_measure_filter</td> 1101 <td>-</td> 1102 <td>ftrace-plugin</td> 1103 <td>cpu跟踪器,cpu频率等</td> 1104 </tr> 1105 <tr> 1106 <td>cpu_usage</td> 1107 <td>-</td> 1108 <td>cpu-plugin</td> 1109 <td>cpu使用率</td> 1110 </tr> 1111 <tr> 1112 <td>data_dict</td> 1113 <td>通用的</td> 1114 <td>-</td> 1115 <td>所有字符串的记录</td> 1116 </tr> 1117 <tr> 1118 <td>data_type</td> 1119 <td>通用的</td> 1120 <td>-</td> 1121 <td>辅助表</td> 1122 </tr> 1123 <tr> 1124 <td>file_system_callstack</td> 1125 <td>-</td> 1126 <td>-</td> 1127 <td>ebpf文件系统</td> 1128 </tr> 1129 <tr> 1130 <td>file_system_sample</td> 1131 <td>-</td> 1132 <td>-</td> 1133 <td>ebpf文件系统</td> 1134 </tr> 1135 <tr> 1136 <td>frame_maps</td> 1137 <td>-</td> 1138 <td>ftrace-plugin</td> 1139 <td>帧渲染数据,app到RS的映射</td> 1140 </tr> 1141 <tr> 1142 <td>frame_slice</td> 1143 <td>-</td> 1144 <td>ftrace-plugin</td> 1145 <td>帧渲染数据</td> 1146 </tr> 1147 <tr> 1148 <td>gpu_slice</td> 1149 <td>-</td> 1150 <td>ftrace-plugin</td> 1151 <td>gpu渲染时长</td> 1152 </tr> 1153 <tr> 1154 <td>hidump</td> 1155 <td>-</td> 1156 <td>hidump-plugin</td> 1157 <td>FPS数据</td> 1158 </tr> 1159 <tr> 1160 <td>hisys_event_measure</td> 1161 <td>-</td> 1162 <td>hisysevent-plugin</td> 1163 <td>JSON数据源</td> 1164 </tr> 1165 <tr> 1166 <td>instant</td> 1167 <td>-</td> 1168 <td>ftrace-plugin</td> 1169 <td>waking和wakeup事件</td> 1170 </tr> 1171 <tr> 1172 <td>irq</td> 1173 <td>-</td> 1174 <td>ftrace-plugin</td> 1175 <td>记录中断事件</td> 1176 </tr> 1177 <tr> 1178 <td>js_heap_edges</td> 1179 <td>-</td> 1180 <td>arkts-plugin</td> 1181 <td>js内存数据</td> 1182 </tr> 1183 <tr> 1184 <td>js_heap_files</td> 1185 <td>-</td> 1186 <td>arkts-plugin</td> 1187 <td>js内存数据</td> 1188 </tr> 1189 <tr> 1190 <td>js_heap_info</td> 1191 <td>-</td> 1192 <td>arkts-plugin</td> 1193 <td>js内存数据</td> 1194 </tr> 1195 <tr> 1196 <td>js_heap_location</td> 1197 <td>-</td> 1198 <td>arkts-plugin</td> 1199 <td>js内存数据</td> 1200 </tr> 1201 <tr> 1202 <td>js_heap_nodes</td> 1203 <td>-</td> 1204 <td>arkts-plugin</td> 1205 <td>js内存数据</td> 1206 </tr> 1207 <tr> 1208 <td>js_heap_sample</td> 1209 <td>-</td> 1210 <td>arkts-plugin</td> 1211 <td>js内存数据</td> 1212 </tr> 1213 <tr> 1214 <td>js_heap_string</td> 1215 <td>-</td> 1216 <td>arkts-plugin</td> 1217 <td>js内存数据</td> 1218 </tr> 1219 <tr> 1220 <td>js_heap_trace_function_info</td> 1221 <td>-</td> 1222 <td>arkts-plugin</td> 1223 <td>js内存数据</td> 1224 </tr> 1225 <tr> 1226 <td>js_heap_trace_node</td> 1227 <td>-</td> 1228 <td>arkts-plugin</td> 1229 <td>js内存数据</td> 1230 </tr> 1231 <tr> 1232 <td>live_process</td> 1233 <td>-</td> 1234 <td>process-plugin</td> 1235 <td>Monitor数据</td> 1236 </tr> 1237 <tr> 1238 <td>network</td> 1239 <td>-</td> 1240 <td>network-plugin</td> 1241 <td>Monitor数据</td> 1242 </tr> 1243 <tr> 1244 <td>diskio</td> 1245 <td>-</td> 1246 <td>diskio-plugin</td> 1247 <td>Monitor数据</td> 1248 </tr> 1249 <tr> 1250 <td>log</td> 1251 <td>-</td> 1252 <td>hilog-plugin</td> 1253 <td>系统日志</td> 1254 </tr> 1255 <tr> 1256 <td>measure</td> 1257 <td>通用的</td> 1258 <td>-</td> 1259 <td>系统中的计量值(数值型)</td> 1260 </tr> 1261 <tr> 1262 <td>measure_filter</td> 1263 <td>通用的</td> 1264 <td>-</td> 1265 <td>计量值的查询辅助表</td> 1266 </tr> 1267 <tr> 1268 <td>meta</td> 1269 <td>通用的</td> 1270 <td>-</td> 1271 <td>记录解析现场数据(解析时间,数据类型,解析工具等)</td> 1272 </tr> 1273 <tr> 1274 <td>native_hook</td> 1275 <td>-</td> 1276 <td>nativehook/hookdaemon</td> 1277 <td>malloc && mmap内存数据</td> 1278 </tr> 1279 <tr> 1280 <td>native_hook_frame</td> 1281 <td>-</td> 1282 <td>nativehook/hookdaemon</td> 1283 <td>native_hook调用栈数据</td> 1284 </tr> 1285 <tr> 1286 <td>native_hook_statistic</td> 1287 <td>-</td> 1288 <td>nativehook/hookdaemon</td> 1289 <td>malloc && mmap统计数据</td> 1290 </tr> 1291 <tr> 1292 <td>perf_callchain</td> 1293 <td>-</td> 1294 <td>perf-plugin</td> 1295 <td>perf数据(非插件模式)</td> 1296 </tr> 1297 <tr> 1298 <td>perf_files</td> 1299 <td>-</td> 1300 <td>-</td> 1301 <td>perf数据(非插件模式)</td> 1302 </tr> 1303 <tr> 1304 <td>perf_report</td> 1305 <td>-</td> 1306 <td>-</td> 1307 <td>perf数据(非插件模式)</td> 1308 </tr> 1309 <tr> 1310 <td>perf_sample</td> 1311 <td>-</td> 1312 <td>-</td> 1313 <td>perf数据(非插件模式)</td> 1314 </tr> 1315 <tr> 1316 <td>perf_thread</td> 1317 <td>-</td> 1318 <td>-</td> 1319 <td>perf数据(非插件模式)</td> 1320 </tr> 1321 <tr> 1322 <td>process</td> 1323 <td>-</td> 1324 <td>ftrace-plugin</td> 1325 <td>进程信息</td> 1326 </tr> 1327 <tr> 1328 <td>process_filter</td> 1329 <td>-</td> 1330 <td>ftrace-plugin</td> 1331 <td>进程计量表的辅助表</td> 1332 </tr> 1333 <tr> 1334 <td>process_measure</td> 1335 <td>-</td> 1336 <td>ftrace-plugin</td> 1337 <td>进程内存</td> 1338 </tr> 1339 <tr> 1340 <td>process_measure_filter</td> 1341 <td>-</td> 1342 <td>ftrace-plugin</td> 1343 <td>process_measure的辅助表</td> 1344 </tr> 1345 <tr> 1346 <td>raw</td> 1347 <td>-</td> 1348 <td>ftrace-plugin</td> 1349 <td>线程唤醒信息</td> 1350 </tr> 1351 <tr> 1352 <td>sched_slice</td> 1353 <td>-</td> 1354 <td>ftrace-plugin</td> 1355 <td>配合现场状态表使用,dsched_switch的原始数据</td> 1356 </tr> 1357 <tr> 1358 <td>smaps</td> 1359 <td>-</td> 1360 <td>memory-plugin</td> 1361 <td>进程的内存消耗</td> 1362 </tr> 1363 <tr> 1364 <td>stat</td> 1365 <td>通用的</td> 1366 <td>-</td> 1367 <td>记录不同种类数据的数据量</td> 1368 </tr> 1369 <tr> 1370 <td>symbols</td> 1371 <td>-</td> 1372 <td>ftrace-plugin</td> 1373 <td>符号表(地址到字符串的映射)</td> 1374 </tr> 1375 <tr> 1376 <td>syscall</td> 1377 <td>-</td> 1378 <td>ftrace-plugin</td> 1379 <td>系统调用 sys_enter/exit</td> 1380 </tr> 1381 <tr> 1382 <td>sys_event_filter</td> 1383 <td>-</td> 1384 <td>ftrace-plugin</td> 1385 <td></td> 1386 </tr> 1387 <tr> 1388 <td>sys_mem_measure</td> 1389 <td>-</td> 1390 <td>memory-plugin</td> 1391 <td>系统内存</td> 1392 </tr> 1393 <tr> 1394 <td>thread</td> 1395 <td>通用的</td> 1396 <td>-</td> 1397 <td>线程信息(常用)</td> 1398 </tr> 1399 <tr> 1400 <td>thread_state</td> 1401 <td>通用的</td> 1402 <td>ftrace-plugin</td> 1403 <td>线程调度图(常用)</td> 1404 </tr> 1405 <tr> 1406 <td>trace_range</td> 1407 <td>通用的</td> 1408 <td>-</td> 1409 <td>trace数据的时长</td> 1410 </tr> 1411 <tr> 1412 <td>thread_filter</td> 1413 <td>通用的</td> 1414 <td>ftrace-plugin</td> 1415 <td>线程计量跟踪表(比较少用)</td> 1416 </tr> 1417 <tr> 1418 <td>clock_snapshot</td> 1419 <td>通用的</td> 1420 <td>通用的</td> 1421 <td>时钟号和时间,时钟名的映射表</td> 1422 </tr> 1423 <tr> 1424 <td>datasource_clockid</td> 1425 <td>通用的</td> 1426 <td>通用的</td> 1427 <td>数据源和时钟号的映射表</td> 1428 </tr> 1429 </tbody> 1430 </table> 1431 <h2 class="mume-header fontColor"> 1432 <em><strong>表格关系图</strong></em> 1433 </h2> 1434 1435 <hr /> 1436 <h3 class="mume-header fontColor">进程表与线程表关系</h3> 1437 1438 <p class="fontColor"> 1439 当一个进程或者线程结束后,系统可能再次将该进程号或者线程号分配给其他进程或者线程,造成一个进程号或线程号代表多个进程或线程的情况。<br /> 1440 Process和Thread表中的id字段可以唯一标识进程和线程。process表中的id在其他表中用作ipid字段。thread表中的id在其他表中用作itid字段。<br /> 1441 thread表通过ipid字段关联process表的id字段,可以查询线程归属进程。<br /> 1442 <img src="../figures/traceStreamer/process_thread.png" alt="GitHub Logo" /> 1443 </p> 1444 <h3 class="mume-header fontColor">查询举例</h3> 1445 1446 <ul class="fontColor"> 1447 <li> 1448 已知pid = 123,查看当前进程下的所有线程信息,可以使用如下SQL语句:<br /> 1449 <code class="fontColor" 1450 >select thread.* from thread, process where process.pid = 123 and thread.ipid = process.id</code 1451 > 1452 </li> 1453 </ul> 1454 <h3>线程表与线程运行状态表关系图</h3> 1455 <p class="fontColor"> 1456 thread_state表记录所有线程的运行状态信息,包含ts(状态起始时间),dur(状态持续时间),cpu, itid, 1457 state(线程状态)。 thread表的id字段与thread_state表的itid字段相关联。<br /> 1458 <img src="../figures/traceStreamer/thread_state.png" alt="GitHub Logo" /> 1459 </p> 1460 <h3>查询举例</h3> 1461 <ul class="fontColor"> 1462 <li> 1463 已知tid = 123, 查看当前线程的所有运行状态信息,可以使用如下SQL语句:<br /> 1464 <code class="fontColor" 1465 >select thread_state.* from thread, thread_state where thread.tid = 123 and thread.id = 1466 thread_state.itid</code 1467 > 1468 </li> 1469 </ul> 1470 <h3 class="mume-header fontColor">堆内存数据变化表关系图</h3> 1471 1472 <p class="fontColor"> 1473 native_hook表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook表通过ipid和itid字段分别与process和thread表的id字段关联,通过callChainId与native_hook_frame表的callChainId字段相关联。<br /> 1474 native_hook表字段解释如下: 1475 </p> 1476 <ul class="fontColor"> 1477 <li> 1478 callChainId:唯一标识一次堆内存申请或释放, 1479 通过与native_hook_frame表关联可以拿到当前申请或释放的函数调用堆栈。 1480 </li> 1481 <li>addr:堆内存申请/释放的地址。</li> 1482 <li>native_hook_size:堆内存申请/释放的大小。</li> 1483 </ul> 1484 <p class="fontColor"> 1485 native_hook_frame表记录内存申请/释放的调用堆栈。通过callChainId区分一组调用堆栈,depth为堆栈深度,depth为0时,表示当前行为栈顶数据。<br /> 1486 <img src="../figures/traceStreamer/dump_and_mem.png" alt="GitHub Logo" /> 1487 </p> 1488 <p class="fontColor"> 1489 native_hook_statistic表记录内存申请/释放的统计信息。通过callChainId区分一组调用堆栈。每个统计事件将记录当前事件的callChainId,并统计当前调用栈内存分配/释放的总次数和总大小。<br /> 1490 <img src="../figures/traceStreamer/db_native_hook_statistic.png" alt="GitHub Logo" /> 1491 </p> 1492 <h3 class="mume-header fontColor">查询举例</h3> 1493 1494 <ul class="fontColor"> 1495 <li> 1496 已知tid = 123,查看当前线程的所有堆内存变化信息,可以使用如下SQL语句:<br /> 1497 <code class="fontColor" 1498 >select native_hook.* from thread, native_hook where thread.tid = 123 and thread.id = native_hook.itid</code 1499 > 1500 </li> 1501 <li> 1502 已知callchainid = 1, 查看当前内存变化调用堆栈<br /> 1503 <code class="fontColor">select * from native_hook_frame where callchain_id = 1</code> 1504 </li> 1505 <li> 1506 已知callchainid = 1, 查看当前内存变化调用堆栈对应的统计信息<br /> 1507 <code class="fontColor">select * from native_hook_statistic where callchain_id = 1</code> 1508 </li> 1509 </ul> 1510 <h3>日志表与进程线程表关系图</h3> 1511 <p class="fontColor"> 1512 log表记录日志信息。可以根据seq字段的连续性,来判断是否存在日志丢失的情况。<br /> 1513 <img src="../figures/traceStreamer/log.png" alt="GitHub Logo" /> 1514 </p> 1515 <h3>查询举例</h3> 1516 <ul class="fontColor"> 1517 <li> 1518 已知tid = 123,查看当前线程的所有error级别的日志,可以使用如下SQL语句:<br /> 1519 <code class="fontColor">select * from log where tid = 123 and level = "error"</code> 1520 </li> 1521 </ul> 1522 <h3 class="mume-header fontColor">perf表之间关系图</h3> 1523 1524 <ul class="fontColor"> 1525 <li>perf_report:此表记录Hiperf工具采集数据时的配置信息。</li> 1526 <li>perf_thread:此表记录hiperf采集到的进程和线程数据。</li> 1527 <li> 1528 perf_sample:此表中记录Hiperf工具的采样信息。sample_id唯一表识一次采样记录,与perf_callchain表中的sample_id字段相关联。thread_id为线程号。与perf_thread表中的thread_id字段相关联。event_type_id为当前采样的事件类型id,与perf_report表中的id字段相关联。 1529 </li> 1530 <li>perf_callchain:此表格记录的是调用栈信息。</li> 1531 <li> 1532 Perf_files:此表格主要存放着获取到的函数符号表和文件信息。file_id唯一表识一个文件,与perf_callchain表中的file_id字段相关联。 1533 </li> 1534 </ul> 1535 <p class="fontColor"><img src="../figures/traceStreamer/perf.png" alt="GitHub Logo" /></p> 1536 <h3 class="mume-header fontColor">查询举例</h3> 1537 1538 <ul class="fontColor"> 1539 <li> 1540 <p class="fontColor"> 1541 已知同步后的时间戳为28463134340470,查询采样数据<br /> 1542 <code class="fontColor">select * from perf_sample where timestamp_trace = 28463134340470</code> 1543 </p> 1544 </li> 1545 <li> 1546 <p class="fontColor"> 1547 已知同步后的时间戳为28463134340470,查询采样数据对应的的调用栈信息<br /> 1548 <code class="fontColor" 1549 >select A.* from perf_callchain as A, perf_sample as B where B.timestamp_trace = 28463134340470 and 1550 A.sample_id = B.sample_id</code 1551 > 1552 </p> 1553 </li> 1554 <li> 1555 <p class="fontColor"> 1556 已知同步后的时间戳为28463134277762,查询采样数据的函数名及文件路径<br /> 1557 <code class="fontColor" 1558 >select A.*, B.name, C.path from perf_sample as A, perf_callchain as B, perf_files as C where 1559 A.timestamp_trace = 28463134277762 and B.sample_id = A.sample_id and B.callchain_id = 0 and B.file_id = 1560 C.file_id and C.serial_id = 0</code 1561 > 1562 </p> 1563 </li> 1564 <li> 1565 <p class="fontColor"> 1566 已知线程号为6700,查询所有的采样记录<br /> 1567 <code class="fontColor">select * from perf_sample where thread_id = 6700</code> 1568 </p> 1569 </li> 1570 <li> 1571 <p class="fontColor"> 1572 已知进程号为7863,查询所有的采样记录<br /> 1573 <code class="fontColor" 1574 >select A.* from perf_sample as A, perf_thread as B where B.process_id = 7863 and A.thread_id = 1575 B.thread_id</code 1576 > 1577 </p> 1578 </li> 1579 <li> 1580 <p class="fontColor"> 1581 查询所有采样对应的事件类型<br /> 1582 <code class="fontColor" 1583 >select A.*, B.report_value from perf_sample as A, perf_report as B where A.event_type_id = B.id</code 1584 > 1585 </p> 1586 </li> 1587 </ul> 1588 <h3 class="mume-header fontColor">帧渲染表之间的关系图</h3> 1589 1590 <p class="fontColor"> 1591 frame_slice: 记录RS(RenderService)和应用的帧渲染。<br /> 1592 gpu_slice: 记录RS的帧对应的gpu渲染时长。<br /> 1593 frame_maps:记录应用到RS的帧的映射关系。<br /> 1594 <img src="../figures/traceStreamer/frames.jpg" alt="GitHub Logo" /> 1595 </p> 1596 <h3 class="mume-header fontColor">查询示例</h3> 1597 1598 <ul class="fontColor"> 1599 <li> 1600 <p class="fontColor"> 1601 已知进程,查询进程对应的实际渲染帧<br /> 1602 <code class="fontColor">select * from frame_slice where ipid = 1</code> 1603 </p> 1604 </li> 1605 <li> 1606 <p class="fontColor"> 1607 已知进程的实际渲染帧的dst为12,求其对应的RS进程的渲染帧<br /> 1608 <code class="fontColor">select * from frame_slice where id = 12</code> 1609 </p> 1610 </li> 1611 <li> 1612 <p class="fontColor"> 1613 已知RS的渲染帧在frame_slice中所在行是14,求其对应的GPU渲染时长<br /> 1614 <code class="fontColor">select * from gpu_slice where frame_row = 14</code> 1615 </p> 1616 </li> 1617 </ul> 1618 <h3>JS内存数据表关系图</h3> 1619 <p class="fontColor">js_heap_files:记录js内存数据的文件名和文件索引</p> 1620 <p class="fontColor"><img src="../figures/traceStreamer/js_heap_files.png" alt="1683163158954" /></p> 1621 <p class="fontColor"> 1622 js_heap_nodes:记录js内存类对象数据<br /> 1623 js_heap_edges:记录js内存类对象的成员数据<br /> 1624 js_heap_trace_node:记录timeline的调用栈信息<br /> 1625 js_heap_sample:记录timeline的时间轴信息<br /> 1626 <img src="../figures/traceStreamer/js_heap_nodes.png" alt="1683163373206" /> 1627 </p> 1628 <h2>TraceStreamer输出数据库表格详细介绍</h2> 1629 <h3>app_name表</h3> 1630 <h4>表结构</h4> 1631 <table class="fontColor"> 1632 <thead> 1633 <tr> 1634 <th class="fontColor">Columns Name</th> 1635 <th class="fontColor">SQL TYPE</th> 1636 </tr> 1637 </thead> 1638 <tbody> 1639 <tr> 1640 <td>id</td> 1641 <td>INT</td> 1642 </tr> 1643 <tr> 1644 <td>flag</td> 1645 <td>INT</td> 1646 </tr> 1647 <tr> 1648 <td>app_name</td> 1649 <td>INT</td> 1650 </tr> 1651 <tr> 1652 <td>app_key</td> 1653 <td>INT</td> 1654 </tr> 1655 </tbody> 1656 </table> 1657 <h4>表描述</h4> 1658 <p class="fontColor">记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。</p> 1659 <h4>字段详细描述</h4> 1660 <ul class="fontColor"> 1661 <li>id:用于与表hisys_event_measure表中的key_id字段做对应</li> 1662 <li>app_name:对应的事件的信息ID</li> 1663 <li>app_key:对应的事件的APPNAME字段的信息ID</li> 1664 </ul> 1665 <h3>args表</h3> 1666 <h4>表结构</h4> 1667 <table class="fontColor"> 1668 <thead> 1669 <tr> 1670 <th class="fontColor">Columns Name</th> 1671 <th class="fontColor">SQL TYPE</th> 1672 </tr> 1673 </thead> 1674 <tbody> 1675 <tr> 1676 <td>id</td> 1677 <td>INT</td> 1678 </tr> 1679 <tr> 1680 <td>key</td> 1681 <td>INT</td> 1682 </tr> 1683 <tr> 1684 <td>datatype</td> 1685 <td>INT</td> 1686 </tr> 1687 <tr> 1688 <td>value</td> 1689 <td>INT</td> 1690 </tr> 1691 <tr> 1692 <td>argset</td> 1693 <td>INT</td> 1694 </tr> 1695 </tbody> 1696 </table> 1697 <h4>表描述</h4> 1698 <p class="fontColor">记录方法的参数集合。</p> 1699 <h4>字段详细描述</h4> 1700 <ul class="fontColor"> 1701 <li>key:键</li> 1702 <li>datatype:数据类型</li> 1703 <li>value:取值</li> 1704 <li>argset:参数集合</li> 1705 </ul> 1706 <h3>bio_latency_sample表</h3> 1707 <h4>表结构</h4> 1708 <table class="fontColor"> 1709 <thead> 1710 <tr> 1711 <th class="fontColor">Columns Name</th> 1712 <th class="fontColor">SQL TYPE</th> 1713 </tr> 1714 </thead> 1715 <tbody> 1716 <tr> 1717 <td>id</td> 1718 <td>INT</td> 1719 </tr> 1720 <tr> 1721 <td>callchain_id</td> 1722 <td>INT</td> 1723 </tr> 1724 <tr> 1725 <td>datatype</td> 1726 <td>INT</td> 1727 </tr> 1728 <tr> 1729 <td>type</td> 1730 <td>INT</td> 1731 </tr> 1732 <tr> 1733 <td>ipid</td> 1734 <td>INT</td> 1735 </tr> 1736 <tr> 1737 <td>itid</td> 1738 <td>INT</td> 1739 </tr> 1740 <tr> 1741 <td>start_ts</td> 1742 <td>INT</td> 1743 </tr> 1744 <tr> 1745 <td>end_ts</td> 1746 <td>INT</td> 1747 </tr> 1748 <tr> 1749 <td>latency_dur</td> 1750 <td>INT</td> 1751 </tr> 1752 <tr> 1753 <td>tier</td> 1754 <td>INT</td> 1755 </tr> 1756 <tr> 1757 <td>size</td> 1758 <td>INT</td> 1759 </tr> 1760 <tr> 1761 <td>block_number</td> 1762 <td>TEXT</td> 1763 </tr> 1764 <tr> 1765 <td>path</td> 1766 <td>TEXT</td> 1767 </tr> 1768 <tr> 1769 <td>dur_per_4k</td> 1770 <td>INT</td> 1771 </tr> 1772 </tbody> 1773 </table> 1774 <h4>表描述</h4> 1775 <p class="fontColor">记录IO操作相关方法调用,及调用栈数据。</p> 1776 <h4>字段详细描述</h4> 1777 <ul class="fontColor"> 1778 <li>callchain_id:调用栈的唯一标识。与ebpf_callstack表中Callchain_id字段关联</li> 1779 <li> 1780 type:事件类型其取值为枚举类型(DATA_READ,DATA_WRITE,METADATA_READ,- METADATA_WRITE,PAGE_IN,PAGE_OUT) 1781 </li> 1782 <li>ipid:TS内部进程号</li> 1783 <li>itid:TS内部线程号</li> 1784 <li>start_ts:开始时间</li> 1785 <li>end_ts:结束时间</li> 1786 <li>latency_dur:总延迟</li> 1787 <li>tier:优先级</li> 1788 <li>size:文件大小</li> 1789 <li>block_number:数据量大小(一般为4K)</li> 1790 <li>path:路径id</li> 1791 <li>dur_per_4k:每4k数据的平均延迟</li> 1792 </ul> 1793 <h3>callstack表</h3> 1794 <h4>表结构</h4> 1795 <table class="fontColor"> 1796 <thead> 1797 <tr> 1798 <th class="fontColor">Columns Name</th> 1799 <th class="fontColor">SQL TYPE</th> 1800 </tr> 1801 </thead> 1802 <tbody> 1803 <tr> 1804 <td>id</td> 1805 <td>INT</td> 1806 </tr> 1807 <tr> 1808 <td>ts</td> 1809 <td>INT</td> 1810 </tr> 1811 <tr> 1812 <td>dur</td> 1813 <td>INT</td> 1814 </tr> 1815 <tr> 1816 <td>callid</td> 1817 <td>INT</td> 1818 </tr> 1819 <tr> 1820 <td>cat</td> 1821 <td>TEXT</td> 1822 </tr> 1823 <tr> 1824 <td>identify</td> 1825 <td>INT</td> 1826 </tr> 1827 <tr> 1828 <td>name</td> 1829 <td>TEXT</td> 1830 </tr> 1831 <tr> 1832 <td>depth</td> 1833 <td>INT</td> 1834 </tr> 1835 <tr> 1836 <td>cookie</td> 1837 <td>INT</td> 1838 </tr> 1839 <tr> 1840 <td>parent_id</td> 1841 <td>INT</td> 1842 </tr> 1843 <tr> 1844 <td>argsetid</td> 1845 <td>INT</td> 1846 </tr> 1847 <tr> 1848 <td>chainId</td> 1849 <td>TEXT</td> 1850 </tr> 1851 <tr> 1852 <td>spanId</td> 1853 <td>TEXT</td> 1854 </tr> 1855 <tr> 1856 <td>parentSpanId</td> 1857 <td>TEXT</td> 1858 </tr> 1859 <tr> 1860 <td>flag</td> 1861 <td>TEXT</td> 1862 </tr> 1863 <tr> 1864 <td>args</td> 1865 <td>TEXT</td> 1866 </tr> 1867 </tbody> 1868 </table> 1869 <h4>表描述</h4> 1870 <p class="fontColor"> 1871 记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步的调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号。 1872 </p> 1873 <h4>字段详细描述</h4> 1874 <ul class="fontColor"> 1875 <li>dur:调用时长</li> 1876 <li>callid:调用者的ID,比如针对线程表里面的id</li> 1877 <li>identify:调用栈的名字,与表dataDict相关联能够取出其string值</li> 1878 <li>name:调用名称</li> 1879 <li>depth:调用深度</li> 1880 <li>parent_id:父调用的id</li> 1881 <li>spanId:分布式调用关联关系</li> 1882 <li>flag:C表示分布式调用发送方,S表示接受方</li> 1883 <li>args:分布式调用函数参数</li> 1884 </ul> 1885 <h3>clk_event_filter表</h3> 1886 <h4>表结构</h4> 1887 <table class="fontColor"> 1888 <thead> 1889 <tr> 1890 <th class="fontColor">Columns Name</th> 1891 <th class="fontColor">SQL TYPE</th> 1892 </tr> 1893 </thead> 1894 <tbody> 1895 <tr> 1896 <td>id</td> 1897 <td>INT</td> 1898 </tr> 1899 <tr> 1900 <td>type</td> 1901 <td>TEXT</td> 1902 </tr> 1903 <tr> 1904 <td>name</td> 1905 <td>TEXT</td> 1906 </tr> 1907 <tr> 1908 <td>cpu</td> 1909 <td>INT</td> 1910 </tr> 1911 </tbody> 1912 </table> 1913 <h4>表描述</h4> 1914 <p class="fontColor">记录时钟信息。</p> 1915 <h4>字段详细描述</h4> 1916 <ul class="fontColor"> 1917 <li>Type:时钟事件类型</li> 1918 <li>Name:时钟事件名称</li> 1919 </ul> 1920 <h3>clock_event_filter表</h3> 1921 <h4>表结构</h4> 1922 <table class="fontColor"> 1923 <thead> 1924 <tr> 1925 <th class="fontColor">Columns Name</th> 1926 <th class="fontColor">SQL TYPE</th> 1927 </tr> 1928 </thead> 1929 <tbody> 1930 <tr> 1931 <td>id</td> 1932 <td>INT</td> 1933 </tr> 1934 <tr> 1935 <td>type</td> 1936 <td>TEXT</td> 1937 </tr> 1938 <tr> 1939 <td>name</td> 1940 <td>TEXT</td> 1941 </tr> 1942 <tr> 1943 <td>cpu</td> 1944 <td>INT</td> 1945 </tr> 1946 </tbody> 1947 </table> 1948 <h4>表描述</h4> 1949 <p class="fontColor">此结构用来维护时钟事件,cpu与唯一的ID做关联。</p> 1950 <h4>主要字段描述</h4> 1951 <ul class="fontColor"> 1952 <li>Type:时钟事件类型</li> 1953 <li>Name:时钟事件名称</li> 1954 </ul> 1955 <h3>cpu_measure_filter表</h3> 1956 <h4>表结构</h4> 1957 <table class="fontColor"> 1958 <thead> 1959 <tr> 1960 <th class="fontColor">Columns Name</th> 1961 <th class="fontColor">SQL TYPE</th> 1962 </tr> 1963 </thead> 1964 <tbody> 1965 <tr> 1966 <td>id</td> 1967 <td>INT</td> 1968 </tr> 1969 <tr> 1970 <td>type</td> 1971 <td>TEXT</td> 1972 </tr> 1973 <tr> 1974 <td>name</td> 1975 <td>TEXT</td> 1976 </tr> 1977 <tr> 1978 <td>cpu</td> 1979 <td>INT</td> 1980 </tr> 1981 </tbody> 1982 </table> 1983 <h4>表描述</h4> 1984 <p class="fontColor">将cpu号作为key1,cpu的频率,空闲等状态作为key2,唯一确定一个filter_id。</p> 1985 <h4>主要字段描述</h4> 1986 <ul class="fontColor"> 1987 <li>Id(filterid), cpu:事件名称,cpu号</li> 1988 </ul> 1989 <h3>cpu_usage表</h3> 1990 <h4>表结构</h4> 1991 <table class="fontColor"> 1992 <thead> 1993 <tr> 1994 <th class="fontColor">Columns Name</th> 1995 <th class="fontColor">SQL TYPE</th> 1996 </tr> 1997 </thead> 1998 <tbody> 1999 <tr> 2000 <td>ts</td> 2001 <td>INT</td> 2002 </tr> 2003 <tr> 2004 <td>dur</td> 2005 <td>INT</td> 2006 </tr> 2007 <tr> 2008 <td>total_load</td> 2009 <td>REAL</td> 2010 </tr> 2011 <tr> 2012 <td>user_load</td> 2013 <td>REAL</td> 2014 </tr> 2015 <tr> 2016 <td>system_load</td> 2017 <td>REAL</td> 2018 </tr> 2019 <tr> 2020 <td>process_num</td> 2021 <td>INT</td> 2022 </tr> 2023 </tbody> 2024 </table> 2025 <h4>表描述</h4> 2026 <p class="fontColor">记录了与CPU使用率相关的数据。</p> 2027 <h4>主要字段描述</h4> 2028 <ul class="fontColor"> 2029 <li>total_load:总负荷</li> 2030 <li>user_load:用户负载</li> 2031 <li>system_load:系统负载</li> 2032 <li>process_num:线程数</li> 2033 </ul> 2034 <h3>data_dict表</h3> 2035 <h4>表结构</h4> 2036 <table class="fontColor"> 2037 <thead> 2038 <tr> 2039 <th class="fontColor">Columns Name</th> 2040 <th class="fontColor">SQL TYPE</th> 2041 </tr> 2042 </thead> 2043 <tbody> 2044 <tr> 2045 <td>id</td> 2046 <td>INT</td> 2047 </tr> 2048 <tr> 2049 <td>data</td> 2050 <td>TEXT</td> 2051 </tr> 2052 </tbody> 2053 </table> 2054 <h4>表描述</h4> 2055 <p class="fontColor">此表记录了一个数据类型ID和字符串的映射。</p> 2056 <h4>主要字段描述</h4> 2057 <ul class="fontColor"> 2058 <li>id:索引值</li> 2059 <li>data:字符串</li> 2060 </ul> 2061 <h3>data_type表</h3> 2062 <h4>表结构</h4> 2063 <table class="fontColor"> 2064 <thead> 2065 <tr> 2066 <th class="fontColor">Columns Name</th> 2067 <th class="fontColor">SQL TYPE</th> 2068 </tr> 2069 </thead> 2070 <tbody> 2071 <tr> 2072 <td>id</td> 2073 <td>INT</td> 2074 </tr> 2075 <tr> 2076 <td>typeId</td> 2077 <td>INT</td> 2078 </tr> 2079 <tr> 2080 <td>desc</td> 2081 <td>TEXT</td> 2082 </tr> 2083 </tbody> 2084 </table> 2085 <h4>表描述</h4> 2086 <p class="fontColor">此表记录了一个数据类型ID和数据描述的映射。</p> 2087 <h4>主要字段描述</h4> 2088 <ul class="fontColor"> 2089 <li>typeId::数据类型id</li> 2090 <li>Desc:数据类型描述</li> 2091 </ul> 2092 <h3>diskio表</h3> 2093 <h4>表结构</h4> 2094 <table class="fontColor"> 2095 <thead> 2096 <tr> 2097 <th class="fontColor">Columns Name</th> 2098 <th class="fontColor">SQL TYPE</th> 2099 </tr> 2100 </thead> 2101 <tbody> 2102 <tr> 2103 <td>ts</td> 2104 <td>INT</td> 2105 </tr> 2106 <tr> 2107 <td>dur</td> 2108 <td>INT</td> 2109 </tr> 2110 <tr> 2111 <td>rd</td> 2112 <td>INT</td> 2113 </tr> 2114 <tr> 2115 <td>wr</td> 2116 <td>INT</td> 2117 </tr> 2118 <tr> 2119 <td>rd_speed</td> 2120 <td>REAL</td> 2121 </tr> 2122 <tr> 2123 <td>wr_speed</td> 2124 <td>REAL</td> 2125 </tr> 2126 <tr> 2127 <td>rd_count</td> 2128 <td>INT</td> 2129 </tr> 2130 <tr> 2131 <td>wr_count</td> 2132 <td>INT</td> 2133 </tr> 2134 <tr> 2135 <td>rd_count_speed</td> 2136 <td>REAL</td> 2137 </tr> 2138 <tr> 2139 <td>wr_count_speed</td> 2140 <td>REAL</td> 2141 </tr> 2142 </tbody> 2143 </table> 2144 <h4>表描述</h4> 2145 <p class="fontColor">记录了与磁盘读写相关的数据。</p> 2146 <h4>主要字段描述</h4> 2147 <ul class="fontColor"> 2148 <li>rd_sectors_kb:读数据的速度</li> 2149 <li>wr_sectors_kb:写入数据的速度</li> 2150 <li>ts:时间戳</li> 2151 </ul> 2152 <h3>ebpf_callstack表</h3> 2153 <h4>表结构</h4> 2154 <table class="fontColor"> 2155 <thead> 2156 <tr> 2157 <th class="fontColor">Columns Name</th> 2158 <th class="fontColor">SQL TYPE</th> 2159 </tr> 2160 </thead> 2161 <tbody> 2162 <tr> 2163 <td>id</td> 2164 <td>INT</td> 2165 </tr> 2166 <tr> 2167 <td>callchain_id</td> 2168 <td>INT</td> 2169 </tr> 2170 <tr> 2171 <td>depth</td> 2172 <td>TEXT</td> 2173 </tr> 2174 <tr> 2175 <td>ip</td> 2176 <td>TEXT</td> 2177 </tr> 2178 <tr> 2179 <td>symbols_id</td> 2180 <td>INT</td> 2181 </tr> 2182 <tr> 2183 <td>file_path_id</td> 2184 <td>INT</td> 2185 </tr> 2186 </tbody> 2187 </table> 2188 <h4>表描述</h4> 2189 <p class="fontColor">记录了与磁盘读写相关的数据。</p> 2190 <h4>主要字段描述</h4> 2191 <ul class="fontColor"> 2192 <li>callchain_id:调用栈的唯一标识。与ebpf_callstack表中Callchain_id字段关联</li> 2193 <li>depth:调用栈深度。取值为零时表示栈顶</li> 2194 <li>ip:调用栈ip</li> 2195 <li>symbols_id:调用栈函数名称, 与data_dict中的id字段关联</li> 2196 <li>file_path_id:调用栈函数所属文件路径, 与data_dict中的id字段关联</li> 2197 </ul> 2198 <h3>file_system_sample表</h3> 2199 <h4>表结构</h4> 2200 <table class="fontColor"> 2201 <thead> 2202 <tr> 2203 <th class="fontColor">Columns Name</th> 2204 <th class="fontColor">SQL TYPE</th> 2205 </tr> 2206 </thead> 2207 <tbody> 2208 <tr> 2209 <td>callchain_id</td> 2210 <td>INT</td> 2211 </tr> 2212 <tr> 2213 <td>type</td> 2214 <td>INT</td> 2215 </tr> 2216 <tr> 2217 <td>ipid</td> 2218 <td>INT</td> 2219 </tr> 2220 <tr> 2221 <td>itid</td> 2222 <td>INT</td> 2223 </tr> 2224 <tr> 2225 <td>start_ts</td> 2226 <td>INT</td> 2227 </tr> 2228 <tr> 2229 <td>end_ts</td> 2230 <td>INT</td> 2231 </tr> 2232 <tr> 2233 <td>dur</td> 2234 <td>INT</td> 2235 </tr> 2236 <tr> 2237 <td>return_value</td> 2238 <td>TEXT</td> 2239 </tr> 2240 <tr> 2241 <td>error_code</td> 2242 <td>TEXT</td> 2243 </tr> 2244 <tr> 2245 <td>fd</td> 2246 <td>INT</td> 2247 </tr> 2248 <tr> 2249 <td>file_id</td> 2250 <td>INT</td> 2251 </tr> 2252 <tr> 2253 <td>size</td> 2254 <td>INT</td> 2255 </tr> 2256 <tr> 2257 <td>first_argument</td> 2258 <td>TEXT</td> 2259 </tr> 2260 <tr> 2261 <td>second_argument</td> 2262 <td>TEXT</td> 2263 </tr> 2264 <tr> 2265 <td>third_argument</td> 2266 <td>TEXT</td> 2267 </tr> 2268 <tr> 2269 <td>fourth_argument</td> 2270 <td>TEXT</td> 2271 </tr> 2272 </tbody> 2273 </table> 2274 <h4>表描述</h4> 2275 <p class="fontColor">记录了调用栈的相关信息。</p> 2276 <h4>主要字段描述</h4> 2277 <ul class="fontColor"> 2278 <li>callchain_id:调用栈信息ID与file_system_callstack表中call_chain_id字段相关联</li> 2279 <li>type:对应文件操作open,close,read,write</li> 2280 <li>ipid:线程所属的进程ID</li> 2281 <li>start_ts:开始时间</li> 2282 <li>end_ts:结束时间</li> 2283 <li>dur:耗时</li> 2284 <li>return_value:文件操作的返回值</li> 2285 <li>error_code:文件操作发生错误时的错误码</li> 2286 <li>fd:文件描述符fd</li> 2287 <li>file_id:当type为open,close时为其操作的文件路径,当type为read,write时为固定字段(null)</li> 2288 <li>size:在type为read,write时对应的文件的读或者写的大小</li> 2289 <li>first_argument:参数一</li> 2290 <li>second_argument:参数二</li> 2291 <li>third_argument:参数三</li> 2292 <li>fourth_argument:参数四</li> 2293 </ul> 2294 <h3>hidump表</h3> 2295 <h4>表结构</h4> 2296 <table class="fontColor"> 2297 <thead> 2298 <tr> 2299 <th class="fontColor">Columns Name</th> 2300 <th class="fontColor">SQL TYPE</th> 2301 </tr> 2302 </thead> 2303 <tbody> 2304 <tr> 2305 <td>id</td> 2306 <td>INT</td> 2307 </tr> 2308 <tr> 2309 <td>ts</td> 2310 <td>INT</td> 2311 </tr> 2312 <tr> 2313 <td>fps</td> 2314 <td>INT</td> 2315 </tr> 2316 </tbody> 2317 </table> 2318 <h4>表描述</h4> 2319 <p class="fontColor">此表记录了设备的帧率信息,fps。</p> 2320 <h4>相关字段描述</h4> 2321 <ul class="fontColor"> 2322 <li>fps:帧率值</li> 2323 </ul> 2324 <h3>hisys_event_measure表</h3> 2325 <h4>表结构</h4> 2326 <table class="fontColor"> 2327 <thead> 2328 <tr> 2329 <th class="fontColor">Columns Name</th> 2330 <th class="fontColor">SQL TYPE</th> 2331 </tr> 2332 </thead> 2333 <tbody> 2334 <tr> 2335 <td>serial</td> 2336 <td>INT</td> 2337 </tr> 2338 <tr> 2339 <td>ts</td> 2340 <td>INT</td> 2341 </tr> 2342 <tr> 2343 <td>name_id</td> 2344 <td>INT</td> 2345 </tr> 2346 <tr> 2347 <td>key_id</td> 2348 <td>INT</td> 2349 </tr> 2350 <tr> 2351 <td>type</td> 2352 <td>INT</td> 2353 </tr> 2354 <tr> 2355 <td>int_value</td> 2356 <td>REAL</td> 2357 </tr> 2358 <tr> 2359 <td>string_value</td> 2360 <td>TEXT</td> 2361 </tr> 2362 </tbody> 2363 </table> 2364 <h4>表描述</h4> 2365 <p class="fontColor">记录所有的system event事件的相关数据,及其相关表的映射信息。</p> 2366 <h4>相关字段描述</h4> 2367 <ul class="fontColor"> 2368 <li>serial:每条数据过来携带唯一一条id作为标识</li> 2369 <li>name_id:存放事件对应的ID,与data_dict表相关联可以取出对应的字段</li> 2370 <li> 2371 key_id:存放事件包含的字段的ID,与表app_name的id字段相关联,找到app_name表的 2372 id字段对应行的app_key字段与表data_dict表相关联取出对应的字段 2373 </li> 2374 <li>type:存放事件所包含的字段的值所属的类型为int型还是string(0为int,1为string)</li> 2375 <li>int_value:存放本事件所包含的字段的int型的值</li> 2376 <li>string_value:存放本事件所包含的字段的string型的值</li> 2377 </ul> 2378 <h3>instant表</h3> 2379 <h4>表结构</h4> 2380 <table class="fontColor"> 2381 <thead> 2382 <tr> 2383 <th class="fontColor">Columns Name</th> 2384 <th class="fontColor">SQL TYPE</th> 2385 </tr> 2386 </thead> 2387 <tbody> 2388 <tr> 2389 <td>ts</td> 2390 <td>INT</td> 2391 </tr> 2392 <tr> 2393 <td>name</td> 2394 <td>TEXT</td> 2395 </tr> 2396 <tr> 2397 <td>ref</td> 2398 <td>INT</td> 2399 </tr> 2400 <tr> 2401 <td>wakeup_from</td> 2402 <td>INT</td> 2403 </tr> 2404 <tr> 2405 <td>ref_type</td> 2406 <td>TEXT</td> 2407 </tr> 2408 <tr> 2409 <td>value</td> 2410 <td>REAL</td> 2411 </tr> 2412 </tbody> 2413 </table> 2414 <h4>表描述</h4> 2415 <p class="fontColor">记录了系统中的waking和wakeup事件。</p> 2416 <h4>字段描述</h4> 2417 <ul class="fontColor"> 2418 <li>ts:唤醒时间</li> 2419 <li>name:唤醒事件的名称</li> 2420 <li>ref:索引号</li> 2421 <li>wakeup_from:唤醒当前线程的内部线程号(itid)</li> 2422 <li>ref_type:描述了value字段的类型(一般取值为itid)</li> 2423 <li>value:一般为当前线程的内部线程号取值</li> 2424 </ul> 2425 <h3>irq表</h3> 2426 <h4>表结构</h4> 2427 <table class="fontColor"> 2428 <thead> 2429 <tr> 2430 <th class="fontColor">Columns Name</th> 2431 <th class="fontColor">SQL TYPE</th> 2432 </tr> 2433 </thead> 2434 <tbody> 2435 <tr> 2436 <td>id</td> 2437 <td>INT</td> 2438 </tr> 2439 <tr> 2440 <td>ts</td> 2441 <td>INT</td> 2442 </tr> 2443 <tr> 2444 <td>dur</td> 2445 <td>INT</td> 2446 </tr> 2447 <tr> 2448 <td>callid</td> 2449 <td>INT</td> 2450 </tr> 2451 <tr> 2452 <td>cat</td> 2453 <td>TEXT</td> 2454 </tr> 2455 <tr> 2456 <td>name</td> 2457 <td>TEXT</td> 2458 </tr> 2459 <tr> 2460 <td>depth</td> 2461 <td>INT</td> 2462 </tr> 2463 <tr> 2464 <td>cookie</td> 2465 <td>INT</td> 2466 </tr> 2467 <tr> 2468 <td>parent_id</td> 2469 <td>INT</td> 2470 </tr> 2471 <tr> 2472 <td>argsetid</td> 2473 <td>INT</td> 2474 </tr> 2475 <tr> 2476 <td>chainId</td> 2477 <td>TEXT</td> 2478 </tr> 2479 <tr> 2480 <td>spanId</td> 2481 <td>TEXT</td> 2482 </tr> 2483 <tr> 2484 <td>parentSpanId</td> 2485 <td>TEXT</td> 2486 </tr> 2487 <tr> 2488 <td>flag</td> 2489 <td>TEXT</td> 2490 </tr> 2491 <tr> 2492 <td>args</td> 2493 <td>TEXT</td> 2494 </tr> 2495 </tbody> 2496 </table> 2497 <h4>表描述</h4> 2498 <p class="fontColor">记录中断相关事件。</p> 2499 <h4>相关字段描述</h4> 2500 <ul class="fontColor"> 2501 <li>dur:调用中断时长</li> 2502 <li>callid:调用中断者的ID,比如针对线程表里面的id</li> 2503 <li>cat:调用栈数据类型(取值范围:irq,softirq...)</li> 2504 <li>name:调用中断的名称</li> 2505 <li>depth:中断调用的深度</li> 2506 <li>parent_id:父调用中断的id</li> 2507 <li>spanId:分布式调用中断关联关系</li> 2508 </ul> 2509 <h3>js_heap_edges表</h3> 2510 <h4>表结构</h4> 2511 <table class="fontColor"> 2512 <thead> 2513 <tr> 2514 <th class="fontColor">Columns Name</th> 2515 <th class="fontColor">SQL TYPE</th> 2516 </tr> 2517 </thead> 2518 <tbody> 2519 <tr> 2520 <td>file_id</td> 2521 <td>INT</td> 2522 </tr> 2523 <tr> 2524 <td>edge_index</td> 2525 <td>INT</td> 2526 </tr> 2527 <tr> 2528 <td>type</td> 2529 <td>INT</td> 2530 </tr> 2531 <tr> 2532 <td>name_or_index</td> 2533 <td>INT</td> 2534 </tr> 2535 <tr> 2536 <td>to_node</td> 2537 <td>INT</td> 2538 </tr> 2539 <tr> 2540 <td>from_node_id</td> 2541 <td>INT</td> 2542 </tr> 2543 <tr> 2544 <td>to_node_id</td> 2545 <td>INT</td> 2546 </tr> 2547 </tbody> 2548 </table> 2549 <h4>表描述</h4> 2550 <p class="fontColor">记录js内存数据类对象对应的成员的信息。</p> 2551 <h4>相关字段描述</h4> 2552 <ul class="fontColor"> 2553 <li>file_id:文件ID</li> 2554 <li>edge_index:成员的索引号</li> 2555 <li>type:成员的类型,取值范围为js_heap_info表中的edge_types</li> 2556 <li>name_or_index:数据名称,取值为js_heap_string表中的下标索引</li> 2557 <li>to_node:此成员指向的类对象在nodes数组中的索引</li> 2558 <li>from_node_id:类对象ID,该类对象指向此成员数据</li> 2559 <li>to_node_id:此成员指向到的类对象nodes数组中的ID</li> 2560 </ul> 2561 <h3>js_heap_files表</h3> 2562 <h4>表结构</h4> 2563 <table class="fontColor"> 2564 <thead> 2565 <tr> 2566 <th class="fontColor">Columns Name</th> 2567 <th class="fontColor">SQL TYPE</th> 2568 </tr> 2569 </thead> 2570 <tbody> 2571 <tr> 2572 <td>id</td> 2573 <td>INT</td> 2574 </tr> 2575 <tr> 2576 <td>file_name</td> 2577 <td>TEXT</td> 2578 </tr> 2579 <tr> 2580 <td>start_time</td> 2581 <td>INT</td> 2582 </tr> 2583 <tr> 2584 <td>end_time</td> 2585 <td>INT</td> 2586 </tr> 2587 <tr> 2588 <td>pid</td> 2589 <td>INT</td> 2590 </tr> 2591 </tbody> 2592 </table> 2593 <h4>表描述</h4> 2594 <p class="fontColor">记录了js内存数据的文件名称和时间。</p> 2595 <h4>相关字段描述</h4> 2596 <ul class="fontColor"> 2597 <li>id:文件ID</li> 2598 <li>file_name:文件名称</li> 2599 <li>start_time:数据抓取的起始时间</li> 2600 <li>end_time:数据抓取的终止时间</li> 2601 <li>pid:进程号</li> 2602 </ul> 2603 <h3>js_heap_info表</h3> 2604 <h4>表结构</h4> 2605 <table class="fontColor"> 2606 <thead> 2607 <tr> 2608 <th class="fontColor">Columns Name</th> 2609 <th class="fontColor">SQL TYPE</th> 2610 </tr> 2611 </thead> 2612 <tbody> 2613 <tr> 2614 <td>file_id</td> 2615 <td>INT</td> 2616 </tr> 2617 <tr> 2618 <td>key</td> 2619 <td>TEXT</td> 2620 </tr> 2621 <tr> 2622 <td>type</td> 2623 <td>INT</td> 2624 </tr> 2625 <tr> 2626 <td>int_value</td> 2627 <td>INT</td> 2628 </tr> 2629 <tr> 2630 <td>str_value</td> 2631 <td>TEXT</td> 2632 </tr> 2633 </tbody> 2634 </table> 2635 <h4>表描述</h4> 2636 <p class="fontColor">记录了js内存数据类型,如nodes和edges的字段类型和数据总数。</p> 2637 <h4>相关字段描述</h4> 2638 <ul class="fontColor"> 2639 <li>file_id:文件ID</li> 2640 <li>key:类型名称</li> 2641 <li>type:数据类型索引</li> 2642 <li>int_value:int类型的数据值,如count类型数据</li> 2643 <li>str_value:string类型的数据值,如typename</li> 2644 </ul> 2645 <h3>js_heap_location表</h3> 2646 <h4>表结构</h4> 2647 <table class="fontColor"> 2648 <thead> 2649 <tr> 2650 <th class="fontColor">Columns Name</th> 2651 <th class="fontColor">SQL TYPE</th> 2652 </tr> 2653 </thead> 2654 <tbody> 2655 <tr> 2656 <td>file_id</td> 2657 <td>INT</td> 2658 </tr> 2659 <tr> 2660 <td>object_index</td> 2661 <td>INT</td> 2662 </tr> 2663 <tr> 2664 <td>script_id</td> 2665 <td>INT</td> 2666 </tr> 2667 <tr> 2668 <td>line</td> 2669 <td>INT</td> 2670 </tr> 2671 <tr> 2672 <td>column</td> 2673 <td>INT</td> 2674 </tr> 2675 </tbody> 2676 </table> 2677 <h4>表描述</h4> 2678 <p class="fontColor">记录了js内存location节点相关数据,此表目前无抓取到的数据。</p> 2679 <h4>相关字段描述</h4> 2680 <ul class="fontColor"> 2681 <li>file_id:文件ID</li> 2682 <li>object_index:与location关联的类对象的索引,取值为js_heap_nodes的下标索引</li> 2683 <li>script_id:关联到的类对象所在文件的绝对路径ID</li> 2684 <li>line:在类对象所在的文件中的行号</li> 2685 <li>column:在类对象所在的文件中的列号</li> 2686 </ul> 2687 <h3>js_heap_nodes表</h3> 2688 <h4>表结构</h4> 2689 <table class="fontColor"> 2690 <thead> 2691 <tr> 2692 <th class="fontColor">Columns Name</th> 2693 <th class="fontColor">SQL TYPE</th> 2694 </tr> 2695 </thead> 2696 <tbody> 2697 <tr> 2698 <td>file_id</td> 2699 <td>INT</td> 2700 </tr> 2701 <tr> 2702 <td>node_index</td> 2703 <td>TEXT</td> 2704 </tr> 2705 <tr> 2706 <td>type</td> 2707 <td>INT</td> 2708 </tr> 2709 <tr> 2710 <td>name</td> 2711 <td>INT</td> 2712 </tr> 2713 <tr> 2714 <td>id</td> 2715 <td>TEXT</td> 2716 </tr> 2717 <tr> 2718 <td>self_size</td> 2719 <td>INT</td> 2720 </tr> 2721 <tr> 2722 <td>edge_count</td> 2723 <td>INT</td> 2724 </tr> 2725 <tr> 2726 <td>trace_node_id</td> 2727 <td>INT</td> 2728 </tr> 2729 <tr> 2730 <td>detachedness</td> 2731 <td>INT</td> 2732 </tr> 2733 </tbody> 2734 </table> 2735 <h4>表描述</h4> 2736 <p class="fontColor">记录了js内存数据中类对象的数据。</p> 2737 <h4>相关字段描述</h4> 2738 <ul class="fontColor"> 2739 <li>file_id:文件ID</li> 2740 <li>node_index:类对象的索引</li> 2741 <li>type:类对象的类型</li> 2742 <li>name:类对象的名称</li> 2743 <li>id:类对象的唯一ID</li> 2744 <li>self_size:该类对象所有成员的大小(以字节为单位)</li> 2745 <li>edge_count:该类对象指向的类成员的个数</li> 2746 <li>trace_node_id:该类对象关联到js_heap_trace_node表中的调用栈ID</li> 2747 <li>detachedness:是否可以从window全局对象访问此节点,0表示是,1表示否</li> 2748 </ul> 2749 <h3>js_heap_sample表</h3> 2750 <h4>表结构</h4> 2751 <table class="fontColor"> 2752 <thead> 2753 <tr> 2754 <th class="fontColor">Columns Name</th> 2755 <th class="fontColor">SQL TYPE</th> 2756 </tr> 2757 </thead> 2758 <tbody> 2759 <tr> 2760 <td>file_id</td> 2761 <td>INT</td> 2762 </tr> 2763 <tr> 2764 <td>timestamp_us</td> 2765 <td>INT</td> 2766 </tr> 2767 <tr> 2768 <td>last_assigned_id</td> 2769 <td>INT</td> 2770 </tr> 2771 </tbody> 2772 </table> 2773 <h4>表描述</h4> 2774 <p class="fontColor">记录了timeline模式下的时间轴信息。</p> 2775 <h4>相关字段描述</h4> 2776 <ul class="fontColor"> 2777 <li>file_id:文件ID</li> 2778 <li>timestamp_us:时间信息</li> 2779 <li>last_assigned_id:当前时间点的id</li> 2780 </ul> 2781 <h3>js_heap_string表</h3> 2782 <h4>表结构</h4> 2783 <table class="fontColor"> 2784 <thead> 2785 <tr> 2786 <th class="fontColor">Columns Name</th> 2787 <th class="fontColor">SQL TYPE</th> 2788 </tr> 2789 </thead> 2790 <tbody> 2791 <tr> 2792 <td>file_id</td> 2793 <td>INT</td> 2794 </tr> 2795 <tr> 2796 <td>file_index</td> 2797 <td>INT</td> 2798 </tr> 2799 <tr> 2800 <td>string</td> 2801 <td>TEXT</td> 2802 </tr> 2803 </tbody> 2804 </table> 2805 <h4>表描述</h4> 2806 <p class="fontColor">记录了js内存数据中的字符串。</p> 2807 <h4>相关字段描述</h4> 2808 <ul class="fontColor"> 2809 <li>file_id:文件ID</li> 2810 <li>file_index:索引</li> 2811 <li>string:对应的字符串信息</li> 2812 </ul> 2813 <h3>js_heap_trace_function_info表</h3> 2814 <h4>表结构</h4> 2815 <table class="fontColor"> 2816 <thead> 2817 <tr> 2818 <th class="fontColor">Columns Name</th> 2819 <th class="fontColor">SQL TYPE</th> 2820 </tr> 2821 </thead> 2822 <tbody> 2823 <tr> 2824 <td>file_id</td> 2825 <td>INT</td> 2826 </tr> 2827 <tr> 2828 <td>function_index</td> 2829 <td>INT</td> 2830 </tr> 2831 <tr> 2832 <td>function_id</td> 2833 <td>INT</td> 2834 </tr> 2835 <tr> 2836 <td>name</td> 2837 <td>INT</td> 2838 </tr> 2839 <tr> 2840 <td>script_name</td> 2841 <td>INT</td> 2842 </tr> 2843 <tr> 2844 <td>script_id</td> 2845 <td>INT</td> 2846 </tr> 2847 <tr> 2848 <td>line</td> 2849 <td>INT</td> 2850 </tr> 2851 <tr> 2852 <td>column</td> 2853 <td>INT</td> 2854 </tr> 2855 </tbody> 2856 </table> 2857 <h4>表描述</h4> 2858 <p class="fontColor">记录了timeline模式下的调用栈的每个函数信息。</p> 2859 <h4>相关字段描述</h4> 2860 <ul class="fontColor"> 2861 <li>file_id:文件ID</li> 2862 <li>function_index:函数索引</li> 2863 <li>function_id:函数ID</li> 2864 <li>name:函数名称</li> 2865 <li>script_name:关联到的类对象所在文件的绝对路径名称</li> 2866 <li>script_id:关联到的类对象所在文件的绝对路径ID</li> 2867 <li>line:在类对象所在的文件中的行号</li> 2868 <li>column:在类对象所在的文件中的列号</li> 2869 </ul> 2870 <h3>js_heap_trace_node表</h3> 2871 <h4>表结构</h4> 2872 <table class="fontColor"> 2873 <thead> 2874 <tr> 2875 <th class="fontColor">Columns Name</th> 2876 <th class="fontColor">SQL TYPE</th> 2877 </tr> 2878 </thead> 2879 <tbody> 2880 <tr> 2881 <td>file_id</td> 2882 <td>INT</td> 2883 </tr> 2884 <tr> 2885 <td>id</td> 2886 <td>INT</td> 2887 </tr> 2888 <tr> 2889 <td>function_info_index</td> 2890 <td>INT</td> 2891 </tr> 2892 <tr> 2893 <td>count</td> 2894 <td>INT</td> 2895 </tr> 2896 <tr> 2897 <td>size</td> 2898 <td>INT</td> 2899 </tr> 2900 <tr> 2901 <td>parent_id</td> 2902 <td>INT</td> 2903 </tr> 2904 </tbody> 2905 </table> 2906 <h4>表描述</h4> 2907 <p class="fontColor">记录了timeline模式下的调用栈的信息。</p> 2908 <h4>相关字段描述</h4> 2909 <ul class="fontColor"> 2910 <li>file_id:文件ID</li> 2911 <li>id:调用栈节点索引</li> 2912 <li>function_info_index:函数信息索引</li> 2913 <li>count:调用栈个数</li> 2914 <li>size:调用栈大小</li> 2915 <li>parent_id:调用栈父节点</li> 2916 </ul> 2917 <h3>live_process表</h3> 2918 <h4>表结构</h4> 2919 <table class="fontColor"> 2920 <thead> 2921 <tr> 2922 <th class="fontColor">Columns Name</th> 2923 <th class="fontColor">SQL TYPE</th> 2924 </tr> 2925 </thead> 2926 <tbody> 2927 <tr> 2928 <td>ts</td> 2929 <td>INT</td> 2930 </tr> 2931 <tr> 2932 <td>dur</td> 2933 <td>INT</td> 2934 </tr> 2935 <tr> 2936 <td>cpu_time</td> 2937 <td>INT</td> 2938 </tr> 2939 <tr> 2940 <td>process_id</td> 2941 <td>INT</td> 2942 </tr> 2943 <tr> 2944 <td>process_name</td> 2945 <td>TEXT</td> 2946 </tr> 2947 <tr> 2948 <td>parent_process_id</td> 2949 <td>INT</td> 2950 </tr> 2951 <tr> 2952 <td>uid</td> 2953 <td>INT</td> 2954 </tr> 2955 <tr> 2956 <td>user_name</td> 2957 <td>TEXT</td> 2958 </tr> 2959 <tr> 2960 <td>cpu_usage</td> 2961 <td>REAL</td> 2962 </tr> 2963 <tr> 2964 <td>pss_info</td> 2965 <td>INT</td> 2966 </tr> 2967 <tr> 2968 <td>thread_num</td> 2969 <td>INT</td> 2970 </tr> 2971 <tr> 2972 <td>disk_writes</td> 2973 <td>INT</td> 2974 </tr> 2975 <tr> 2976 <td>disk_reads</td> 2977 <td>INT</td> 2978 </tr> 2979 </tbody> 2980 </table> 2981 <h4>表描述</h4> 2982 <p class="fontColor">记录了一些实时的进程中执行的一些数据(Monitor)。</p> 2983 <h4>主要字段描述</h4> 2984 <ul class="fontColor"> 2985 <li>process_id:进程id</li> 2986 <li>process_name:进程名</li> 2987 <li>parent_process_id:父进程的id</li> 2988 <li>uid:用户id</li> 2989 <li>user_name:用户名</li> 2990 <li>cpu_usage:cpu使用率</li> 2991 <li>pss_info:进程信息</li> 2992 <li>thread_num:线程数量</li> 2993 <li>disk_writes:磁盘写量</li> 2994 <li>disk_reads:磁盘读量</li> 2995 </ul> 2996 <h3>log表</h3> 2997 <h4>表结构</h4> 2998 <table class="fontColor"> 2999 <thead> 3000 <tr> 3001 <th class="fontColor">Columns Name</th> 3002 <th class="fontColor">SQL TYPE</th> 3003 </tr> 3004 </thead> 3005 <tbody> 3006 <tr> 3007 <td>seq</td> 3008 <td>INT</td> 3009 </tr> 3010 <tr> 3011 <td>ts</td> 3012 <td>INT</td> 3013 </tr> 3014 <tr> 3015 <td>pid</td> 3016 <td>INT</td> 3017 </tr> 3018 <tr> 3019 <td>tid</td> 3020 <td>INT</td> 3021 </tr> 3022 <tr> 3023 <td>level</td> 3024 <td>TEXT</td> 3025 </tr> 3026 <tr> 3027 <td>tag</td> 3028 <td>TEXT</td> 3029 </tr> 3030 <tr> 3031 <td>context</td> 3032 <td>TEXT</td> 3033 </tr> 3034 <tr> 3035 <td>origints</td> 3036 <td>INT</td> 3037 </tr> 3038 </tbody> 3039 </table> 3040 <h4>表描述</h4> 3041 <p class="fontColor">记录日志信息。</p> 3042 <h4>关键字段描述</h4> 3043 <ul class="fontColor"> 3044 <li>Seq:日志序号,保证日志解析的准确性</li> 3045 <li>Ts:打印日志时间</li> 3046 <li>Pid:日志的进程号</li> 3047 <li>Tid:日志的线程号</li> 3048 <li>Level:日志级别</li> 3049 <li>Tag:日志标签</li> 3050 <li>Context:日志内容</li> 3051 </ul> 3052 <h3>measure表</h3> 3053 <h4>表结构</h4> 3054 <table class="fontColor"> 3055 <thead> 3056 <tr> 3057 <th class="fontColor">Columns Name</th> 3058 <th class="fontColor">SQL TYPE</th> 3059 </tr> 3060 </thead> 3061 <tbody> 3062 <tr> 3063 <td>type</td> 3064 <td>TEXT</td> 3065 </tr> 3066 <tr> 3067 <td>ts</td> 3068 <td>INT</td> 3069 </tr> 3070 <tr> 3071 <td>dur</td> 3072 <td>INT</td> 3073 </tr> 3074 <tr> 3075 <td>value</td> 3076 <td>INT</td> 3077 </tr> 3078 <tr> 3079 <td>filter_id</td> 3080 <td>INT</td> 3081 </tr> 3082 </tbody> 3083 </table> 3084 <h4>表描述</h4> 3085 <p class="fontColor">记录所有的计量值。</p> 3086 <h4>关键字段描述</h4> 3087 <ul class="fontColor"> 3088 <li>type:固定字段(measure)</li> 3089 <li>ts:事件时间</li> 3090 <li>dur:该值持续的时长</li> 3091 <li>value:数值</li> 3092 <li>filter_id:对应filter表中的ID</li> 3093 </ul> 3094 <h3>measure_filter表</h3> 3095 <h4>表结构</h4> 3096 <table class="fontColor"> 3097 <thead> 3098 <tr> 3099 <th class="fontColor">Columns Name</th> 3100 <th class="fontColor">SQL TYPE</th> 3101 </tr> 3102 </thead> 3103 <tbody> 3104 <tr> 3105 <td>id</td> 3106 <td>INT</td> 3107 </tr> 3108 <tr> 3109 <td>type</td> 3110 <td>TEXT</td> 3111 </tr> 3112 <tr> 3113 <td>name</td> 3114 <td>TEXT</td> 3115 </tr> 3116 <tr> 3117 <td>source_arg_set_id</td> 3118 <td>INT</td> 3119 </tr> 3120 </tbody> 3121 </table> 3122 <h4>表描述</h4> 3123 <p class="fontColor"> 3124 记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录。 3125 </p> 3126 <h4>字段详细描述</h4> 3127 <p class="fontColor"> 3128 过滤分类(type),过滤名称(key2),数据ID(key1)。<br /> 3129 数据ID在process_measure_filter, sys_event_filter中作为id。 3130 </p> 3131 <h3>meta表</h3> 3132 <h4>表结构</h4> 3133 <table class="fontColor"> 3134 <thead> 3135 <tr> 3136 <th class="fontColor">Columns Name</th> 3137 <th class="fontColor">SQL TYPE</th> 3138 </tr> 3139 </thead> 3140 <tbody> 3141 <tr> 3142 <td>name</td> 3143 <td>TEXT</td> 3144 </tr> 3145 <tr> 3146 <td>value</td> 3147 <td>TEXT</td> 3148 </tr> 3149 </tbody> 3150 </table> 3151 <h4>表描述</h4> 3152 <p class="fontColor"> 3153 此表记录了数据解析或导出时的一些现场数据,比如使用的TraceStreamer版本, 3154 工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。 3155 </p> 3156 <h4>主要字段描述</h4> 3157 <ul class="fontColor"> 3158 <li>Name:指定元数据的key</li> 3159 <li>Value:指定元数据的value</li> 3160 </ul> 3161 <h3>native_hook表</h3> 3162 <h4>表结构</h4> 3163 <table class="fontColor"> 3164 <thead> 3165 <tr> 3166 <th class="fontColor">Columns Name</th> 3167 <th class="fontColor">SQL TYPE</th> 3168 </tr> 3169 </thead> 3170 <tbody> 3171 <tr> 3172 <td>id</td> 3173 <td>INT</td> 3174 </tr> 3175 <tr> 3176 <td>callChainId</td> 3177 <td>INT</td> 3178 </tr> 3179 <tr> 3180 <td>ipid</td> 3181 <td>INT</td> 3182 </tr> 3183 <tr> 3184 <td>itid</td> 3185 <td>INT</td> 3186 </tr> 3187 <tr> 3188 <td>event_type</td> 3189 <td>TEXT</td> 3190 </tr> 3191 <tr> 3192 <td>sub_type_id</td> 3193 <td>NUM</td> 3194 </tr> 3195 <tr> 3196 <td>start_ts</td> 3197 <td>INT</td> 3198 </tr> 3199 <tr> 3200 <td>end_ts</td> 3201 <td>INT</td> 3202 </tr> 3203 <tr> 3204 <td>dur</td> 3205 <td>INT</td> 3206 </tr> 3207 <tr> 3208 <td>addr</td> 3209 <td>INT</td> 3210 </tr> 3211 <tr> 3212 <td>heap_size</td> 3213 <td>INT</td> 3214 </tr> 3215 <tr> 3216 <td>all_heap_size</td> 3217 <td>INT</td> 3218 </tr> 3219 <tr> 3220 <td>current_size_dur</td> 3221 <td>INT</td> 3222 </tr> 3223 <tr> 3224 <td>last_lib_id</td> 3225 <td>INT</td> 3226 </tr> 3227 </tbody> 3228 </table> 3229 <h4>表描述</h4> 3230 <p class="fontColor">记录native_hook抓取的某个进程的堆内存,内存映射相关数据。</p> 3231 <h4>关键字段描述</h4> 3232 <ul class="fontColor"> 3233 <li>callChainId:唯一标识一条native_hook数据</li> 3234 <li>event_type:事件类型取值范围(AllocEvent,FreeEvent,MmapEvent, MunmapEvent)</li> 3235 <li>sub_type_id:子事件类型(只有sub_type字段为MmapEvent时,该字段才会有值)</li> 3236 <li>start_ts:申请内存开始时间</li> 3237 <li>end_ts:释放内存时间</li> 3238 <li>Dur:申请内存活跃时间</li> 3239 <li>Addr:申请内存地址</li> 3240 <li>mem_size:申请或释放内存大小</li> 3241 <li> 3242 all_mem_size:从采集数据开始到当前时刻,申请并活跃的内存总量。 3243 event_type为AllocEvent或者FreeEvent时,表示活跃的堆内存总量。当event_type为MmapEvent或者MunmapEvent时,表示活跃的映射内存总量 3244 </li> 3245 <li>current_size_dur:表示当前活跃内存总量的持续时间</li> 3246 <li>last_lib_id:函数调用栈他最后一个函数所属的文件路径,除了文件名中带musl和libc++</li> 3247 </ul> 3248 <h3>native_hook_frame表</h3> 3249 <h4>表结构</h4> 3250 <table class="fontColor"> 3251 <thead> 3252 <tr> 3253 <th class="fontColor">Columns Name</th> 3254 <th class="fontColor">SQL TYPE</th> 3255 </tr> 3256 </thead> 3257 <tbody> 3258 <tr> 3259 <td>id</td> 3260 <td>INT</td> 3261 </tr> 3262 <tr> 3263 <td>callchain_id</td> 3264 <td>INT</td> 3265 </tr> 3266 <tr> 3267 <td>depth</td> 3268 <td>INT</td> 3269 </tr> 3270 <tr> 3271 <td>symbol_id</td> 3272 <td>INT</td> 3273 </tr> 3274 <tr> 3275 <td>file_id</td> 3276 <td>INT</td> 3277 </tr> 3278 <tr> 3279 <td>offset</td> 3280 <td>INT</td> 3281 </tr> 3282 <tr> 3283 <td>symbol_offset</td> 3284 <td>INT</td> 3285 </tr> 3286 </tbody> 3287 </table> 3288 <h4>表描述</h4> 3289 <p class="fontColor">记录了内存的申请和释放的堆栈。</p> 3290 <h4>相关字段描述</h4> 3291 <ul class="fontColor"> 3292 <li>callchain_id:标识一组调用堆栈</li> 3293 <li>depth:调用栈深度</li> 3294 <li>symbol_id:函数名</li> 3295 <li>file_id:函数所属文件</li> 3296 </ul> 3297 <h3>native_hook_statistic表</h3> 3298 <h4>表结构</h4> 3299 <table class="fontColor"> 3300 <thead> 3301 <tr> 3302 <th class="fontColor">Columns Name</th> 3303 <th class="fontColor">SQL TYPE</th> 3304 </tr> 3305 </thead> 3306 <tbody> 3307 <tr> 3308 <td>id</td> 3309 <td>INT</td> 3310 </tr> 3311 <tr> 3312 <td>callchain_id</td> 3313 <td>INT</td> 3314 </tr> 3315 <tr> 3316 <td>ipid</td> 3317 <td>INT</td> 3318 </tr> 3319 <tr> 3320 <td>ts</td> 3321 <td>INT</td> 3322 </tr> 3323 <tr> 3324 <td>type</td> 3325 <td>INT</td> 3326 </tr> 3327 <tr> 3328 <td>apply_count</td> 3329 <td>INT</td> 3330 </tr> 3331 <tr> 3332 <td>release_count</td> 3333 <td>INT</td> 3334 </tr> 3335 <tr> 3336 <td>apply_size</td> 3337 <td>INT</td> 3338 </tr> 3339 <tr> 3340 <td>release_size</td> 3341 <td>INT</td> 3342 </tr> 3343 </tbody> 3344 </table> 3345 <h4>表描述</h4> 3346 <p class="fontColor">该表记录了内存申请/释放的统计信息。</p> 3347 <h4>关键字段描述</h4> 3348 <ul class="fontColor"> 3349 <li>callchain_id:内存分配的回调链id</li> 3350 <li>ipid:进程id</li> 3351 <li>ts:统计数据上报时间</li> 3352 <li>type:事件类型,0代表malloc事件,1代表mmap事件</li> 3353 <li>apply_count:当前调用栈内存分配总次数</li> 3354 <li>release_count:当前调用栈内存释放总次数</li> 3355 <li>apply_size:当前调用栈累计分配总大小</li> 3356 <li>release_size:当前调用栈累计释放总大小</li> 3357 </ul> 3358 <h3>network表</h3> 3359 <h4>表结构</h4> 3360 <table class="fontColor"> 3361 <thead> 3362 <tr> 3363 <th class="fontColor">Columns Name</th> 3364 <th class="fontColor">SQL TYPE</th> 3365 </tr> 3366 </thead> 3367 <tbody> 3368 <tr> 3369 <td>ts</td> 3370 <td>INT</td> 3371 </tr> 3372 <tr> 3373 <td>dur</td> 3374 <td>INT</td> 3375 </tr> 3376 <tr> 3377 <td>tx</td> 3378 <td>INT</td> 3379 </tr> 3380 <tr> 3381 <td>rx</td> 3382 <td>INT</td> 3383 </tr> 3384 <tr> 3385 <td>tx_speed</td> 3386 <td>REAL</td> 3387 </tr> 3388 <tr> 3389 <td>rx_speed</td> 3390 <td>REAL</td> 3391 </tr> 3392 <tr> 3393 <td>packet_in</td> 3394 <td>INT</td> 3395 </tr> 3396 <tr> 3397 <td>packet_in_sec</td> 3398 <td>REAL</td> 3399 </tr> 3400 <tr> 3401 <td>packet_out</td> 3402 <td>INT</td> 3403 </tr> 3404 <tr> 3405 <td>packet_out_sec</td> 3406 <td>REAL</td> 3407 </tr> 3408 <tr> 3409 <td>net_type</td> 3410 <td>TEXT</td> 3411 </tr> 3412 </tbody> 3413 </table> 3414 <h4>表描述</h4> 3415 <p class="fontColor">记录了网络数据传输相关的信息。</p> 3416 <h4>主要字段描述</h4> 3417 <ul class="fontColor"> 3418 <li>tv_sec:时间,秒为单位</li> 3419 <li>tv_nsec:时间,纳秒为单位</li> 3420 <li>tx_bytes:网络数据的写入量</li> 3421 <li>rx_bytes:网络数据的读取量</li> 3422 </ul> 3423 <h3>paged_memory_sample表</h3> 3424 <h4>表结构</h4> 3425 <table class="fontColor"> 3426 <thead> 3427 <tr> 3428 <th class="fontColor">Columns Name</th> 3429 <th class="fontColor">SQL TYPE</th> 3430 </tr> 3431 </thead> 3432 <tbody> 3433 <tr> 3434 <td>id</td> 3435 <td>INT</td> 3436 </tr> 3437 <tr> 3438 <td>callchain_id</td> 3439 <td>INT</td> 3440 </tr> 3441 <tr> 3442 <td>type</td> 3443 <td>INT</td> 3444 </tr> 3445 <tr> 3446 <td>ipid</td> 3447 <td>INT</td> 3448 </tr> 3449 <tr> 3450 <td>start_ts</td> 3451 <td>INT</td> 3452 </tr> 3453 <tr> 3454 <td>end_ts</td> 3455 <td>INT</td> 3456 </tr> 3457 <tr> 3458 <td>dur</td> 3459 <td>INT</td> 3460 </tr> 3461 <tr> 3462 <td>size</td> 3463 <td>INT</td> 3464 </tr> 3465 <tr> 3466 <td>addr</td> 3467 <td>TEXT</td> 3468 </tr> 3469 <tr> 3470 <td>itid</td> 3471 <td>INT</td> 3472 </tr> 3473 </tbody> 3474 </table> 3475 <h4>表描述</h4> 3476 <p class="fontColor">记录了网络数据传输相关的信息。</p> 3477 <h4>主要字段描述</h4> 3478 <ul class="fontColor"> 3479 <li>callchain_id: 取值相同的一组数据,表示一个完整的调用栈</li> 3480 <li>type:事件类型</li> 3481 <li>ipid:TS内部进程号</li> 3482 <li>start_ts:开始时间</li> 3483 <li>end_ts:结束时间</li> 3484 <li>dur:持续时间</li> 3485 <li>size:操作页数</li> 3486 <li>itid:TS内部线程号</li> 3487 </ul> 3488 <h3>perf_callchain表</h3> 3489 <h4>表结构</h4> 3490 <table class="fontColor"> 3491 <thead> 3492 <tr> 3493 <th class="fontColor">Columns Name</th> 3494 <th class="fontColor">SQL TYPE</th> 3495 </tr> 3496 </thead> 3497 <tbody> 3498 <tr> 3499 <td>id</td> 3500 <td>INT</td> 3501 </tr> 3502 <tr> 3503 <td>callchain_id</td> 3504 <td>INT</td> 3505 </tr> 3506 <tr> 3507 <td>depth</td> 3508 <td>INT</td> 3509 </tr> 3510 <tr> 3511 <td>vaddr_in_file</td> 3512 <td>INT</td> 3513 </tr> 3514 <tr> 3515 <td>file_id</td> 3516 <td>INT</td> 3517 </tr> 3518 <tr> 3519 <td>symbol_id</td> 3520 <td>INT</td> 3521 </tr> 3522 <tr> 3523 <td>name</td> 3524 <td>TEXT</td> 3525 </tr> 3526 </tbody> 3527 </table> 3528 <h4>表描述</h4> 3529 <p class="fontColor">记录了Hiperf采样数据的调用栈信息。</p> 3530 <h4>主要字段描述</h4> 3531 <ul class="fontColor"> 3532 <li>callchain_id:标识一组调用堆栈</li> 3533 <li>depth:调用栈深度</li> 3534 <li>vaddr_in_file:函数在文件中的虚拟地址</li> 3535 <li>file_id:与PerfFiles中的file_id字段相关联</li> 3536 <li>symbol_id:与PerfFiles中的symbol_id相关联</li> 3537 <li>name:函数名</li> 3538 </ul> 3539 <h3>perf_files表</h3> 3540 <h4>表结构</h4> 3541 <table class="fontColor"> 3542 <thead> 3543 <tr> 3544 <th class="fontColor">Columns Name</th> 3545 <th class="fontColor">SQL TYPE</th> 3546 </tr> 3547 </thead> 3548 <tbody> 3549 <tr> 3550 <td>id</td> 3551 <td>INT</td> 3552 </tr> 3553 <tr> 3554 <td>file_id</td> 3555 <td>INT</td> 3556 </tr> 3557 <tr> 3558 <td>serial_id</td> 3559 <td>INT</td> 3560 </tr> 3561 <tr> 3562 <td>symbol</td> 3563 <td>TEXT</td> 3564 </tr> 3565 <tr> 3566 <td>path</td> 3567 <td>TEXT</td> 3568 </tr> 3569 </tbody> 3570 </table> 3571 <h4>表描述</h4> 3572 <p class="fontColor">记录Hiperf工具采集到的函数符号表和文件名。</p> 3573 <h4>主要字段描述</h4> 3574 <ul class="fontColor"> 3575 <li>file_id:文件编号</li> 3576 <li>serial_id:一个文件中可能有多个函数,serial_id表示函数的编号</li> 3577 <li>symbol:函数名</li> 3578 <li>path:文件路径</li> 3579 </ul> 3580 <h3>perf_report表</h3> 3581 <h4>表结构</h4> 3582 <table class="fontColor"> 3583 <thead> 3584 <tr> 3585 <th class="fontColor">Columns Name</th> 3586 <th class="fontColor">SQL TYPE</th> 3587 </tr> 3588 </thead> 3589 <tbody> 3590 <tr> 3591 <td>id</td> 3592 <td>INT</td> 3593 </tr> 3594 <tr> 3595 <td>report_type</td> 3596 <td>TEXT</td> 3597 </tr> 3598 <tr> 3599 <td>report_value</td> 3600 <td>TEXT</td> 3601 </tr> 3602 </tbody> 3603 </table> 3604 <h4>表描述</h4> 3605 <p class="fontColor"> 3606 记录Hiperf工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称。 3607 </p> 3608 <h4>主要字段描述</h4> 3609 <ul class="fontColor"> 3610 <li> 3611 report_type:数据类型。取值只有三种类型:config_name(事件类型), workload(抓取的进程名), 3612 cmdline(抓取命令) 3613 </li> 3614 <li>report_value:对应类型的取值</li> 3615 </ul> 3616 <h3>perf_sample表</h3> 3617 <h4>表结构</h4> 3618 <table class="fontColor"> 3619 <thead> 3620 <tr> 3621 <th class="fontColor">Columns Name</th> 3622 <th class="fontColor">SQL TYPE</th> 3623 </tr> 3624 </thead> 3625 <tbody> 3626 <tr> 3627 <td>id</td> 3628 <td>INT</td> 3629 </tr> 3630 <tr> 3631 <td>callchain_id</td> 3632 <td>INT</td> 3633 </tr> 3634 <tr> 3635 <td>timestamp</td> 3636 <td>INT</td> 3637 </tr> 3638 <tr> 3639 <td>thread_id</td> 3640 <td>INT</td> 3641 </tr> 3642 <tr> 3643 <td>event_count</td> 3644 <td>INT</td> 3645 </tr> 3646 <tr> 3647 <td>event_type_id</td> 3648 <td>INT</td> 3649 </tr> 3650 <tr> 3651 <td>timestamp_trace</td> 3652 <td>INT</td> 3653 </tr> 3654 <tr> 3655 <td>cpu_id</td> 3656 <td>INT</td> 3657 </tr> 3658 <tr> 3659 <td>thread_state</td> 3660 <td>TEXT</td> 3661 </tr> 3662 </tbody> 3663 </table> 3664 <h4>表描述</h4> 3665 <p class="fontColor">记录Hiperf工具的采样信息。</p> 3666 <h4>主要字段描述</h4> 3667 <ul class="fontColor"> 3668 <li>timestamp:未进行时钟源同步的时间戳</li> 3669 <li>thread_id:线程号</li> 3670 <li>event_count:采样统计</li> 3671 <li>event_type_id:事件类型编号。与PerfReport表的id字段相关联</li> 3672 <li>timestamp_trace:时钟源同步后的时间戳</li> 3673 <li>cpu_id:cpu核编号</li> 3674 <li> 3675 thread_state:线程状态。采样对应Sched_Waking事件时,为Runing;对应Sched_Switch事件时,为Suspend。其余事件类型,为“-” 3676 </li> 3677 </ul> 3678 <h3>perf_thread表</h3> 3679 <h4>表结构</h4> 3680 <table class="fontColor"> 3681 <thead> 3682 <tr> 3683 <th class="fontColor">Columns Name</th> 3684 <th class="fontColor">SQL TYPE</th> 3685 </tr> 3686 </thead> 3687 <tbody> 3688 <tr> 3689 <td>id</td> 3690 <td>INT</td> 3691 </tr> 3692 <tr> 3693 <td>thread_id</td> 3694 <td>INT</td> 3695 </tr> 3696 <tr> 3697 <td>process_id</td> 3698 <td>INT</td> 3699 </tr> 3700 <tr> 3701 <td>thread_name</td> 3702 <td>TEXT</td> 3703 </tr> 3704 </tbody> 3705 </table> 3706 <h4>表描述</h4> 3707 <p class="fontColor">记录Hiperf工具采集到的进程和线程数据。</p> 3708 <h4>主要字段描述</h4> 3709 <ul class="fontColor"> 3710 <li>thread_id:线程号</li> 3711 <li>process_id:进程号</li> 3712 <li>thread_name:线程名</li> 3713 </ul> 3714 <h3>process表</h3> 3715 <h4>表结构</h4> 3716 <table class="fontColor"> 3717 <thead> 3718 <tr> 3719 <th class="fontColor">Columns Name</th> 3720 <th class="fontColor">SQL TYPE</th> 3721 </tr> 3722 </thead> 3723 <tbody> 3724 <tr> 3725 <td>id</td> 3726 <td>INT</td> 3727 </tr> 3728 <tr> 3729 <td>ipid</td> 3730 <td>INT</td> 3731 </tr> 3732 <tr> 3733 <td>type</td> 3734 <td>TEXT</td> 3735 </tr> 3736 <tr> 3737 <td>pid</td> 3738 <td>INT</td> 3739 </tr> 3740 <tr> 3741 <td>name</td> 3742 <td>TEXT</td> 3743 </tr> 3744 <tr> 3745 <td>start_ts</td> 3746 <td>INT</td> 3747 </tr> 3748 <tr> 3749 <td>switch_count</td> 3750 <td>INT</td> 3751 </tr> 3752 <tr> 3753 <td>thread_count</td> 3754 <td>INT</td> 3755 </tr> 3756 <tr> 3757 <td>slice_count</td> 3758 <td>INT</td> 3759 </tr> 3760 <tr> 3761 <td>mem_count</td> 3762 <td>INT</td> 3763 </tr> 3764 </tbody> 3765 </table> 3766 <h4>表描述</h4> 3767 <p class="fontColor">记录了进程相关数据。</p> 3768 <h4>关键字段描述</h4> 3769 <ul class="fontColor"> 3770 <li>id:进程在数据库重新重新定义的id,从0开始序列增长</li> 3771 <li>ipid:TS内部进程id</li> 3772 <li>type:固定取值:process</li> 3773 <li>pid:进程的真实id</li> 3774 <li>name:进程名字</li> 3775 <li>start_ts:开始时间</li> 3776 <li>switch_count:统计内部有多少个线程有切换</li> 3777 <li>thread_count:统计其线程个数</li> 3778 <li>slice_count:进程内有多个线程有slice数据</li> 3779 <li>mem_count:进程是否有内存数据</li> 3780 </ul> 3781 <h3>process_filter表</h3> 3782 <h4>表结构</h4> 3783 <table class="fontColor"> 3784 <thead> 3785 <tr> 3786 <th class="fontColor">Columns Name</th> 3787 <th class="fontColor">SQL TYPE</th> 3788 </tr> 3789 </thead> 3790 <tbody> 3791 <tr> 3792 <td>id</td> 3793 <td>INT</td> 3794 </tr> 3795 <tr> 3796 <td>type</td> 3797 <td>TEXT</td> 3798 </tr> 3799 <tr> 3800 <td>name</td> 3801 <td>TEXT</td> 3802 </tr> 3803 <tr> 3804 <td>ipid</td> 3805 <td>INT</td> 3806 </tr> 3807 </tbody> 3808 </table> 3809 <h4>表描述</h4> 3810 <p class="fontColor"> 3811 将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, 3812 filter_id同时被记录在filter表中。 3813 </p> 3814 <h4>主要字段描述</h4> 3815 <ul class="fontColor"> 3816 <li>id:进程id</li> 3817 <li>type:固定取值:process_filter</li> 3818 <li>name:进程名</li> 3819 <li>ipid:该进程表中的id与process表中的id相关联</li> 3820 </ul> 3821 <h3>process_measure表</h3> 3822 <h4>表结构</h4> 3823 <table class="fontColor"> 3824 <thead> 3825 <tr> 3826 <th class="fontColor">Columns Name</th> 3827 <th class="fontColor">SQL TYPE</th> 3828 </tr> 3829 </thead> 3830 <tbody> 3831 <tr> 3832 <td>type</td> 3833 <td>TEXT</td> 3834 </tr> 3835 <tr> 3836 <td>ts</td> 3837 <td>INT</td> 3838 </tr> 3839 <tr> 3840 <td>value</td> 3841 <td>NUM</td> 3842 </tr> 3843 <tr> 3844 <td>filter_id</td> 3845 <td>INT</td> 3846 </tr> 3847 </tbody> 3848 </table> 3849 <h4>表描述</h4> 3850 <p class="fontColor">保存进程的内存,堆栈值等所有计量值信息。</p> 3851 <h4>字段详细描述</h4> 3852 <ul class="fontColor"> 3853 <li>ts:事件时间</li> 3854 <li>value:数值</li> 3855 <li>filter_id:对应process_measure_filter表中的ID</li> 3856 </ul> 3857 <h3>process_measure_filter表</h3> 3858 <h4>表结构</h4> 3859 <table class="fontColor"> 3860 <thead> 3861 <tr> 3862 <th class="fontColor">Columns Name</th> 3863 <th class="fontColor">SQL TYPE</th> 3864 </tr> 3865 </thead> 3866 <tbody> 3867 <tr> 3868 <td>id</td> 3869 <td>INT</td> 3870 </tr> 3871 <tr> 3872 <td>type</td> 3873 <td>TEXT</td> 3874 </tr> 3875 <tr> 3876 <td>name</td> 3877 <td>TEXT</td> 3878 </tr> 3879 <tr> 3880 <td>ipid</td> 3881 <td>INT</td> 3882 </tr> 3883 </tbody> 3884 </table> 3885 <h4>表描述</h4> 3886 <p class="fontColor"> 3887 将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, 3888 filter_id同时被记录在measure_filter表中。 3889 </p> 3890 <h4>字段详细描述</h4> 3891 <ul class="fontColor"> 3892 <li>type:固定取值:process_measure_filter</li> 3893 <li>name:cpu状态名</li> 3894 <li>ipid:进程内部编号</li> 3895 </ul> 3896 <h3>raw表</h3> 3897 <h4>表结构</h4> 3898 <table class="fontColor"> 3899 <thead> 3900 <tr> 3901 <th class="fontColor">Columns Name</th> 3902 <th class="fontColor">SQL TYPE</th> 3903 </tr> 3904 </thead> 3905 <tbody> 3906 <tr> 3907 <td>id</td> 3908 <td>INT</td> 3909 </tr> 3910 <tr> 3911 <td>type</td> 3912 <td>TEXT</td> 3913 </tr> 3914 <tr> 3915 <td>ts</td> 3916 <td>INT</td> 3917 </tr> 3918 <tr> 3919 <td>name</td> 3920 <td>TEXT</td> 3921 </tr> 3922 <tr> 3923 <td>cpu</td> 3924 <td>INT</td> 3925 </tr> 3926 <tr> 3927 <td>itid</td> 3928 <td>INT</td> 3929 </tr> 3930 </tbody> 3931 </table> 3932 <h4>表描述</h4> 3933 <p class="fontColor">记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。</p> 3934 <h4>相关字段描述</h4> 3935 <ul class="fontColor"> 3936 <li>type:固定字段(raw)</li> 3937 <li>name:调度名称(取值:cpu_idle,sched_wakeup,sched_waking)</li> 3938 <li>cpu:事件发生在哪个CPU</li> 3939 <li>itid:时间对应哪个utid</li> 3940 </ul> 3941 <h3>sched_slice表</h3> 3942 <h4>表结构</h4> 3943 <table class="fontColor"> 3944 <thead> 3945 <tr> 3946 <th class="fontColor">Columns Name</th> 3947 <th class="fontColor">SQL TYPE</th> 3948 </tr> 3949 </thead> 3950 <tbody> 3951 <tr> 3952 <td>id</td> 3953 <td>INT</td> 3954 </tr> 3955 <tr> 3956 <td>type</td> 3957 <td>TEXT</td> 3958 </tr> 3959 <tr> 3960 <td>ts</td> 3961 <td>INT</td> 3962 </tr> 3963 <tr> 3964 <td>dur</td> 3965 <td>INT</td> 3966 </tr> 3967 <tr> 3968 <td>ts_end</td> 3969 <td>INT</td> 3970 </tr> 3971 <tr> 3972 <td>cpu</td> 3973 <td>INT</td> 3974 </tr> 3975 <tr> 3976 <td>itid</td> 3977 <td>INT</td> 3978 </tr> 3979 <tr> 3980 <td>end_state</td> 3981 <td>TEXT</td> 3982 </tr> 3983 <tr> 3984 <td>priority</td> 3985 <td>INT</td> 3986 </tr> 3987 </tbody> 3988 </table> 3989 <h4>表描述</h4> 3990 <p class="fontColor">此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录。</p> 3991 <h4>主要字段描述</h4> 3992 <ul class="fontColor"> 3993 <li>ts:事件发生事件</li> 3994 <li>type:固定字段(sched_slice)</li> 3995 <li>dur:状态持续时长</li> 3996 <li>ts_end:状态结束时长</li> 3997 <li>cpu:事件发生在哪个cpu</li> 3998 <li>itid:事件对应哪个utid</li> 3999 <li>end_state:线程的终结状态</li> 4000 </ul> 4001 <h3>smaps表</h3> 4002 <h4>表结构</h4> 4003 <table class="fontColor"> 4004 <thead> 4005 <tr> 4006 <th class="fontColor">Columns Name</th> 4007 <th class="fontColor">SQL TYPE</th> 4008 </tr> 4009 </thead> 4010 <tbody> 4011 <tr> 4012 <td>id</td> 4013 <td>INT</td> 4014 </tr> 4015 <tr> 4016 <td>timestamp</td> 4017 <td>INT</td> 4018 </tr> 4019 <tr> 4020 <td>start_addr</td> 4021 <td>TEXT</td> 4022 </tr> 4023 <tr> 4024 <td>end_addr</td> 4025 <td>TEXT</td> 4026 </tr> 4027 <tr> 4028 <td>dirty</td> 4029 <td>INT</td> 4030 </tr> 4031 <tr> 4032 <td>swapper</td> 4033 <td>INT</td> 4034 </tr> 4035 <tr> 4036 <td>resident_size</td> 4037 <td>INT</td> 4038 </tr> 4039 <tr> 4040 <td>pss</td> 4041 <td>INT</td> 4042 </tr> 4043 <tr> 4044 <td>virtaul_size</td> 4045 <td>INT</td> 4046 </tr> 4047 <tr> 4048 <td>reside</td> 4049 <td>REAL</td> 4050 </tr> 4051 <tr> 4052 <td>protection_id</td> 4053 <td>INT</td> 4054 </tr> 4055 <tr> 4056 <td>path_id</td> 4057 <td>INT</td> 4058 </tr> 4059 </tbody> 4060 </table> 4061 <h4>表描述</h4> 4062 <p class="fontColor">记录进程的内存消耗的相关信息采样。</p> 4063 <h4>主要字段描述</h4> 4064 <ul class="fontColor"> 4065 <li>id:状态持续时长</li> 4066 <li>timestamp:事件发生事件</li> 4067 <li>start_addr:内存段地址的起始位置</li> 4068 <li>end_addr:内存段地址的结束位置</li> 4069 <li>dirty:其他进程共享的被写的页的大小 + 已被改写的私有页面的大小</li> 4070 <li>swapper:存在于交换分区的数据大小</li> 4071 <li>resident_size:实际分配的内存大小</li> 4072 <li>pss:平摊计算后的实际物理使用内存</li> 4073 <li>virtaul_size:虚拟内存空间的大小</li> 4074 <li>reside:实际分配的内存大小与虚拟内存空间的大小的比</li> 4075 <li>protection_id:内存段的权限id与表data_dict的id字段相关联</li> 4076 <li>path_id:如果区域是从文件映射的,则这是文件的名称对应的id序号与表data_dict的id字段相关联</li> 4077 </ul> 4078 <h3>stat表</h3> 4079 <h4>表结构</h4> 4080 <table class="fontColor"> 4081 <thead> 4082 <tr> 4083 <th class="fontColor">Columns Name</th> 4084 <th class="fontColor">SQL TYPE</th> 4085 </tr> 4086 </thead> 4087 <tbody> 4088 <tr> 4089 <td>event_name</td> 4090 <td>TEXT</td> 4091 </tr> 4092 <tr> 4093 <td>stat_type</td> 4094 <td>TEXT</td> 4095 </tr> 4096 <tr> 4097 <td>count</td> 4098 <td>INT</td> 4099 </tr> 4100 <tr> 4101 <td>serverity</td> 4102 <td>TEXT</td> 4103 </tr> 4104 <tr> 4105 <td>source</td> 4106 <td>TEXT</td> 4107 </tr> 4108 </tbody> 4109 </table> 4110 <h4>表描述</h4> 4111 <p class="fontColor"> 4112 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。 4113 </p> 4114 <h4>主要字段描述</h4> 4115 <ul class="fontColor"> 4116 <li>event_name:数据类型</li> 4117 <li>stat_type:数据状态</li> 4118 <li>count:数据条数</li> 4119 <li>severity:严重级别</li> 4120 <li>source:数据来源</li> 4121 </ul> 4122 <h3>symbols表</h3> 4123 <h4>表结构</h4> 4124 <table class="fontColor"> 4125 <thead> 4126 <tr> 4127 <th class="fontColor">Columns Name</th> 4128 <th class="fontColor">SQL TYPE</th> 4129 </tr> 4130 </thead> 4131 <tbody> 4132 <tr> 4133 <td>id</td> 4134 <td>INT</td> 4135 </tr> 4136 <tr> 4137 <td>funcname</td> 4138 <td>TEXT</td> 4139 </tr> 4140 <tr> 4141 <td>addr</td> 4142 <td>INT</td> 4143 </tr> 4144 </tbody> 4145 </table> 4146 <h4>表描述</h4> 4147 <p class="fontColor">此表记录了被调用函数与其地址的映射关系。</p> 4148 <h4>相关字段描述</h4> 4149 <ul class="fontColor"> 4150 <li>funcname:系统调用名称</li> 4151 <li>adr:系统调用地址</li> 4152 </ul> 4153 <h3>syscall表</h3> 4154 <h4>表结构</h4> 4155 <table class="fontColor"> 4156 <thead> 4157 <tr> 4158 <th class="fontColor">Columns Name</th> 4159 <th class="fontColor">SQL TYPE</th> 4160 </tr> 4161 </thead> 4162 <tbody> 4163 <tr> 4164 <td>syscall_num</td> 4165 <td>INT</td> 4166 </tr> 4167 <tr> 4168 <td>type</td> 4169 <td>TEXT</td> 4170 </tr> 4171 <tr> 4172 <td>ipid</td> 4173 <td>INT</td> 4174 </tr> 4175 <tr> 4176 <td>ts</td> 4177 <td>INT</td> 4178 </tr> 4179 <tr> 4180 <td>ret</td> 4181 <td>INT</td> 4182 </tr> 4183 </tbody> 4184 </table> 4185 <h4>表描述</h4> 4186 <p class="fontColor">记录用户空间函数与内核空间函数相互调用记录。</p> 4187 <h4>相关字段描述</h4> 4188 <ul class="fontColor"> 4189 <li>syscall_num:系统调用的序号</li> 4190 <li>type:固定取值:enter或者exit</li> 4191 <li>ipid:线程所属的进程ID</li> 4192 <li>ts:时间戳</li> 4193 <li>ret:返回值,在type为exit时有效</li> 4194 </ul> 4195 <h3>sys_event_filter表</h3> 4196 <h4>表结构</h4> 4197 <table class="fontColor"> 4198 <thead> 4199 <tr> 4200 <th class="fontColor">Columns Name</th> 4201 <th class="fontColor">SQL TYPE</th> 4202 </tr> 4203 </thead> 4204 <tbody> 4205 <tr> 4206 <td>id</td> 4207 <td>INT</td> 4208 </tr> 4209 <tr> 4210 <td>type</td> 4211 <td>TEXT</td> 4212 </tr> 4213 <tr> 4214 <td>name</td> 4215 <td>TEXT</td> 4216 </tr> 4217 </tbody> 4218 </table> 4219 <h4>表描述</h4> 4220 <p class="fontColor">记录所有的filter。</p> 4221 <h4>相关字段描述</h4> 4222 <ul class="fontColor"> 4223 <li>type:文件类型</li> 4224 <li>name:文件名</li> 4225 </ul> 4226 <h3>sys_mem_measure表</h3> 4227 <h4>表结构</h4> 4228 <table class="fontColor"> 4229 <thead> 4230 <tr> 4231 <th class="fontColor">Columns Name</th> 4232 <th class="fontColor">SQL TYPE</th> 4233 </tr> 4234 </thead> 4235 <tbody> 4236 <tr> 4237 <td>type</td> 4238 <td>TEXT</td> 4239 </tr> 4240 <tr> 4241 <td>ts</td> 4242 <td>INT</td> 4243 </tr> 4244 <tr> 4245 <td>value</td> 4246 <td>INT</td> 4247 </tr> 4248 <tr> 4249 <td>filter_id</td> 4250 <td>INT</td> 4251 </tr> 4252 </tbody> 4253 </table> 4254 <h4>表描述</h4> 4255 <p class="fontColor">记录系统内存与系统虚拟内存。</p> 4256 <h4>相关字段描述</h4> 4257 <ul class="fontColor"> 4258 <li>ts:事件时间</li> 4259 <li>value:数值</li> 4260 <li>filter_id:对应filter表中的ID</li> 4261 </ul> 4262 <h3>thread表</h3> 4263 <h4>表结构</h4> 4264 <table class="fontColor"> 4265 <thead> 4266 <tr> 4267 <th class="fontColor">Columns Name</th> 4268 <th class="fontColor">SQL TYPE</th> 4269 </tr> 4270 </thead> 4271 <tbody> 4272 <tr> 4273 <td>id</td> 4274 <td>INT</td> 4275 </tr> 4276 <tr> 4277 <td>itid</td> 4278 <td>INT</td> 4279 </tr> 4280 <tr> 4281 <td>type</td> 4282 <td>TEXT</td> 4283 </tr> 4284 <tr> 4285 <td>tid</td> 4286 <td>INT</td> 4287 </tr> 4288 <tr> 4289 <td>name</td> 4290 <td>TEXT</td> 4291 </tr> 4292 <tr> 4293 <td>start_ts</td> 4294 <td>INT</td> 4295 </tr> 4296 <tr> 4297 <td>end_ts</td> 4298 <td>INT</td> 4299 </tr> 4300 <tr> 4301 <td>ipid</td> 4302 <td>INT</td> 4303 </tr> 4304 <tr> 4305 <td>is_main_thread</td> 4306 <td>INT</td> 4307 </tr> 4308 <tr> 4309 <td>switch_count</td> 4310 <td>INT</td> 4311 </tr> 4312 </tbody> 4313 </table> 4314 <h4>表描述</h4> 4315 <p class="fontColor">记录了线程相关数据。</p> 4316 <h4>字段详细描述</h4> 4317 <ul class="fontColor"> 4318 <li>id:线程在数据库重新重新定义的id,从0开始序列增长</li> 4319 <li>itid:TS内部线程id</li> 4320 <li>type:固定字段(thread)</li> 4321 <li>tid:线程号</li> 4322 <li>name:线程名</li> 4323 <li>start_ts:开始时间</li> 4324 <li>end_ts:结束时间</li> 4325 <li>ipid:线程所属的进程id, 关联process表中的ID</li> 4326 <li>is_main_thread:是否主线程,主线程即该线程实际就是进程本身</li> 4327 <li>switch_count:当前线程的切换次数</li> 4328 </ul> 4329 <h3>thread_filter表</h3> 4330 <h4>表结构</h4> 4331 <table class="fontColor"> 4332 <thead> 4333 <tr> 4334 <th class="fontColor">Columns Name</th> 4335 <th class="fontColor">SQL TYPE</th> 4336 </tr> 4337 </thead> 4338 <tbody> 4339 <tr> 4340 <td>id</td> 4341 <td>INT</td> 4342 </tr> 4343 <tr> 4344 <td>type</td> 4345 <td>TEXT</td> 4346 </tr> 4347 <tr> 4348 <td>name</td> 4349 <td>TEXT</td> 4350 </tr> 4351 <tr> 4352 <td>itid</td> 4353 <td>INT</td> 4354 </tr> 4355 </tbody> 4356 </table> 4357 <h4>表描述</h4> 4358 <p class="fontColor"> 4359 将线程ID作为key1,线程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, 4360 filter_id同时被记录在filter表中。 4361 </p> 4362 <h4>主要字段描述</h4> 4363 <ul class="fontColor"> 4364 <li>id:线程id</li> 4365 <li>type:线程类型</li> 4366 <li>name:线程名称</li> 4367 <li>itid:该表中的tid与thread表中的tid相关联</li> 4368 </ul> 4369 <h3>thread_state表</h3> 4370 <h4>表结构</h4> 4371 <table class="fontColor"> 4372 <thead> 4373 <tr> 4374 <th class="fontColor">Columns Name</th> 4375 <th class="fontColor">SQL TYPE</th> 4376 </tr> 4377 </thead> 4378 <tbody> 4379 <tr> 4380 <td>id</td> 4381 <td>INT</td> 4382 </tr> 4383 <tr> 4384 <td>type</td> 4385 <td>TEXT</td> 4386 </tr> 4387 <tr> 4388 <td>ts</td> 4389 <td>INT</td> 4390 </tr> 4391 <tr> 4392 <td>dur</td> 4393 <td>INT</td> 4394 </tr> 4395 <tr> 4396 <td>cpu</td> 4397 <td>INT</td> 4398 </tr> 4399 <tr> 4400 <td>itid</td> 4401 <td>INT</td> 4402 </tr> 4403 <tr> 4404 <td>tid</td> 4405 <td>INT</td> 4406 </tr> 4407 <tr> 4408 <td>pid</td> 4409 <td>INT</td> 4410 </tr> 4411 <tr> 4412 <td>state</td> 4413 <td>TEXT</td> 4414 </tr> 4415 </tbody> 4416 </table> 4417 <h4>表描述</h4> 4418 <p class="fontColor">记录了线程状态相关的数据。</p> 4419 <h4>字段详细描述</h4> 4420 <ul class="fontColor"> 4421 <li>id:线程状态在数据库中的id,从0开始序列增长</li> 4422 <li>ts:该线程状态的起始时间</li> 4423 <li>dur:该线程状态的持续时间</li> 4424 <li>cpu:该线程在哪个cpu上执行(针对running状态的线程)</li> 4425 <li>itid:该状态所属的线程id, 关联线程表中的id</li> 4426 <li>tid:线程号</li> 4427 <li>pid:进程号</li> 4428 <li>state:线程实际的的状态值</li> 4429 </ul> 4430 <pre 4431 data-role="codeBlock" 4432 data-info="" 4433 class="fontColor light smartperf-"><code class="fontColor">'R', Runnable状态 4434"S", interruptible sleep 4435"D", uninterruptible sleep 4436"D-IO", uninterruptible io 4437"D-NIO", uninterruptible nio 4438"Runing", Runing状态 4439"I", interrupted 4440"T", Traced 4441"X", ExitedDead 4442"Z", Zombie 4443"I", CloneThread 4444"I", TaskKilled 4445"DK", 4446"DK-IO", 4447"DK-NIO", 4448"TK", TracedKill 4449"R", WakeKill 4450"P", Parked 4451"R+", ForeGround 4452</code></pre> 4453 <h3>clock_snapshot表</h3> 4454 <h4>表结构</h4> 4455 <table class="fontColor"> 4456 <thead> 4457 <tr> 4458 <th class="fontColor">Columns Name</th> 4459 <th class="fontColor">SQL TYPE</th> 4460 </tr> 4461 </thead> 4462 <tbody> 4463 <tr> 4464 <td>clock_id</td> 4465 <td>INT</td> 4466 </tr> 4467 <tr> 4468 <td>ts</td> 4469 <td>INT</td> 4470 </tr> 4471 <tr> 4472 <td>clock_name</td> 4473 <td>TEXT</td> 4474 </tr> 4475 </tbody> 4476 </table> 4477 <h4>表描述</h4> 4478 <p class="fontColor">时钟号和时间,时钟名的映射表。</p> 4479 <h4>关键字段描述</h4> 4480 <ul class="fontColor"> 4481 <li>clock_id:时钟号</li> 4482 <li>ts:时钟快照报的时间</li> 4483 <li> 4484 clock_name:时钟号对应的时钟名字<br /> 4485 时钟快照是用来对齐不同时钟号的时间<br /> 4486 比如,时钟号1的时间100,和时钟号2的时间200对齐<br /> 4487 则时钟号为2 的250,转换为时钟号1的时间后,为150 4488 </li> 4489 </ul> 4490 <h3>datasource_clockid表</h3> 4491 <h4>表结构</h4> 4492 <table class="fontColor"> 4493 <thead> 4494 <tr> 4495 <th class="fontColor">Columns Name</th> 4496 <th class="fontColor">SQL TYPE</th> 4497 </tr> 4498 </thead> 4499 <tbody> 4500 <tr> 4501 <td>data_source_name</td> 4502 <td>TEXT</td> 4503 </tr> 4504 <tr> 4505 <td>clock_id</td> 4506 <td>INT</td> 4507 </tr> 4508 </tbody> 4509 </table> 4510 <h4>表描述</h4> 4511 <p class="fontColor">数据源和时钟号的映射表。</p> 4512 <h4>关键字段描述</h4> 4513 <ul class="fontColor"> 4514 <li>data_source_name:数据源的名称,和数据源的插件名保持一致</li> 4515 <li> 4516 clock_id:时钟号,对应clock_snapshot中的时钟号<br /> 4517 这个表是用来告诉IDE,不同的事件源的事件,原始时钟号是多少,在数据库中保存的事件,通常是转换为boottime后的时间,但有些情况下,IDE仍然需要知道原始的时钟号是怎样的 4518 </li> 4519 </ul> 4520 <h3>frame_slice表</h3> 4521 <h3>表结构</h3> 4522 <table class="fontColor"> 4523 <thead> 4524 <tr> 4525 <th class="fontColor">Columns Name</th> 4526 <th class="fontColor">SQL TYPE</th> 4527 </tr> 4528 </thead> 4529 <tbody> 4530 <tr> 4531 <td>ts</td> 4532 <td>INT</td> 4533 </tr> 4534 <tr> 4535 <td>vsync</td> 4536 <td>INT</td> 4537 </tr> 4538 <tr> 4539 <td>ipid</td> 4540 <td>INT</td> 4541 </tr> 4542 <tr> 4543 <td>itid</td> 4544 <td>INT</td> 4545 </tr> 4546 <tr> 4547 <td>callstack_id</td> 4548 <td>INT</td> 4549 </tr> 4550 <tr> 4551 <td>dur</td> 4552 <td>INT</td> 4553 </tr> 4554 <tr> 4555 <td>src</td> 4556 <td>TEXT</td> 4557 </tr> 4558 <tr> 4559 <td>dst</td> 4560 <td>INT</td> 4561 </tr> 4562 <tr> 4563 <td>type</td> 4564 <td>INT</td> 4565 </tr> 4566 <tr> 4567 <td>flag</td> 4568 <td>INT</td> 4569 </tr> 4570 <tr> 4571 <td>depth</td> 4572 <td>INT</td> 4573 </tr> 4574 <tr> 4575 <td>frame_no</td> 4576 <td>INT</td> 4577 </tr> 4578 </tbody> 4579 </table> 4580 <h4>表描述</h4> 4581 <p class="fontColor">应用的实际渲染帧和期望渲染帧的开始时间,持续时长,以及RenderService和App之间的关联关系。</p> 4582 <h4>关键字段描述</h4> 4583 <ul class="fontColor"> 4584 <li>callstack_id:该帧数据对应着callstack表的调用栈所在的行数</li> 4585 <li>dur:该帧渲染时长(当数据不完整时,改行数据为空)</li> 4586 <li>src:该帧是被哪一帧(该表中对应的行数)触发的,有多个值时,用逗号分割</li> 4587 <li>dst:该帧对应的渲染帧是哪一行</li> 4588 <li>type: 0 说明该行数据是实际渲染帧, 1 说明该行数据是期望渲染帧</li> 4589 <li> 4590 flag: 空时,为不完整的数据;0 表示实际渲染帧不卡帧, 1 表示实际渲染帧卡帧, 2 4591 表示数据不需要绘制(没有frameNum信息) 4592 </li> 4593 <li>depth:预留</li> 4594 <li>frame_no:预留</li> 4595 </ul> 4596 <h3>frame_maps表</h3> 4597 <h3>表结构</h3> 4598 <table class="fontColor"> 4599 <thead> 4600 <tr> 4601 <th class="fontColor">Columns Name</th> 4602 <th class="fontColor">SQL TYPE</th> 4603 </tr> 4604 </thead> 4605 <tbody> 4606 <tr> 4607 <td>ts</td> 4608 <td>INT</td> 4609 </tr> 4610 <tr> 4611 <td>src_row</td> 4612 <td>INT</td> 4613 </tr> 4614 <tr> 4615 <td>dst_row</td> 4616 <td>INT</td> 4617 </tr> 4618 </tbody> 4619 </table> 4620 <h4>表描述</h4> 4621 <p class="fontColor">该表记录了app到RenderService的帧的映射关系,同frame_slice表中的src映射到dst的关系。</p> 4622 <h4>关键字段描述</h4> 4623 <ul class="fontColor"> 4624 <li>src_row:frame_slice表中app的帧所在的行</li> 4625 <li>dst_row:frame_slice表中RenderService的帧所在的行</li> 4626 </ul> 4627 <h3>gpu_slice表</h3> 4628 <h3>表结构</h3> 4629 <table class="fontColor"> 4630 <thead> 4631 <tr> 4632 <th class="fontColor">Columns Name</th> 4633 <th class="fontColor">SQL TYPE</th> 4634 </tr> 4635 </thead> 4636 <tbody> 4637 <tr> 4638 <td>frame_row</td> 4639 <td>INT</td> 4640 </tr> 4641 <tr> 4642 <td>dur</td> 4643 <td>INT</td> 4644 </tr> 4645 </tbody> 4646 </table> 4647 <h4>表描述</h4> 4648 <p class="fontColor">该表记录了每一帧数据在GPU上的渲染时长。</p> 4649 <h4>关键字段描述</h4> 4650 <ul class="fontColor"> 4651 <li>frame_row:frame_slice表中渲染帧所在的行</li> 4652 <li>dur:帧渲染时长</li> 4653 </ul> 4654 <h3>trace_range表</h3> 4655 <h4>表结构</h4> 4656 <table class="fontColor"> 4657 <thead> 4658 <tr> 4659 <th class="fontColor">Columns Name</th> 4660 <th class="fontColor">SQL TYPE</th> 4661 </tr> 4662 </thead> 4663 <tbody> 4664 <tr> 4665 <td>start_ts</td> 4666 <td>INT</td> 4667 </tr> 4668 <tr> 4669 <td>end_ts</td> 4670 <td>INT</td> 4671 </tr> 4672 </tbody> 4673 </table> 4674 <h4>表描述</h4> 4675 <p class="fontColor">该表记录了解析开始时间以及结束时间。</p> 4676 <h4>关键字段描述</h4> 4677 <ul class="fontColor"> 4678 <li>start_ts:trace的开始时间,纳秒为单位</li> 4679 <li>end_ts:trace的结束时间,纳秒为单位</li> 4680 </ul> 4681 </div> 4682 4683 <script> 4684 window.onload = () => { 4685 let isDark = window.location.search; 4686 if (isDark.indexOf('?') != -1) { 4687 isDark = isDark.substr(1, isDark.length - 1); 4688 } 4689 if (isDark == 'true') { 4690 document.getElementById('body').setAttribute('style', 'background-color:#272C34;'); 4691 let header = document.getElementsByClassName('fontColor'); 4692 for (let i = 0; i < header.length; i++) { 4693 header[i].style.color = '#fff'; 4694 } 4695 let lightBackGround = document.getElementsByClassName('light'); 4696 for (let i = 0; i < lightBackGround.length; i++) { 4697 lightBackGround[i].style.backgroundColor = '#32373F'; 4698 } 4699 } 4700 }; 4701 </script> 4702 </body> 4703</html> 4704