<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>des_tables</title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <style>
    code[class*='smartperf-'],
    pre[class*='smartperf-'] {
      color: #333333;
      background: none;
      font-family: Helvetica;
      line-height: 1.6;
      text-align: left;
      white-space: pre;
      -moz-tab-size: 9;
      -o-tab-size: 9;
      tab-size: 8;
      -webkit-hyphens: none;
      -moz-hyphens: none;
      -ms-hyphens: none;
      hyphens: none;
    }

    /* Code blocks */
    pre[class*='smartperf-'] {
      padding: 0.9em;
      overflow: auto;
      border-radius: 2px;
      background: #f5f5f4;
    }

    /* Inline code */
    :not(pre)>code[class*='smartperf-'] {
      white-space: normal;
      background: #fcf8f8;
      padding: 1px 0.2em;
      border-radius: 1px 0.3em;
    }

    .tk.comment,
    .tk.blockquote {
      color: #8c918c;
    }

    .tk.cdata {
      color: #183898;
    }

    .tk.doctype,
    .tk.punctuation,
    .tk.variable,
    .tk.macro.property {
      color: #424242;
    }

    .tk.operator,
    .tk.important,
    .tk.keyword,
    .tk.rule,
    .tk.builtin {
      color: #b71d65;
    }

    .tk.string,
    .tk.url,
    .tk.regex,
    .tk.attr-value {
      color: #16338d;
    }

    .tk.property,
    .tk.number,
    .tk.boolean,
    .tk.entity,
    .tk.atrule,
    .tk.constant,
    .tk.symbol,
    .tk.command,
    .tk.code {
      color: #037aa2;
    }

    .tk.tag,
    .tk.selector,
    .tk.prolog {
      color: #69ad62;
    }

    .tk.function,
    .tk.namespace,
    .tk.pseudo-element,
    .tk.class,
    .tk.class-name,
    .tk.pseudo-class,
    .tk.id,
    .tk.url-reference .tk.variable,
    .tk.attr-name {
      color: #775d9d;
    }

    .tk.entity {
      cursor: help;
    }

    .tk.title,
    .tk.title .tk.punctuation {
      font-weight: bold;
      color: #1a3773;
    }

    .tk.list {
      color: #f56940;
    }

    .tk.inserted {
      background-color: #eaffea;
      color: #509b2f;
    }

    .tk.deleted {
      background-color: #fae1e1;
      color: #ad2d06;
    }

    .tk.bold {
      font-weight: bolder;
    }

    .tk.italic {
      font-style: normal;
    }

    /* JSON */
    .smartperf-json .tk.property {
      color: #19358c;
    }

    .smartperf-markup .tk.tag .tk.punctuation {
      color: #2c2b2b;
    }

    /* CSS */
    code.smartperf-css,
    .smartperf-css .tk.function {
      color: #047ca4;
    }

    /* YAML */
    .smartperf-yaml .tk.atrule {
      color: #609b5a;
    }

    code.smartperf-yaml {
      color: #153491;
    }

    /* Ruby */
    .smartperf-ruby .tk.function {
      color: #3f3e3e;
    }

    /* Markdown */
    .smartperf-markdown .tk.url {
      color: #6e5298;
    }

    /* Makefile */
    .smartperf-makefile .tk.symbol {
      color: #6c5393;
    }

    .smartperf-makefile .tk.variable {
      color: #183488;
    }

    .smartperf-makefile .tk.builtin {
      color: #027ba4;
    }

    /* Bash */
    .smartperf-bash .tk.keyword {
      color: #027fa9;
    }

    /* highlight */
    pre[dl] {
      position: relative;
      padding: 1em 1px 1px 0.9em;
    }

    pre[dl] .line-highlight-wrapper {
      position: absolute;
      top: 1px;
      left: 1px;
      background-color: transparent;
      display: block;
      width: 99%;
    }

    pre[dl] .line-highlight {
      position: absolute;
      left: 1px;
      right: 1px;
      padding: inherit;
      margin-top: 0.9em;
      background: hsla(25, 21%, 50%, 0.08);
      background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));
      pointer-events: none;
      line-height: inherit;
      white-space: pre;
    }

    pre[dl] .line-highlight:before,
    pre[dl] .line-highlight[data-end]:after {
      content: attr(data-start);
      position: absolute;
      text-shadow: none;
      top: 0.3em;
      left: 0.7em;
      min-width: 0.9em;
      padding: 1px 0.6em;
      background-color: hsla(24, 20%, 47%, 0.4);
      color: hsl(20, 11%, 95%);
      text-align: center;
      vertical-align: 0.2em;
      border-radius: 10000px;
      box-shadow: 1px 2px #fdf6f6;
    }

    pre[dl] .line-highlight[data-end]:after {
      content: attr(data-end);
      top: auto;
      bottom: 0.5em;
    }

    html body {
      line-height: 1.6;
      font-size: 16px;
      color: #333333;
      overflow: initial;
      word-wrap: break-word;
      font-family: Helvetica;
      box-sizing: border-box;
    }

    html body> :first-child {
      margin-top: 0px;
    }

    html body h1,
    html body h2,
    html body h3,
    html body h4,
    html body h5,
    html body h6 {
      margin-top: 1em;
      margin-bottom: 16px;
      color: #000000;
      line-height: 1.2;
    }

    html body h1 {
      font-weight: 300;
      font-size: 2.25em;
      padding-bottom: 0.3em;
    }

    html body h2 {
      font-weight: 410;
      font-size: 1.74em;
      padding-bottom: 0.2em;
    }

    html body h3 {
      font-size: 1.6em;
      font-weight: 501;
    }

    html body h4 {
      font-size: 1.26em;
      font-weight: 601;
    }

    html body h5 {
      font-size: 1.2em;
      font-weight: 601;
    }

    html body h6 {
      font-size: 0.9em;
      font-weight: 601;
    }

    html body h1,
    html body h2,
    html body h3,
    html body h4,
    html body h5 {
      font-weight: 601;
    }

    html body h5 {
      font-size: 0.9em;
    }

    html body h6 {
      color: #5c5c5c;
    }

    html body strong {
      color: #090909;
    }

    html body del {
      color: #525252;
    }

    html body a:not([href]) {
      color: inherit;
      text-decoration: none;
    }

    html body a {
      color: #0192da;
      text-decoration: none;
    }

    html body a:hover {
      color: #029dea;
      text-decoration: none;
    }

    html body img {
      max-width: 99%;
    }

    html body>p {
      margin-top: 1px;
      margin-bottom: 15px;
      word-wrap: break-word;
    }

    html body>ul,
    html body>ol {
      margin-bottom: 15px;
    }

    html body ul,
    html body ol {
      padding-left: 1.9em;
    }

    html body ul.no-list,
    html body ol.no-list {
      padding: 0px;
      list-style-type: none;
    }

    html body ul ul,
    html body ul ol,
    html body ol ol,
    html body ol ul {
      margin-top: 1px;
      margin-bottom: 1px;
    }

    html body li {
      margin-bottom: 1px;
    }

    html body li.task-list-item {
      list-style: none;
    }

    html body li>p {
      margin-top: 1px;
      margin-bottom: 1px;
    }

    html body .task-list-item-checkbox {
      margin: 0 0.3em 0.24em -1.7em;
      vertical-align: middle;
    }

    html body .task-list-item-checkbox:hover {
      cursor: pointer;
    }

    html body blockquote {
      padding: 0.1px 15px 0 0.1px;
      font-size: inherit;
      color: #5c5c5c;
      margin: 16px 0.1px 0 0.1px;
      border-left: 3px solid #cbc9c9;
      background-color: #e8e6e6;
    }

    html body blockquote> :first-child {
      margin-top: 0.2px;
    }

    html body blockquote> :last-child {
      margin-bottom: 0.1px;
    }

    html body hr {
      height: 5px;
      background-color: #cbcaca;
      margin: 32px 0 0.1px 0;
      border: 0 none;
    }

    html body table {
      overflow: auto;
      border-collapse: collapse;
      margin: 15px 0.1px 20px 0.1px;
      border-spacing: 0;
    }

    html body table th {
      font-weight: bold;
      color: #000000;
    }

    html body table td,
    html body table th {
      border: 1px solid #d6d6d6;
      padding: 2px 14px;
    }

    html body dl {
      padding: 0px;
    }

    html body dl dt {
      padding: 0px;
      margin-top: 15px;
      font-size: 0.9em;
      font-style: italic;
      font-weight: bold;
    }

    html body dl dd {
      padding: 0px 17px;
      margin-bottom: 17px;
    }

    html body code {
      font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
      font-size: 0.86em !important;
      color: #000000;
      background-color: #f0f0f0;
      border-radius: 4px;
      padding: 0.3em 0px;
    }

    html body code::before,
    html body code::after {
      letter-spacing: -0.1em;
      content: '\00a0';
    }

    html body pre>code {
      padding: 1px;
      margin: 0px;
      font-size: 0.86em !important;
      word-break: normal;
      white-space: pre;
      background: transparent;
      border: 0px;
    }

    html body .highlight {
      margin-bottom: 17px;
    }

    html body .highlight pre,
    html body pre {
      padding: 0.9em;
      overflow: auto;
      font-size: 0.86em !important;
      line-height: 1.46;
      border: #d6d6d6;
      border-radius: 4px;
    }

    html body .highlight pre {
      margin-bottom: 0px;
      word-break: normal;
    }

    html body pre code,
    html body pre tt {
      display: inline;
      max-width: initial;
      padding: 1px;
      margin: 1px;
      overflow: initial;
      line-height: inherit;
      word-wrap: normal;
      background-color: transparent;
      border: 1px;
    }

    html body pre code:before,
    html body pre tt:before,
    html body pre code:after,
    html body pre tt:after {
      content: normal;
    }

    html body p,
    html body blockquote,
    html body ul,
    html body ol,
    html body dl,
    html body pre {
      margin-top: 1px;
      margin-bottom: 17px;
    }

    html body kbd {
      color: #000000;
      border: 3px solid #d6d6d6;
      border-bottom: 3px solid #c7c7c7;
      padding: 3px 5px;
      background-color: #f0f0f0;
      border-radius: 2px;
    }

    @media print {
      html body {
        background-color: #ffffff;
      }

      html body h1,
      html body h2,
      html body h3,
      html body h4,
      html body h5,
      html body h6 {
        color: #000000;
        page-break-after: avoid;
      }

      html body blockquote {
        color: #5c5c53;
      }

      html body pre {
        page-break-inside: avoid;
      }

      html body table {
        display: table;
      }

      html body img {
        display: block;
        max-width: 99%;
        max-height: 99%;
      }

      html body pre,
      html body code {
        word-wrap: break-word;
        white-space: pre;
      }
    }

    .smartperf-preview {
      width: 98vw;
      height: 99%;
      box-sizing: border-box;
      overflow: hidden;
      background-color: #fff;
    }

    .smartperf-preview .pagebreak,
    .smartperf-preview .newpage {
      page-break-before: always;
    }

    .smartperf-preview pre.line-numbers {
      position: relative;
      padding-left: 3.7em;
      counter-reset: linenumber;
    }

    .smartperf-preview pre.line-numbers>code {
      position: relative;
    }

    .smartperf-preview pre.line-numbers .line-numbers-rows {
      position: absolute;
      pointer-events: none;
      top: 0.9em;
      font-size: 99%;
      left: 1px;
      width: 3em;
      letter-spacing: -1px;
      border-right: 1px solid #999;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }

    .smartperf-preview pre.line-numbers .line-numbers-rows>span {
      pointer-events: none;
      display: block;
      counter-increment: linenumber;
    }

    .smartperf-preview pre.line-numbers .line-numbers-rows>span:before {
      content: counter(linenumber);
      color: #999;
      display: block;
      padding-right: 0.79em;
      text-align: right;
    }

    .smartperf-preview .mathjax-exps .MathJax_Display {
      text-align: center !important;
    }

    .smartperf-preview:not([for='preview']) .code-chunk .btn-group {
      display: none;
    }

    .smartperf-preview:not([for='preview']) .code-chunk .status {
      display: none;
    }

    .smartperf-preview:not([for='preview']) .code-chunk .output-div {
      margin-bottom: 16px;
    }

    .scrollbar-style::-webkit-scrollbar {
      width: 8px;
    }

    .scrollbar-style::-webkit-scrollbar-track {
      border-radius: 9px;
      background-color: transparent;
    }

    .scrollbar-style::-webkit-scrollbar-thumb {
      border-radius: 6px;
      background-color: rgba(150, 150, 150, 1);
      border: 4px solid rgba(150, 150, 150, 1);
      background-clip: content-box;
    }

    html body[for='html-export']:not([dpm]) {
      position: relative;
      width: 99%;
      height: 99%;
      ;
      overflow: auto;
    }

    html body[for='html-export']:not([dpm]) .smartperf-preview {
      position: relative;
      top: 1px;
    }

    @media screen and (min-width: 914px) {
      html body[for='html-export']:not([dpm]) .smartperf-preview {
        padding: 2em;
      }
    }

    @media screen and (max-width: 914px) {
      html body[for='html-export']:not([dpm]) .smartperf-preview {
        padding: 1.9em;
      }
    }

    @media screen and (max-width: 450px) {
      html body[for='html-export']:not([dpm]) .smartperf-preview {
        font-size: 15px !important;
        padding: 1.1em;
      }
    }

    @media print {
      html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
        display: none;
      }
    }

    html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
      position: fixed;
      bottom: 9px;
      left: 9px;
      font-size: 28px;
      cursor: pointer;
      color: inherit;
      z-index: 99;
      width: 31px;
      text-align: center;
      opacity: 0.5;
    }

    html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn {
      opacity: 1;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc {
      position: fixed;
      top: 1px;
      left: 1px;
      width: 300px;
      height: 99%;
      padding: 32px 0 48px 0;
      font-size: 14px;
      box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33);
      box-sizing: border-box;
      overflow: auto;
      background-color: inherit;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar {
      width: 9px;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track {
      border-radius: 11px;
      background-color: transparent;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb {
      border-radius: 6px;
      background-color: rgba(150, 150, 150, 0.66);
      border: 3px solid rgba(150, 150, 150, 0.66);
      background-clip: content-box;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a {
      text-decoration: none;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
      padding: 1px 1.7em;
      margin-top: 0.9em;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li {
      margin-bottom: 0.8em;
    }

    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
      list-style-type: none;
    }

    html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
      left: 301px;
      width: calc(100% - 300px);
      padding: 2em calc(50% - 457px - 150px);
      margin: 1px;
      box-sizing: border-box;
    }

    @media screen and (max-width: 1274px) {
      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
        padding: 1.9em;
      }
    }

    @media screen and (max-width: 450px) {
      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
        width: 99%;
      }
    }

    html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc {
      display: none;
    }
  </style>
</head>

<body for="html-export" id="body" style="margin:0">
  <div class="smartperf smartperf-preview" style="min-height: 99vh;">
    <h1 class="mume-header fontColor">TraceStreamer数据表概述</h1>

    <p class="fontColor">
      TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。
    </p>
    <h2 class="mume-header fontColor" id="header-index-1">TraceStreamer输出的数据表分类</h2>

    <ul class="fontColor">
      <li>常规泳道图数据表<br>
        <img src="../figures/traceStreamer/db_common.png" alt="GitHub Logo">
      </li>
      <li>native memory数据源相关表<br>
        <img src="../figures/traceStreamer/db_native_memory.png" alt="GitHub Logo">
      </li>
      <li>perf相关数据表<br>
        <img src="../figures/traceStreamer/db_hiperf.png" alt="GitHub Logo">
      </li>
      <li>hisysevent相关数据表<br>
        <img src="../figures/traceStreamer/db_hisys_event.png" alt="GitHub Logo">
      </li>
    </ul>
    <h2 class="mume-header fontColor" id="header-index-2">TraceStreamer输出数据库包含以下表格</h2>

    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">表名称</th>
          <th class="fontColor">作用</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>animation</td>
          <td>记录动效的响应时延和完成时延</td>
        </tr>
        <tr>
          <td>app_name</td>
          <td>记录HiSysEvent事件的事件名与IDE部分事件的字段名为APPNAME中存放的相关信息的映射关系</td>
        </tr>
        <tr>
          <td>app_startup</td>
          <td>记录了应用启动相关数据</td>
        </tr>
        <tr>
          <td>args</td>
          <td>记录方法参数集合</td>
        </tr>
        <tr>
          <td>bio_latency_sample</td>
          <td>记录IO操作相关方法调用,及调用栈数据</td>
        </tr>
        <tr>
          <td>callstack</td>
          <td>
            记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号
          </td>
        </tr>
        <tr>
          <td>clk_event_filter</td>
          <td>记录时钟相关的信息</td>
        </tr>
        <tr>
          <td>clock_event_filter</td>
          <td>此结构用来维护时钟事件,cpu与唯一的ID做关联</td>
        </tr>
        <tr>
          <td>clock_snapshot</td>
          <td>时钟号和时间,时钟名的映射表</td>
        </tr>
        <tr>
          <td>cpu_measure_filter</td>
          <td>cpu事件过滤器表</td>
        </tr>
        <tr>
          <td>cpu_usage</td>
          <td>记录CPU使用率事件</td>
        </tr>
        <tr>
          <td>datasource_clockid</td>
          <td>数据源和时钟号的映射表</td>
        </tr>
        <tr>
          <td>data_dict</td>
          <td>记录常用的字符串,将字符串和索引关联,降低程序运行的内存占用,用作辅助数据</td>
        </tr>
        <tr>
          <td>data_type</td>
          <td>记录数据类型和typeId的关联关系</td>
        </tr>
        <tr>
          <td>device_info</td>
          <td>记录设备分辨率和帧率</td>
        </tr>
        <tr>
          <td>device_state</td>
          <td>记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息</td>
        </tr>
        <tr>
          <td>diskio</td>
          <td>记录磁盘读写数据事件</td>
        </tr>
        <tr>
          <td>dynamic_frame</td>
          <td>记录动效帧的分辨率和结束时间等</td>
        </tr>
        <tr>
          <td>ebpf_callstack</td>
          <td>记录了采样相关信息</td>
        </tr>
        <tr>
          <td>file_system_sample</td>
          <td>记录了调用栈的相关信息</td>
        </tr>
        <tr>
          <td>frame_maps</td>
          <td>记录应用到RS的帧的映射关系</td>
        </tr>
        <tr>
          <td>frame_slice</td>
          <td>记录RS(RenderService)和应用的帧渲染</td>
        </tr>
        <tr>
          <td>gpu_slice</td>
          <td>记录RS的帧对应的gpu渲染时长</td>
        </tr>
        <tr>
          <td>hidump</td>
          <td>记录FPS(Frame Per Second)数据</td>
        </tr>
        <tr>
          <td>hisys_all_event</td>
          <td>记录了所有HiSysEvent事件相关的原始数据</td>
        </tr>
        <tr>
          <td>hisys_event_measure</td>
          <td>记录了HiSysEvent事件相关数据,目前HiSysEvent事件包括了异常事件,IDE事件,器件状态事件</td>
        </tr>
        <tr>
          <td>instant</td>
          <td>记录Sched_waking, sched_wakeup事件, 用作ThreadState表的上下文使用</td>
        </tr>
        <tr>
          <td>irq</td>
          <td>记录中断相关事件</td>
        </tr>
        <tr>
          <td>js_config</td>
          <td>记录了arkTs数据采集的相关配置</td>
        </tr>
        <tr>
          <td>js_cpu_profiler_node</td>
          <td>记录了cpu profiler中node节点的数据</td>
        </tr>
        <tr>
          <td>js_cpu_profiler_sample</td>
          <td>记录了cpu profiler中sample节点的数据</td>
        </tr>
        <tr>
          <td>js_heap_edges</td>
          <td>记录了js内存数据类对象对应的成员的信息</td>
        </tr>
        <tr>
          <td>js_heap_files</td>
          <td>记录了js内存数据的名称和时间</td>
        </tr>
        <tr>
          <td>js_heap_info</td>
          <td>记录了js内存数据类型,如nodes和edges的字段类型和数据总数</td>
        </tr>
        <tr>
          <td>js_heap_location</td>
          <td>记录了js内存location节点相关数据</td>
        </tr>
        <tr>
          <td>js_heap_nodes</td>
          <td>记录了js内存类对象和其成员的对应关系</td>
        </tr>
        <tr>
          <td>js_heap_sample</td>
          <td>记录了timeline模式下的时间轴信息</td>
        </tr>
        <tr>
          <td>js_heap_string</td>
          <td>记录了js内存数据中的字符串</td>
        </tr>
        <tr>
          <td>js_heap_trace_function_info</td>
          <td>记录了timeline模式下的调用栈的每个函数信息</td>
        </tr>
        <tr>
          <td>js_heap_trace_node</td>
          <td>记录了timeline模式下的调用栈信息</td>
        </tr>
        <tr>
          <td>live_process</td>
          <td>记录了一些实时的进程中执行的一些数据</td>
        </tr>
        <tr>
          <td>log</td>
          <td>记录hilog打印日志数据</td>
        </tr>
        <tr>
          <td>measure</td>
          <td>记录所有的计量值</td>
        </tr>
        <tr>
          <td>measure_filter</td>
          <td>
            记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录
          </td>
        </tr>
        <tr>
          <td>memory_ashmem</td>
          <td>记录了进程所占用的ashmem相关信息</td>
        </tr>
        <tr>
          <td>memory_dma</td>
          <td>记录了进程占用的DMA内存相关信息</td>
        </tr>
        <tr>
          <td>memory_process_gpu</td>
          <td>记录进程占用GPU内存相关信息</td>
        </tr>
        <tr>
          <td>memory_window_gpu</td>
          <td>记录窗口占用GPU内存相关信息</td>
        </tr>
        <tr>
          <td>meta</td>
          <td>记录执行解析操作相关的基本信息</td>
        </tr>
        <tr>
          <td>native_hook</td>
          <td>记录堆内存申请与释放相关的数据</td>
        </tr>
        <tr>
          <td>native_hook_frame</td>
          <td>记录堆内存申请与释放相关的调用栈</td>
        </tr>
        <tr>
          <td>native_hook_statistic</td>
          <td>记录堆内存申请与释放相关的统计信息</td>
        </tr>
        <tr>
          <td>network</td>
          <td>抓取网络信息传输时产生的一些相关信息</td>
        </tr>
        <tr>
          <td>paged_memory_sample</td>
          <td>记录内存操作相关方法调用,及调用栈数据</td>
        </tr>
        <tr>
          <td>perf_callchain</td>
          <td>记录Hiperf采样数据的调用栈信息</td>
        </tr>
        <tr>
          <td>perf_files</td>
          <td>记录Hiperf工具采集到的函数符号表和文件名</td>
        </tr>
        <tr>
          <td>perf_report</td>
          <td>记录Hiperf工具采集数据时的配置信息。包括抓取的事件类型,抓取数据的命令,
            抓数据时指定的进程名称
          </td>
        </tr>
        <tr>
          <td>perf_sample</td>
          <td>记录Hiperf工具的采样信息</td>
        </tr>
        <tr>
          <td>perf_thread</td>
          <td>记录Hiperf工具采集到的进程和线程数据</td>
        </tr>
        <tr>
          <td>process</td>
          <td>记录所有的进程信息</td>
        </tr>
        <tr>
          <td>process_measure</td>
          <td>保存进程的所有计量值</td>
        </tr>
        <tr>
          <td>process_measure_filter</td>
          <td>将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id</td>
        </tr>
        <tr>
          <td>raw</td>
          <td>此数据结构主要作为ThreadState的上下文使用,这张表是sched_waking,sched_wakup,
            cpu_idle事件的原始记录
          </td>
        </tr>
        <tr>
          <td>sched_slice</td>
          <td>此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录</td>
        </tr>
        <tr>
          <td>smaps</td>
          <td>记录进程的内存消耗的相关信息采样</td>
        </tr>
        <tr>
          <td>stat</td>
          <td>
            此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解
          </td>
        </tr>
        <tr>
          <td>static_initalize</td>
          <td>记录了so初始化相关数据</td>
        </tr>
        <tr>
          <td>memory_cpu</td>
          <td>记录了cpu内存数据</td>
        </tr>
        <tr>
          <td>memory_profile</td>
          <td>记录了sys/kernel/debug/mali0/ctx/$(pidof xxx)/mem_profile节点相关数据</td>
        </tr>
        <tr>
          <td>memory_rs_image</td>
          <td>记录了hidumper抓取的界面的内存大小相关数据</td>
        </tr>
        <tr>
          <td>symbols</td>
          <td>记录系统调用名称和其函数指针的对应关系,trace中用addr来映射function_name来节省存储空间</td>
        </tr>
        <tr>
          <td>syscall</td>
          <td>记录用户空间函数与内核空间函数相互调用记录</td>
        </tr>
        <tr>
          <td>sys_event_filter</td>
          <td>记录所有的filter</td>
        </tr>
        <tr>
          <td>sys_mem_measure</td>
          <td>记录了所有的系统内存相关的测量信息</td>
        </tr>
        <tr>
          <td>task_pool</td>
          <td>记录任务池相关数据,与callstack表相关联</td>
        </tr>
        <tr>
          <td>thread</td>
          <td>记录所有的线程信息</td>
        </tr>
        <tr>
          <td>thread_state</td>
          <td>记录线程状态信息</td>
        </tr>
        <tr>
          <td>trace_config</td>
          <td>记录trace数据源,proto的事件-plugin与其process_name</td>
        </tr>
        <tr>
          <td>trace_range</td>
          <td>记录ftrace数据与其他类型数据的时间交集,供前端展示数据时使用</td>
        </tr>
      </tbody>
    </table>
    <h2 class="mume-header fontColor" id="header-index-3">表与事件来源</h2>

    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">表名称</th>
          <th class="fontColor">事件源</th>
          <th class="fontColor">插件名</th>
          <th class="fontColor">备注</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>animation</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>记录动效的响应时延和完成时延</td>
        </tr>
        <tr>
          <td>app_name</td>
          <td>-</td>
          <td>hisysevent-plugin</td>
          <td>JSON数据源</td>
        </tr>
        <tr>
          <td>app_startup</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>记录应用启动的相关信息</td>
        </tr>
        <tr>
          <td>args</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>配合callstack使用</td>
        </tr>
        <tr>
          <td>bio_latency_sample</td>
          <td>-</td>
          <td>ebpf</td>
          <td>IO操作相关方法调用,及调用栈数据</td>
        </tr>
        <tr>
          <td>callstack</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>异步或非异步的调用</td>
        </tr>
        <tr>
          <td>clk_event_filter</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>记录时钟相关的信息</td>
        </tr>
        <tr>
          <td>clock_event_filter</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>维护时钟事件</td>
        </tr>
        <tr>
          <td>clock_snapshot</td>
          <td>-</td>
          <td>公共</td>
          <td>时钟号和时间</td>
        </tr>
        <tr>
          <td>cpu_measure_filter</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>cpu跟踪器,cpu频率等</td>
        </tr>
        <tr>
          <td>cpu_usage</td>
          <td>-</td>
          <td>cpu-plugin</td>
          <td>cpu使用率</td>
        </tr>
        <tr>
          <td>data_dict</td>
          <td>通用的</td>
          <td>公共</td>
          <td>所有字符串的记录</td>
        </tr>
        <tr>
          <td>data_type</td>
          <td>通用的</td>
          <td>公共</td>
          <td>辅助表</td>
        </tr>
        <tr>
          <td>datasource_clockid</td>
          <td>通用的</td>
          <td>公共</td>
          <td>数据源和时钟号的映射表</td>
        </tr>
        <tr>
          <td>device_info</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>记录设备分辨率和帧率</td>
        </tr>
        <tr>
          <td>device_state</td>
          <td>通用的</td>
          <td>hisysevent-plugin</td>
          <td>记录设备屏幕亮度,蓝牙,位置等信息</td>
        </tr>
        <tr>
          <td>diskio</td>
          <td>-</td>
          <td>diskio-plugin</td>
          <td>记录磁盘读写数据</td>
        </tr>
        <tr>
          <td>dma_fence</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>dma_fence数据</td>
        </tr>
        <tr>
          <td>dynamic_frame</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>动效帧的分辨率和结束时间等</td>
        </tr>
        <tr>
          <td>ebpf_callstack</td>
          <td>-</td>
          <td>ebpf</td>
          <td>磁盘读写相关的数据</td>
        </tr>
        <tr>
          <td>file_system_sample</td>
          <td>-</td>
          <td>ebpf</td>
          <td>ebpf文件系统</td>
        </tr>
        <tr>
          <td>frame_maps</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>帧渲染数据,app到RS的映射</td>
        </tr>
        <tr>
          <td>frame_slice</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>帧渲染数据</td>
        </tr>
        <tr>
          <td>gpu_slice</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>gpu渲染时长</td>
        </tr>
        <tr>
          <td>hidump</td>
          <td>-</td>
          <td>hidump-plugin</td>
          <td>FPS数据</td>
        </tr>
        <tr>
          <td>hisys_all_event</td>
          <td>-</td>
          <td>hisysevent-plugin</td>
          <td>JSON数据源</td>
        </tr>
        <tr>
          <td>hisys_event_measure</td>
          <td>-</td>
          <td>hisysevent-plugin</td>
          <td>JSON数据源</td>
        </tr>
        <tr>
          <td>instant</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>waking和wakeup事件</td>
        </tr>
        <tr>
          <td>irq</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>记录中断事件</td>
        </tr>
        <tr>
          <td>js_config</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>arkTs数据采集的配置</td>
        </tr>
        <tr>
          <td>js_cpu_profiler_node</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>记录了cpu profiler中node节点的数据</td>
        </tr>
        <tr>
          <td>js_cpu_profiler_sample</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>记录了cpu profiler中sample节点的数据</td>
        </tr>
        <tr>
          <td>js_heap_edges</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_files</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_info</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_location</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_nodes</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_sample</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_string</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_trace_function_info</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>js_heap_trace_node</td>
          <td>-</td>
          <td>arkts-plugin</td>
          <td>js内存数据</td>
        </tr>
        <tr>
          <td>live_process</td>
          <td>-</td>
          <td>process-plugin</td>
          <td>实时进程执行数据</td>
        </tr>
        <tr>
          <td>log</td>
          <td>-</td>
          <td>hilog-plugin</td>
          <td>系统日志</td>
        </tr>
        <tr>
          <td>measure</td>
          <td>-</td>
          <td>ftrace-plugin,memory-plugin</td>
          <td>系统中的计量值(数值型)</td>
        </tr>
        <tr>
          <td>measure_filter</td>
          <td>-</td>
          <td>ftrace-plugin,memory-plugin</td>
          <td>计量值的查询辅助表 </td>
        </tr>
        <tr>
          <td>memory_ashmem</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>进程所占用ashmem相关信息</td>
        </tr>
        <tr>
          <td>memory_cpu</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>cpu内存数据</td>
        </tr>
        <tr>
          <td>memory_dma</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>进程占用的DMA内存相关信息</td>
        </tr>
        <tr>
          <td>memory_process_gpu</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>进程占用GPU内存相关信息</td>
        </tr>
        <tr>
          <td>memory_profile</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>/sys/kernel/debug/mali0/ctx/$(pidof xxx)/mem_profile节点相关数据</td>
        </tr>
        <tr>
          <td>memory_rs_image</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>界面内存大小数据</td>
        </tr>
        <tr>
          <td>memory_window_gpu</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>窗口占用GPU内存相关信息</td>
        </tr>
        <tr>
          <td>meta</td>
          <td>通用的</td>
          <td>公共</td>
          <td>记录解析现场数据(解析时间,数据类型,解析工具等)</td>
        </tr>
        <tr>
          <td>native_hook</td>
          <td>-</td>
          <td>nativehook/hookdaemon</td>
          <td>malloc &amp;&amp; mmap内存数据</td>
        </tr>
        <tr>
          <td>native_hook_frame</td>
          <td>-</td>
          <td>nativehook/hookdaemon</td>
          <td>native_hook调用栈数据</td>
        </tr>
        <tr>
          <td>native_hook_statistic</td>
          <td>-</td>
          <td>nativehook/hookdaemon</td>
          <td>malloc &amp;&amp; mmap统计数据</td>
        </tr>
        <tr>
          <td>network</td>
          <td>-</td>
          <td>network-plugin</td>
          <td>记录网络数据传输相关的信息</td>
        </tr>
        <tr>
          <td>paged_memory_sample</td>
          <td>-</td>
          <td>ebpf</td>
          <td>调用栈信息</td>
        </tr>
        <tr>
          <td>perf_callchain</td>
          <td>-</td>
          <td>hiperf-plugin</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>perf_files</td>
          <td>-</td>
          <td>hiperf-plugin</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>perf_napi_async</td>
          <td>-</td>
          <td>公共</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>perf_report</td>
          <td>-</td>
          <td>hiperf-plugin</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>perf_sample</td>
          <td>-</td>
          <td>hiperf-plugin</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>perf_thread</td>
          <td>-</td>
          <td>hiperf-plugin</td>
          <td>perf数据</td>
        </tr>
        <tr>
          <td>process</td>
          <td>-</td>
          <td>公共</td>
          <td>进程信息</td>
        </tr>
        <tr>
          <td>process_measure</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>进程内存</td>
        </tr>
        <tr>
          <td>process_measure_filter</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>process_measure的辅助表</td>
        </tr>
        <tr>
          <td>raw</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>线程唤醒信息</td>
        </tr>
        <tr>
          <td>sched_slice</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>配合线程状态表使用,sched_switch的原始数据</td>
        </tr>
        <tr>
          <td>smaps</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>进程的内存消耗</td>
        </tr>
        <tr>
          <td>stat</td>
          <td>通用的</td>
          <td>公共</td>
          <td>记录不同种类数据的数据量</td>
        </tr>
        <tr>
          <td>static_initalize</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>so初始化数据</td>
        </tr>
        <tr>
          <td>symbols</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>符号表(地址到字符串的映射)</td>
        </tr>
        <tr>
          <td>sys_event_filter</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>filter信息</td>
        </tr>
        <tr>
          <td>sys_mem_measure</td>
          <td>-</td>
          <td>memory-plugin</td>
          <td>系统内存</td>
        </tr>
        <tr>
          <td>syscall</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>系统调用 sys_enter/exit</td>
        </tr>
        <tr>
          <td>task_pool</td>
          <td>-</td>
          <td>ftrace-plugin</td>
          <td>任务池数据</td>
        </tr>
        <tr>
          <td>thread</td>
          <td>通用的</td>
          <td>公共</td>
          <td>线程信息(常用)</td>
        </tr>
        <tr>
          <td>thread_state</td>
          <td>通用的</td>
          <td>ftrace-plugin</td>
          <td>线程调度图(常用)</td>
        </tr>
        <tr>
          <td>trace_config</td>
          <td>通用的</td>
          <td>memory-plugin,hisysevent-plugin</td>
          <td>记录trace数据源</td>
        </tr>
        <tr>
          <td>trace_range</td>
          <td>通用的</td>
          <td>公共</td>
          <td>trace数据的时长</td>
        </tr>
        <tr>
          <td>xpower_measure</td>
          <td>-</td>
          <td>xpower-plugin</td>
          <td>设备信息</td>
        </tr>
      </tbody>
    </table>
    <h2 class="mume-header fontColor" id="header-index-4"><em><strong>表格关系图</strong></em></h2>

    <hr>
    <h3 class="mume-header fontColor" id="header-index-5">进程表与线程表关系</h3>

    <p class="fontColor">当一个进程或者线程结束后,系统可能再次将该进程号或者线程号分配给其他进程或者线程,造成一个进程号或线程号代表多个进程或线程的情况。<br>
      Process和Thread表中的id字段可以唯一标识进程和线程。process表中的id在其他表中用作ipid字段。thread表中的id在其他表中用作itid字段。<br>
      thread表通过ipid字段关联process表的id字段,可以查询线程归属进程。<br>
      <img src="../figures/traceStreamer/process_thread.png" alt="GitHub Logo">
    </p>
    <h3 class="mume-header fontColor">查询举例</h3>

    <ul class="fontColor">
      <li>已知pid = 123,查看当前进程下的所有线程信息,可以使用如下SQL语句:<br>
        <code class="fontColor">select thread.* from thread, process where process.pid = 123 and
            thread.ipid = process.id</code>
      </li>
    </ul>
    <h3 id="header-index-6">线程表与线程运行状态表关系图</h3>
    <p class="fontColor">thread_state表记录所有线程的运行状态信息,包含ts(状态起始时间),dur(状态持续时间),cpu,
      itid, state(线程状态)。 thread表的id字段与thread_state表的itid字段相关联。<br>
      <img src="../figures/traceStreamer/thread_state.png" alt="GitHub Logo">
    </p>
    <h3>查询举例</h3>
    <ul class="fontColor">
      <li>已知tid = 123, 查看当前线程的所有运行状态信息,可以使用如下SQL语句:<br>
        <code class="fontColor">select thread_state.* from thread, thread_state where thread.tid = 123
            and thread.id = thread_state.itid</code>
      </li>
    </ul>
    <h3 class="mume-header fontColor" id="header-index-7">堆内存数据变化表关系图</h3>

    <p class="fontColor">
      native_hook表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook表通过ipid和itid字段分别与process和thread表的id字段关联,通过callchain_id与native_hook_frame表的callchain_id字段相关联。<br>
      native_hook表字段解释如下:</p>
    <ul class="fontColor">
      <li>callchain_id:唯一标识一次堆内存申请或释放,
        通过与native_hook_frame表关联可以拿到当前申请或释放的函数调用堆栈。
      </li>
      <li>addr:堆内存申请/释放的地址。</li>
      <li>native_hook_size:堆内存申请/释放的大小。</li>
    </ul>
    <p class="fontColor">
      native_hook_frame表记录内存申请/释放的调用堆栈。通过callchain_id区分一组调用堆栈,depth为堆栈深度,depth为0时,表示当前行为栈顶数据。<br>
      <img src="../figures/traceStreamer/dump_and_mem.png" alt="GitHub Logo">
    </p>
    <p class="fontColor">
      native_hook_statistic表记录内存申请/释放的统计信息。通过callchain_id区分一组调用堆栈。每个统计事件将记录当前事件的callchain_id,并统计当前调用栈内存分配/释放的总次数和总大小。<br>
      <img src="../figures/traceStreamer/db_native_hook_statistic.png" alt="GitHub Logo">
    </p>
    <h3 class="mume-header fontColor">查询举例</h3>

    <ul class="fontColor">
      <li>已知tid = 123,查看当前线程的所有堆内存变化信息,可以使用如下SQL语句:<br>
        <code class="fontColor">select native_hook.* from thread, native_hook where thread.tid = 123
            and thread.id = native_hook.itid</code>
      </li>
      <li>已知callchain_id = 1, 查看当前内存变化调用堆栈<br>
        <code class="fontColor">select * from native_hook_frame where callchain_id = 1</code>
      </li>
      <li>已知callchain_id = 1, 查看当前内存变化调用堆栈对应的统计信息<br>
        <code class="fontColor">select * from native_hook_statistic where callchain_id = 1</code>
      </li>
    </ul>
    <h3 id="header-index-8">日志表与进程线程表关系图</h3>
    <p class="fontColor">log表记录日志信息。可以根据seq字段的连续性,来判断是否存在日志丢失的情况。<br>
      <img src="../figures/traceStreamer/log.png" alt="GitHub Logo">
    </p>
    <h3>查询举例</h3>
    <ul class="fontColor">
      <li>已知tid = 123,查看当前线程的所有error级别的日志,可以使用如下SQL语句:<br>
        <code class="fontColor">select * from log where tid = 123 and level = "error"</code>
      </li>
    </ul>
    <h3 class="mume-header fontColor" id="header-index-9">perf表之间关系图</h3>

    <ul class="fontColor">
      <li>perf_report:此表记录Hiperf工具采集数据时的配置信息。</li>
      <li>perf_thread:此表记录hiperf采集到的进程和线程数据。</li>
      <li>
        perf_sample:此表中记录Hiperf工具的采样信息。id唯一表示一次采样记录,通过callchain_id与perf_callchain表中的callchain_id字段相关联。thread_id为线程号,与perf_thread表中的thread_id字段相关联。event_type_id为当前采样的事件类型id,与perf_report表中的id字段相关联。
      </li>
      <li>perf_callchain:此表格记录的是调用栈信息。</li>
      <li>
        Perf_files:此表格主要存放着获取到的函数符号表和文件信息。file_id唯一表示一个文件,与perf_callchain表中的file_id字段相关联。
      </li>
    </ul>
    <p class="fontColor"><img src="../figures/traceStreamer/perf.png" alt="GitHub Logo"></p>
    <h3 class="mume-header fontColor">查询举例</h3>

    <ul class="fontColor">
      <li>
        <p class="fontColor">已知同步后的时间戳为28463134340470,查询采样数据<br>
          <code class="fontColor">select * from perf_sample where timestamp_trace =
              28463134340470</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知同步后的时间戳为28463134340470,查询采样数据对应的的调用栈信息<br>
          <code class="fontColor">select A.* from perf_callchain as A, perf_sample as B where
              B.timestamp_trace = 28463134340470 and A.callchain_id = B.callchain_id</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知同步后的时间戳为28463134277762,查询采样数据的函数名及文件路径<br>
          <code class="fontColor">select A.*, B.name, C.path from perf_sample as A, perf_callchain as
              B, perf_files as C where A.timestamp_trace = 28463134277762 and B.callchain_id = A.callchain_id
              and B.callchain_id = 0 and B.file_id = C.file_id and C.serial_id = 0</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知线程号为6700,查询所有的采样记录<br>
          <code class="fontColor">select * from perf_sample where thread_id = 6700</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知进程号为7863,查询所有的采样记录<br>
          <code class="fontColor">select A.* from perf_sample as A, perf_thread as B where
              B.process_id = 7863 and A.thread_id = B.thread_id</code>
        </p>
      </li>
      <li>
        <p class="fontColor">查询所有采样对应的事件类型<br>
          <code class="fontColor">select A.*, B.report_value from perf_sample as A, perf_report as B
              where A.event_type_id = B.id</code>
        </p>
      </li>
    </ul>
    <h3 class="mume-header fontColor" id="header-index-10">帧渲染表之间的关系图</h3>

    <p class="fontColor">frame_slice: 记录RS(RenderService)和应用的帧渲染。<br>
      gpu_slice: 记录RS的帧对应的gpu渲染时长。<br>
      frame_maps:记录应用到RS的帧的映射关系。<br>
      <img src="../figures/traceStreamer/frames.png" alt="GitHub Logo">
    </p>
    <h3 class="mume-header fontColor">查询示例</h3>

    <ul class="fontColor">
      <li>
        <p class="fontColor">已知进程,查询进程对应的实际渲染帧<br>
          <code class="fontColor">select * from frame_slice where ipid = 1</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知进程的实际渲染帧的dst为12,求其对应的RS进程的渲染帧<br>
          <code class="fontColor">select * from frame_slice where id = 12</code>
        </p>
      </li>
      <li>
        <p class="fontColor">已知RS的渲染帧在frame_slice中所在行是14,求其对应的GPU渲染时长<br>
          <code class="fontColor">select * from gpu_slice where frame_row = 14</code>
        </p>
      </li>
    </ul>
    <h3 id="header-index-11">JS内存数据表关系图</h3>
    <p class="fontColor">js_heap_files:记录js内存数据的文件名和文件索引</p>
    <p class="fontColor"><img src="../figures/traceStreamer/js_heap_files.png" alt="1683163158954"></p>
    <p class="fontColor">js_heap_nodes:记录js内存类对象数据<br>
      js_heap_edges:记录js内存类对象的成员数据<br>
      js_heap_trace_node:记录timeline的调用栈信息<br>
      js_heap_sample:记录timeline的时间轴信息<br>
      <img src="../figures/traceStreamer/js_heap_nodes.png" alt="1683163373206">
    </p>
    <h2 id="header-index-12">TraceStreamer输出数据库表格详细介绍</h2>
    <h3>app_name表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>app_name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>app_key</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id:用于与表hisys_event_measure表中的key_id字段做对应</li>
      <li>app_name:对应的事件的信息ID</li>
      <li>app_key:对应的事件的APPNAME字段的信息ID</li>
    </ul>
    <h3>args表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>key</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>datatype</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>argset</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录方法的参数集合。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>key:键</li>
      <li>datatype:数据类型</li>
      <li>value:取值</li>
      <li>argset:参数集合</li>
    </ul>
    <h3>bio_latency_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>latency_dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tier</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>block_number</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>path</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>dur_per_4k</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录IO操作相关方法调用,及调用栈数据。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:调用栈的唯一标识。与ebpf_callstack表中callchain_id字段关联</li>
      <li>type:事件类型其取值为枚举类型(DATA_READ,DATA_WRITE,METADATA_READ,
        METADATA_WRITE,PAGE_IN,PAGE_OUT)
      </li>
      <li>ipid:TS内部进程号</li>
      <li>itid:TS内部线程号</li>
      <li>start_ts:开始时间</li>
      <li>end_ts:结束时间</li>
      <li>latency_dur:总延迟</li>
      <li>tier:优先级</li>
      <li>size:文件大小</li>
      <li>block_number:数据量大小(一般为4K)</li>
      <li>path:路径id</li>
      <li>dur_per_4k:每4k数据的平均延迟</li>
    </ul>
    <h3>callstack表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cat</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cookie</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>parent_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>argsetid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>chainId</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>spanId</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>parentSpanId</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>flag</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>trace_level</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>trace_tag</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>custom_category</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>custom_args</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>child_callid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步的调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts: 数据事件上报时间戳</li>
      <li>dur:调用时长</li>
      <li>callid:调用者的ID,比如针对线程表里面的id</li>
      <li>cat: 表示当前栈帧属于哪个业务(binder/workqueue/null)</li>
      <li>name:调用名称</li>
      <li>depth:调用深度</li>
      <li>cookie: 异步调用的cookie值</li>
      <li>parent_id:父调用的id</li>
      <li>argsetid: 调用的参数列表,关联args表的id字段</li>
      <li>chainId:分布式数据中的chainId,id相同则表示为同一个分布式的调用栈</li>
      <li>spanId:分布式调用关联关系,当前帧的id</li>
      <li>parentSpanId: 分布式调用关联关系,当前帧的parent的SpanId,对应当前表的spandId</li>
      <li>flag:C表示分布式调用发送方,S表示接受方</li>
      <li>trace_level:决定trace的等级,log和nolog等级不同,其中log表示详细记录所有相关的调用信息,nolog 表示不记录</li>
      <li>trace_tag:Tag标签,标识请求的来源或类型</li>
      <li>custom_category:聚合标签,用于关联同类信息</li>
      <li>custom_args:自定义参数,用于存储与调用相关的额外信息</li>
      <li>child_callid:当为异步调用,此时callid为进程唯一号,child_callid为子线程唯一号,反之为无效值</li>
    </ul>
    <h3>clk_event_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录时钟信息。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 与measure表的filterId字段关联</li>
      <li>type:时钟事件类型</li>
      <li>name:时钟事件名称</li>
      <li>cpu: cpu编号</li>
    </ul>
    <h3>clock_event_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此结构用来维护时钟事件,cpu与唯一的ID做关联。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 与measure表的filterId字段关联</li>
      <li>Type:时钟事件类型</li>
      <li>Name:时钟事件名称</li>
      <li>cpu: cpu编号</li>
    </ul>
    <h3>cpu_measure_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">将cpu号作为key1,cpu的频率,空闲等状态作为key2,唯一确定一个filter_id。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 与measure表的filterId字段关联</li>
      <li>name: 事件名(cpu_idle/cpu_frequency/cpu_frequency_limits_max/cpu_frequency_limits_min)</li>
      <li>cpu:cpu号</li>
    </ul>
    <h3>cpu_usage表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>total_load</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>user_load</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>system_load</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>process_num</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了/proc/pid/stat与CPU使用率相关的数据。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>ts: 数据上报时间</li>
      <li>dur: 持续时间</li>
      <li>total_load:总负荷</li>
      <li>user_load:用户负载</li>
      <li>system_load:系统负载</li>
      <li>process_num:线程数</li>
    </ul>
    <h3>data_dict表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>data</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此表记录了一个数据类型ID和字符串的映射。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id:索引值</li>
      <li>data:字符串</li>
    </ul>
    <h3>data_type表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>typeId</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>desc</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此表记录了一个数据类型ID和数据描述的映射。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>typeId::数据类型id</li>
      <li>Desc:数据类型描述</li>
    </ul>
    <h3>diskio表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>rd</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>wr</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>rd_speed</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>wr_speed</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>rd_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>wr_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>rd_count_speed</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>wr_count_speed</td>
          <td>REAL</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了与磁盘读写相关的数据。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>ts:时间戳</li>
      <li>dur: 持续时间</li>
      <li>rd: 当前时间段的读取量</li>
      <li>wr: 当前时间段的写入量</li>
      <li>rd_speed:当前时间段的读取速度</li>
      <li>wr_speed:当前时间段的写入速度</li>
      <li>rd_count:读取的数据总量</li>
      <li>wr_count:写入的数据总量</li>
      <li>rd_count_speed:读数据的平均速度</li>
      <li>wr_count_speed:写入数据的平均速度</li>
    </ul>
    <h3>ebpf_callstack表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ip</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>symbols_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_path_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了与磁盘读写相关的数据。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:调用栈的唯一标识</li>
      <li>depth:调用栈深度。取值为零时表示栈顶</li>
      <li>ip:调用栈ip</li>
      <li>symbols_id:调用栈函数名称, 与data_dict中的id字段关联</li>
      <li>file_path_id:调用栈函数所属文件路径, 与data_dict中的id字段关联</li>
    </ul>
    <h3>file_system_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>return_value</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>error_code</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>fd</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>first_argument</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>second_argument</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>third_argument</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>fourth_argument</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了调用栈的相关信息。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>callchain_id:调用栈信息ID与file_system_callstack表中call_chain_id字段相关联</li>
      <li>type:对应文件操作open,close,read,write</li>
      <li>ipid:样本所属的内部进程ID,关联process表id</li>
      <li>itid: 样本所属的内部线程ID,关联thread表id</li>
      <li>start_ts:开始时间</li>
      <li>end_ts:结束时间</li>
      <li>dur:耗时</li>
      <li>return_value:文件操作的返回值</li>
      <li>error_code:文件操作发生错误时的错误码</li>
      <li>fd:文件描述符fd</li>
      <li>file_id:当type为open,close时为其操作的文件路径,当type为read,write时为固定字段(null)</li>
      <li>size:在type为read,write时对应的文件的读或者写的大小</li>
      <li>first_argument:参数一</li>
      <li>second_argument:参数二</li>
      <li>third_argument:参数三</li>
      <li>fourth_argument:参数四</li>
    </ul>
    <h3>hidump表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>fps</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此表记录了设备的帧率信息,fps。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts: 数据上报时间戳</li>
      <li>fps:帧率值</li>
    </ul>
    <h3>hisys_event_measure表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>serial</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>key_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>int_value</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>string_value</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录所有的system event事件的相关数据,及其相关表的映射信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>serial:每条数据过来携带唯一一条id作为标识</li>
      <li>ts: 数据上报时间戳</li>
      <li>name_id:存放事件对应的ID,与data_dict表相关联可以取出对应的字段</li>
      <li>key_id:存放事件包含的字段的ID,与表app_name的id字段相关联,找到app_name表的
        id字段对应行的app_key字段与表data_dict表相关联取出对应的字段
      </li>
      <li>type:存放事件所包含的字段的值所属的类型为int型还是string(0为int,1为string)</li>
      <li>int_value:存放本事件所包含的字段的int型的值</li>
      <li>string_value:存放本事件所包含的字段的string型的值</li>
    </ul>
    <h3>instant表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ref</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>wakeup_from</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ref_type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>REAL</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了系统中的waking和wakeup事件。</p>
    <h4>字段描述</h4>
    <ul class="fontColor">
      <li>ts:唤醒时间</li>
      <li>name:唤醒事件的名称</li>
      <li>ref:索引号</li>
      <li>wakeup_from:唤醒当前线程的内部线程号(itid)</li>
      <li>ref_type:描述了value字段的类型(一般取值为itid)</li>
      <li>value:一般为当前线程的内部线程号取值</li>
    </ul>
    <h3>irq表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cat</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cookie</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>parent_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>argsetid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>flag</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录中断相关事件。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts: 数据上报时间戳</li>
      <li>dur:调用中断时长</li>
      <li>callid:调用中断者的ID,比如针对线程表里面的id</li>
      <li>cat:调用栈数据类型(取值范围:irq,softirq, ipi)</li>
      <li>name:调用中断的名称</li>
      <li>depth:中断调用的深度</li>
      <li>cookie: 异步调用的cookie值</li>
      <li>parent_id:父调用中断的id</li>
      <li>argsetid: 跟arg_view中的argset关联,保存irq的名字以及值(irq=5 name=IPI)</li>
      <li>flag: 1表示硬中断</li>
    </ul>
    <h3>js_config表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>interval</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>capture_numeric_value</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>trace_allocation</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>enable_cpu_profiler</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cpu_profiler_interval</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录arkTs数据采集的相关配置。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>pid:目标进程ID。</li>
      <li>
        type:JS数据类型,取值与枚举HeapType对应,0表示JS内存数据为snapshot类型,1表示JS内存数据为timeline类型,-1表示没有JS内存数据。
      </li>
      <li>interval:当type=0时生效,单位是秒,表示一次snapshot事件和下一次snapshot事件之间的间隔。</li>
      <li>capture_numeric_value:当type=0时生效,表示是否同时抓取numeric。</li>
      <li>track_allocation:当type=1时生效,表示是否抓取allocations。</li>
      <li>enable_cpu_profiler:表示是否存在cpuprofiler的数据。</li>
      <li>cpu_profiler_interval:表示cpuprofiler数据的采集间隔。</li>
    </ul>
    <h3>js_cpu_profiler_node表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>function_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>function_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>script_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>url_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>line_number</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>column_number</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>hit_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>children</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>parent_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录cpu profiler中node节点的数据。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>function_id: 函数的ID号。</li>
      <li>function_index:函数名称在data_dict中的索引号。</li>
      <li>script_id:关联到的类对象所在文件的绝对路径ID。</li>
      <li>url_index:关联到的类对象所在文件的绝对路径名称在data_dict中的索引号。</li>
      <li>line_number:类对象所在文件的行号。</li>
      <li>column_number:类对象所在文件的列号。</li>
      <li>hit_count:采样次数。</li>
      <li>children:子节点的id号。</li>
      <li>parent_id:父节点的id号。</li>
    </ul>
    <h3>js_cpu_profiler_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>function_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了cpu profiler 中sample节点的数据。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: ts内部ID号。</li>
      <li>function_id:函数的ID号。</li>
      <li>start_time:数据上报的起始时间。</li>
      <li>end_time:数据上报的终止时间。</li>
      <li>dur:数据上报的间隔时间。</li>
    </ul>
    <h3>js_heap_edges表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>edge_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name_or_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>to_node</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>from_node_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>to_node_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录js内存数据类对象对应的成员的信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>edge_index:成员的索引号</li>
      <li>type:成员的类型,取值范围为js_heap_info表中的edge_types</li>
      <li>name_or_index:数据名称,取值为js_heap_string表中的下标索引</li>
      <li>to_node:此成员指向的类对象在nodes数组中的索引</li>
      <li>from_node_id:类对象ID,该类对象指向此成员数据</li>
      <li>to_node_id:此成员指向到的类对象nodes数组中的ID</li>
    </ul>
    <h3>js_heap_files表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>start_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>self_size</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了js内存数据的文件名称和时间。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id:文件ID</li>
      <li>file_name:文件名称</li>
      <li>start_time:数据抓取的起始时间</li>
      <li>end_time:数据抓取的终止时间</li>
      <li>self_size: 当前snapshot中所有node的size之和</li>
    </ul>
    <h3>js_heap_info表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>key</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>int_value</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>str_value</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了js内存数据类型,如nodes和edges的字段类型和数据总数。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>key:类型名称</li>
      <li>type:数据类型索引</li>
      <li>int_value:int类型的数据值,如count类型数据</li>
      <li>str_value:string类型的数据值,如typename</li>
    </ul>
    <h3>js_heap_location表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>object_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>script_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>line</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>column</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了js内存location节点相关数据,此表目前无抓取到的数据。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>object_index:与location关联的类对象的索引,取值为js_heap_nodes的下标索引</li>
      <li>script_id:关联到的类对象所在文件的绝对路径ID</li>
      <li>line:在类对象所在的文件中的行号</li>
      <li>column:在类对象所在的文件中的列号</li>
    </ul>
    <h3>js_heap_nodes表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>node_index</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>id</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>self_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>edge_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>trace_node_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>detachedness</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了js内存数据中类对象的数据。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>node_index:类对象的索引</li>
      <li>type:类对象的类型</li>
      <li>name:类对象的名称</li>
      <li>id:类对象的唯一ID</li>
      <li>self_size:该类对象所有成员的大小(以字节为单位)</li>
      <li>edge_count:该类对象指向的类成员的个数</li>
      <li>trace_node_id:该类对象关联到js_heap_trace_node表中的调用栈ID</li>
      <li>detachedness:是否可以从window全局对象访问此节点,0表示是,1表示否</li>
    </ul>
    <h3>js_heap_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>timestamp_us</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>last_assigned_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了timeline模式下的时间轴信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>timestamp_us:时间信息</li>
      <li>last_assigned_id:当前时间点的id</li>
    </ul>
    <h3>js_heap_string表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>string</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了js内存数据中的字符串。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>file_index:索引</li>
      <li>string:对应的字符串信息</li>
    </ul>
    <h3>js_heap_trace_function_info表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>function_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>function_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>script_name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>script_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>line</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>column</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了timeline模式下的调用栈的每个函数信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>function_index:函数索引</li>
      <li>function_id:函数ID</li>
      <li>name:函数名称</li>
      <li>script_name:关联到的类对象所在文件的绝对路径名称</li>
      <li>script_id:关联到的类对象所在文件的绝对路径ID</li>
      <li>line:在类对象所在的文件中的行号</li>
      <li>column:在类对象所在的文件中的列号</li>
    </ul>
    <h3>js_heap_trace_node表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>function_info_index</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>parent_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了timeline模式下的调用栈的信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>file_id:文件ID</li>
      <li>id:调用栈节点索引</li>
      <li>function_info_index:函数信息索引</li>
      <li>count:调用栈个数</li>
      <li>size:调用栈大小</li>
      <li>parent_id:调用栈父节点</li>
    </ul>
    <h3>app_startup表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>call_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>packed_name</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了应用启动的相关信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>call_id:调用者的ID,比如针对线程表里面的id</li>
      <li>ipid:内部进程号</li>
      <li>tid:内部线程号</li>
      <li>start_time:阶段开始时间</li>
      <li>end_time:阶段结束时间</li>
      <li>start_name:阶段名称</li>
      <li>packed_name:应用名称</li>
    </ul>
    <h3>static_intialize表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>call_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>so_name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了so初始化的相关信息。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>call_id:调用者的ID,比如针对线程表里面的id</li>
      <li>ipid:内部进程号</li>
      <li>tid:内部线程号</li>
      <li>start_time:阶段开始时间</li>
      <li>end_time:阶段结束时间</li>
      <li>so_name:so文件名称</li>
      <li>depth:泳道图的深度</li>
    </ul>
    <h3>live_process表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cpu_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>process_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>process_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>parent_process_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>uid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>user_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>cpu_usage</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>pss_info</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_num</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>disk_writes</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>disk_reads</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了一些实时的进程中(/proc/<span class="katex"><span class="katex-mathml"><math
            xmlns="http://www.w3.org/1998/Math/MathML">
            <semantics>
              <mrow>
                <mi>P</mi>
                <mi>I</mi>
                <mi>D</mi>
                <mi mathvariant="normal">/</mi>
                <mi>s</mi>
                <mi>t</mi>
                <mi>a</mi>
                <mi>t</mi>
                <mi>u</mi>
                <mi>s</mi>
                <mtext></mtext>
                <mi mathvariant="normal">/</mi>
                <mi>p</mi>
                <mi>r</mi>
                <mi>o</mi>
                <mi>c</mi>
                <mi mathvariant="normal">/</mi>
              </mrow>
              <annotation encoding="application/x-tex">PID/status、/proc/</annotation>
            </semantics>
          </math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
              style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal"
              style="margin-right:0.13889em;">P</span><span class="mord mathnormal"
              style="margin-right:0.07847em;">I</span><span class="mord mathnormal"
              style="margin-right:0.02778em;">D</span><span class="mord">/</span><span
              class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span
              class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span
              class="mord mathnormal">u</span><span class="mord mathnormal">s</span><span
              class="mord cjk_fallback"></span><span class="mord">/</span><span class="mord mathnormal">p</span><span
              class="mord mathnormal">roc</span><span
              class="mord">/</span></span></span></span>PID/stat、/proc/stat)执行的一些数据(Monitor)。
    </p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>ts: 数据上报时间戳</li>
      <li>dur: 事件持续时间</li>
      <li>cpu_time: /proc/$PID/stat 中的cpu时间</li>
      <li>process_id:进程id</li>
      <li>process_name:进程名</li>
      <li>parent_process_id:父进程的id</li>
      <li>uid:用户id</li>
      <li>user_name:用户名</li>
      <li>cpu_usage:cpu使用率</li>
      <li>pss_info:进程信息</li>
      <li>thread_num:线程数量</li>
      <li>disk_writes:磁盘写量</li>
      <li>disk_reads:磁盘读量</li>
    </ul>
    <h3>log表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>seq</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>level</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>tag</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>context</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>origints</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录日志信息。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>seq:日志序号,保证日志解析的准确性</li>
      <li>ts:打印日志时间</li>
      <li>pid:日志的进程号</li>
      <li>tid:日志的线程号</li>
      <li>level:日志级别</li>
      <li>tag:日志标签</li>
      <li>context:日志内容</li>
      <li>origints:log中自带的时间</li>
    </ul>
    <h3>measure表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>filter_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录所有的计量值。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>type:固定字段(measure)</li>
      <li>ts:事件时间</li>
      <li>dur:该值持续的时长</li>
      <li>value:数值</li>
      <li>filter_id:对应filter表中的ID</li>
    </ul>
    <h3>measure_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>source_arg_set_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录。</p>
    <h4>字段详细描述</h4>
    <p class="fontColor">过滤分类(type),过滤名称(key2),数据ID(key1)。<br>
      id: 唯一的filterId,与process_measure_filter, sys_event_filter中的id关联。<br>
      type:各种类型(cpu_measure_filter,clk_rate_filter,process_measure_filter...)<br>
      name: type的子类型。<br>
      source_arg_set_id: 同一个source_arg_set_id代表一组数据,一般取得是itid或者cpu编号。</p>
    <h3>meta表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此表记录了数据解析或导出时的一些现场数据,比如使用的TraceStreamer版本,
      工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>Name:指定元数据的key</li>
      <li>Value:指定元数据的value</li>
    </ul>
    <h3>native_hook表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>event_type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>sub_type_id</td>
          <td>NUM</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>addr</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>heap_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>all_heap_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>current_size_dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>last_lib_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>last_symbol_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录native_hook抓取的某个进程的堆内存,内存映射相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:唯一标识一条native_hook数据</li>
      <li>ipid:所属的进程内部id, 关联process表中的id</li>
      <li>itid:所属的线程内部id, 关联thread表中的id</li>
      <li>event_type:事件类型取值范围(AllocEvent,FreeEvent,MmapEvent, MunmapEvent)</li>
      <li>sub_type_id:子事件类型(只有event_type字段为MmapEvent时,该字段才会有值)</li>
      <li>start_ts:申请内存开始时间</li>
      <li>end_ts:释放内存时间</li>
      <li>dur:申请内存活跃时间</li>
      <li>addr:申请内存地址</li>
      <li>heap_size: 申请的内存大小</li>
      <li>all_heap_size:从采集数据开始到当前时刻,申请并活跃的内存总量。
        event_type为AllocEvent或者FreeEvent时,表示活跃的堆内存总量。当event_type为MmapEvent或者MunmapEvent时,表示活跃的映射内存总量
      </li>
      <li>current_size_dur:表示当前活跃内存总量的持续时间</li>
      <li>last_lib_id:函数调用栈最后一个函数所属的文件路径,除了文件名中带musl和libc++</li>
      <li>last_symbol_id: 函数调用栈最后一个函数名,lib除了文件名中带musl和libc++</li>
    </ul>
    <h3>native_hook_frame表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ip</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>symbol_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>offset</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>symbol_offset</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>vaddr</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了内存的申请和释放的堆栈。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:标识一组调用堆栈</li>
      <li>depth:调用栈深度</li>
      <li>ip: 函数ip</li>
      <li>symbol_id:函数名id,对应data_dict中id</li>
      <li>file_id:函数所属文件id,对应data_dict中id</li>
      <li>offset: 取自Frame message的offset字段</li>
      <li>symbol_offset: 取自Frame message的symbol_offset字段</li>
      <li>vaddr: 一般取值为offset + symbol_offset</li>
    </ul>
    <h3>native_hook_statistic表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>sub_type_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>apply_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>release_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>apply_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>release_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>last_lib_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>last_symbol_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了内存申请/释放的统计信息。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:内存分配的回调链id</li>
      <li>ipid:进程id</li>
      <li>ts:统计数据上报时间</li>
      <li>type:事件类型,0代表malloc事件,1代表mmap事件</li>
      <li>sub_type_id:事件子类型,关联data_dict表id</li>
      <li>apply_count:当前调用栈内存分配总次数</li>
      <li>release_count:当前调用栈内存释放总次数</li>
      <li>apply_size:当前调用栈累计分配总大小</li>
      <li>release_size:当前调用栈累计释放总大小</li>
      <li>last_lib_id:函数调用栈最后一个函数所属的文件路径,除了文件名中带musl和libc++</li>
      <li>last_symbol_id: 函数调用栈最后一个函数名,lib除了文件名中带musl和libc++</li>
    </ul>
    <h3>network表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tx</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>rx</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tx_speed</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>rx_speed</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>packet_in</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>packet_in_sec</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>packet_out</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>packet_out_sec</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>net_type</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了网络数据传输相关的信息。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>ts:事件上报时间</li>
      <li>dur: 持续时间</li>
      <li>tx: 网络数据的写入次数</li>
      <li>rx: 网络数据的读取次数</li>
      <li>tx_speed: 网络数据的写入次数/s</li>
      <li>rx_speed: 网络数据的读取次数/s</li>
      <li>packet_in:网络数据申请的数据包个数</li>
      <li>packet_in_sec: 网络数据申请的数据包个数/s</li>
      <li>packet_out: 网络数据发送的数据包个数</li>
      <li>packet_out_sec:网络数据发送的数据包个数/s</li>
      <li>net_type:网络类型,wifi/蜂窝</li>
    </ul>
    <h3>paged_memory_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>addr</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了网络数据传输相关的信息。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id: 取值相同的一组数据,表示一个完整的调用栈</li>
      <li>type:事件类型</li>
      <li>ipid:TS内部进程号</li>
      <li>start_ts:开始时间</li>
      <li>end_ts:结束时间</li>
      <li>dur:持续时间</li>
      <li>size:操作页数,1页=4kb</li>
      <li>addr: 内存地址</li>
      <li>itid:内部线程号</li>
    </ul>
    <h3>perf_callchain表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ip</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>vaddr_in_file</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>symbol_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了Hiperf采样数据的调用栈信息。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:标识一组调用堆栈</li>
      <li>depth:调用栈深度</li>
      <li>ip: 函数ip</li>
      <li>vaddr_in_file:函数在文件中的虚拟地址</li>
      <li>file_id:与perf_files中的file_id字段相关联</li>
      <li>symbol_id:与perf_files中的serial_id相关联</li>
      <li>name:函数名</li>
    </ul>
    <h3>perf_files表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>file_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>serial_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>symbol</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>path</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录Hiperf工具采集到的函数符号表和文件名。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>file_id:文件编号</li>
      <li>serial_id:一个文件中可能有多个函数,serial_id表示函数的编号</li>
      <li>symbol:函数名</li>
      <li>path:文件路径</li>
    </ul>
    <h3>perf_report表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>report_type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>report_value</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录Hiperf工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令,
      抓数据时指定的进程名称。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>report_type:数据类型。取值只有三种类型:config_name(事件类型), workload(抓取的进程名),
        cmdline(抓取命令)
      </li>
      <li>report_value:对应类型的取值</li>
    </ul>
    <h3>perf_sample表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callchain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>timestamp</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>event_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>event_type_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>timestamp_trace</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cpu_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_state</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录Hiperf工具的采样信息。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>callchain_id:关联perf_callchain表callchain_id</li>
      <li>timestamp:未进行时钟源同步的时间戳</li>
      <li>thread_id:线程号</li>
      <li>event_count:采样统计</li>
      <li>event_type_id:事件类型编号。与PerfReport表的id字段相关联</li>
      <li>timestamp_trace:时钟源同步后的时间戳</li>
      <li>cpu_id:cpu核编号</li>
      <li>
        thread_state:线程状态。采样对应Sched_Waking事件时,为Runing;对应Sched_Switch事件时,为Suspend。其余事件类型,为“-”
      </li>
    </ul>
    <h3>perf_thread表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>process_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_name</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录Hiperf工具采集到的进程和线程数据。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>thread_id:线程号</li>
      <li>process_id:进程号</li>
      <li>thread_name:线程名</li>
    </ul>
    <h3>process表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>switch_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>thread_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>slice_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>mem_count</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了进程相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id:进程在数据库重新重新定义的id,从0开始序列增长</li>
      <li>ipid:TS内部进程id</li>
      <li>pid:进程的真实id</li>
      <li>name:进程名字</li>
      <li>start_ts:开始时间</li>
      <li>switch_count:统计内部有多少个线程有切换</li>
      <li>thread_count:统计其线程个数</li>
      <li>slice_count:进程内有多少个线程有slice数据</li>
      <li>mem_count:进程是否有内存数据</li>
    </ul>
    <h3>process_measure表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>NUM</td>
        </tr>
        <tr>
          <td>filter_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">保存进程的内存,堆栈值等所有计量值信息。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>type: 固定为measure</li>
      <li>ts:事件时间</li>
      <li>dur: 持续时间</li>
      <li>value:数值</li>
      <li>filter_id:对应process_measure_filter表中的id</li>
    </ul>
    <h3>process_measure_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id,
      filter_id同时被记录在measure_filter表中。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 与measure表的filterId字段相关联</li>
      <li>name:key名</li>
      <li>ipid:进程内部编号</li>
    </ul>
    <h3>raw表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:事件时间</li>
      <li>name:调度名称(取值:cpu_idle,sched_wakeup,sched_waking)</li>
      <li>cpu:事件发生在哪个CPU</li>
      <li>itid:时间对应哪个itid,对应thread表中id</li>
    </ul>
    <h3>sched_slice表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts_end</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_state</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>priority</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>arg_setid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:事件发生时间</li>
      <li>dur:状态持续时长</li>
      <li>ts_end:状态结束时长</li>
      <li>cpu:事件发生在哪个cpu</li>
      <li>itid:进程内部编号</li>
      <li>ipid:进程内部编号</li>
      <li>end_state:线程的终结状态</li>
      <li>priority: 线程优先级</li>
      <li>arg_setid:线程状态参数,对应args中argset</li>
    </ul>
    <h3>smaps表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>timestamp</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_addr</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>end_addr</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>dirty</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>swapper</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>resident_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>pss</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>virtaul_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>reside</td>
          <td>REAL</td>
        </tr>
        <tr>
          <td>protection_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>path_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>shared_clean</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>shared_dirty</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>private_clean</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>private_dirty</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>swap</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>swap_pss</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录进程的内存消耗的相关信息采样,读取/proc/${pid}/smaps节点。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>timestamp:事件发生事件</li>
      <li>start_addr:内存段地址的起始位置</li>
      <li>end_addr:内存段地址的结束位置</li>
      <li>dirty:其他进程共享的被写的页的大小 + 已被改写的私有页面的大小</li>
      <li>swapper:存在于交换分区的数据大小</li>
      <li>resident_size:实际分配的内存大小</li>
      <li>pss:平摊计算后的实际物理使用内存</li>
      <li>virtaul_size:虚拟内存空间的大小</li>
      <li>reside:实际分配的内存大小与虚拟内存空间的大小的比</li>
      <li>protection_id:内存段的权限id与表data_dict的id字段相关联</li>
      <li>path_id:如果区域是从文件映射的,则这是文件的名称对应的id序号与表data_dict的id字段相关联</li>
      <li>shared_clean:smaps节点中Shared_clean</li>
      <li>shared_dirty:smaps节点中Shared_dirty</li>
      <li>private_clean:smaps节点中Private_clean</li>
      <li>private_dirty:samps节点中Private_dirty</li>
      <li>swap: smap节点中Swap</li>
      <li>swap_pss:smap节点中SwapPss</li>
      <li>type : 根据type分类信息</li>
    </ul>
    <h3>stat表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>event_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>stat_type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>serverity</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>source</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。</p>
    <h4>主要字段描述</h4>
    <ul class="fontColor">
      <li>event_name:数据类型</li>
      <li>stat_type:数据状态</li>
      <li>count:数据条数</li>
      <li>severity:严重级别</li>
      <li>source:数据来源</li>
    </ul>
    <h3>symbols表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>funcname</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>addr</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">此表记录了被调用函数与其地址的映射关系。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>funcname:系统调用名称</li>
      <li>addr:系统调用地址</li>
    </ul>
    <h3>syscall表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>syscall_num</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ret</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录用户空间函数与内核空间函数相互调用记录。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>syscall_num:系统调用的序号</li>
      <li>type:固定取值:enter或者exit</li>
      <li>ipid:线程所属的进程ID</li>
      <li>ts:时间戳</li>
      <li>ret:返回值,在type为exit时有效</li>
    </ul>
    <h3>sys_event_filter表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录所有的filter。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>id: 与measure表的filterid字段关联</li>
      <li>type:文件类型</li>
      <li>name:文件名</li>
    </ul>
    <h3>sys_mem_measure表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>type</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>filter_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录系统内存与系统虚拟内存。</p>
    <h4>相关字段描述</h4>
    <ul class="fontColor">
      <li>type: 固定为measure</li>
      <li>ts:事件时间</li>
      <li>dur: 持续时间</li>
      <li>value:数值</li>
      <li>filter_id:对应filter表中的ID</li>
    </ul>
    <h3>thread表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>is_main_thread</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>switch_count</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了线程相关数据。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>itid:TS内部线程id</li>
      <li>tid:线程号</li>
      <li>name:线程名</li>
      <li>start_ts:开始时间</li>
      <li>end_ts:结束时间</li>
      <li>ipid:线程所属的进程id, 关联process表中的ID</li>
      <li>is_main_thread:是否主线程,主线程即该线程实际就是进程本身</li>
      <li>switch_count:当前线程的切换次数</li>
    </ul>
    <h3>thread_state表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>cpu</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>state</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>argset_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">记录了线程状态相关的数据。</p>
    <h4>字段详细描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:该线程状态的起始时间</li>
      <li>dur:该线程状态的持续时间</li>
      <li>cpu:该线程在哪个cpu上执行(针对running状态的线程)</li>
      <li>itid:该状态所属的线程id, 关联线程表中的id</li>
      <li>tid:线程号</li>
      <li>pid:进程号</li>
      <li>state:线程实际的的状态值</li>
      <li>argset_id:线程状态参数,对应arg_view中arg_set</li>
    </ul>
    <pre data-role="codeBlock" data-info="" class="fontColor light smartperf-"><code
        class="fontColor">'R', Runnable状态
  "S", interruptible sleep
  "D", uninterruptible sleep
  "D-IO", uninterruptible io
  "D-NIO", uninterruptible nio
  "Runing", Runing状态
  "T", Task stoped.
  "t"  Traced.
  "X", ExitedDead
  "Z", Zombie
  "P", Parked
  "I", Task_Dead
  "DK",
  "DK-IO",
  "DK-NIO",
  "TK", TracedKill
  "R+", WakeKill
  "R+", TaskNew
  "R-B", Task runnable binder.
  </code></pre>
    <h3>clock_snapshot表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>clock_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>clock_name</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">时钟号和时间,时钟名的映射表。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>clock_id:时钟号</li>
      <li>ts:时钟快照报的时间</li>
      <li>clock_name:时钟号对应的时钟名字<br>
        时钟快照是用来对齐不同时钟号的时间<br>
        比如,时钟号1的时间100,和时钟号2的时间200对齐<br>
        则时钟号为2 的250,转换为时钟号1的时间后,为150
      </li>
    </ul>
    <h3>datasource_clockid表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>data_source_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>clock_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">数据源和时钟号的映射表。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>data_source_name:数据源的名称,和数据源的插件名保持一致</li>
      <li>clock_id:时钟号,对应clock_snapshot中的时钟号<br>
        这个表是用来告诉IDE,不同的事件源的事件,原始时钟号是多少,在数据库中保存的事件,通常是转换为boottime后的时间,但有些情况下,IDE仍然需要知道原始的时钟号是怎样的
      </li>
    </ul>
    <h3>frame_slice表</h3>
    <h3>表结构</h3>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>vsync</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>callstack_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>src</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>dst</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type_desc</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>flag</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>frame_no</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      应用的实际渲染帧和期望渲染帧的开始时间,持续时长,以及RenderService和App之间的关联关系。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>ts: 数据上报时间戳</li>
      <li>vsync: 一个id值,用于标识一组渲染帧的期望和实际数据。</li>
      <li>ipid:所属的进程内部id, 关联process表中的id</li>
      <li>itid:所属的线程id, 关联thread表中的id</li>
      <li>callstack_id:该帧数据对应着callstack表的调用栈所在的行数</li>
      <li>dur:该帧渲染时长(当数据不完整时,改行数据为空)</li>
      <li>src:该帧是被哪一帧(该表中对应的行数)触发的,有多个值时,用逗号分割</li>
      <li>dst:该帧对应的渲染帧是哪一行</li>
      <li>type: 0 说明该行数据是实际渲染帧, 1 说明该行数据是期望渲染帧</li>
      <li>type_desc: 当type值为0时,该字段为actural; 当type值为1时,该字段为expect;</li>
      <li>flag: 空时,为不完整的数据;0 表示实际渲染帧不卡帧, 1 表示实际渲染帧卡帧(expectEndTime &lt;
        actualEndTime为异常), 2 表示数据不需要绘制(没有frameNum信息),3
        表示rs进程与app进程起止异常(|expRsStartTime - expUiEndTime| &lt; 1ms
        正常,否则异常。这里使用期待帧的时间差做判断,给实际帧打标签)
      </li>
      <li>depth:预留</li>
      <li>frame_no:预留</li>
    </ul>
    <h3>frame_maps表</h3>
    <h3>表结构</h3>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>src_row</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dst_row</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      该表记录了app到RenderService的帧的映射关系,同frame_slice表中的src映射到dst的关系。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>src_row:frame_slice表中app的帧所在的行</li>
      <li>dst_row:frame_slice表中RenderService的帧所在的行</li>
    </ul>
    <h3>gpu_slice表</h3>
    <h3>表结构</h3>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>frame_row</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>dur</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了每一帧数据在GPU上的渲染时长。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>frame_row:frame_slice表中渲染帧所在的行</li>
      <li>dur:帧渲染时长</li>
    </ul>
    <h3>trace_range表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>start_ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_ts</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了解析开始时间以及结束时间。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>start_ts:trace的开始时间,纳秒为单位</li>
      <li>end_ts:trace的结束时间,纳秒为单位</li>
    </ul>
    <h3>task_pool表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>allocation_task_row</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>execute_task_row</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>return_task_row</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>allocation_itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>execute_itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>return_itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>task_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>priority</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>execute_state</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>return_state</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>timeout_row</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了任务池相关数据,与callstack表关联。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>allocation_task_row:与callstack表id号相关联</li>
      <li>execute_task_row:与callstack表id号相关联</li>
      <li>return_task_row:与callstack表id号相关联</li>
      <li>allocation_itid:任务分发的itid</li>
      <li>execute_itid:任务执行的itid</li>
      <li>return_itid:任务返回的itid</li>
      <li>task_id:任务执行id</li>
      <li>priority:任务分发独有的,优先级{HIGH : 0,MEDIUM : 1,LOW : 2}</li>
      <li>execute_state:任务执行独有的执行状态{NOT_FOUND : 0,WAITING : 1,RUNNING : 2,CANCELED : 3}
      </li>
      <li>return_state:任务返回独有的任务返回状态[IsCanceled DeserializeFailed Successful
        Unsuccessful]
      </li>
      <li>timeout_row:任务执行超时时更新此列,将对应的 callstack 表行号存于对应的任务行</li>
    </ul>
    <h3>animation表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>input_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_point</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_point</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>frame_info</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录动效的响应时延和完成时延等信息。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>input_time:输入时间点</li>
      <li>start_point:开始时间点</li>
      <li>end_point:结束时间点</li>
      <li>frame_info:动效帧信息,格式:<code class="fontColor">实际帧个数:实际帧帧率</code></li>
      <li>name: 当前动效名,eg:<code class="fontColor">H:APP_LIST_FLING, com.taobao.taobao</code></li>
    </ul>
    <h3>dynamic_frame表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>x</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>y</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>width</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>height</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>alpha</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>name</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录动效帧的坐标、分辨率、结束时间等信息。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>x:坐标x</li>
      <li>y:坐标y</li>
      <li>width:宽</li>
      <li>height:高</li>
      <li>alpha:透明度</li>
      <li>name:当前动效帧名字</li>
      <li>end_time:结束时间</li>
    </ul>
    <h3>device_info表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>physical_width</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>physical_height</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>physical_frame_rate</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录设备分辨率和帧率等信息。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>physical_width:设备宽</li>
      <li>physical_height:设备高</li>
      <li>physical_frame_rate:设备帧率</li>
    </ul>
    <h3>device_state表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>brightness</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>bt_state</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>location</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>wifi</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>stream_default</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>voice_call</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>music</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>stream_ring</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>media</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>voice_assistant</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>system</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>alarm</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>notification</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>bt_sco</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>enforced_audible</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>stream_dtmf</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>stream_tts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>accessibility</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>recording</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>stream_all</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息。该表目前暂未被使用。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>brightness:屏幕亮度</li>
      <li>bt_state:蓝牙状态</li>
      <li>location:位置信息</li>
      <li>wifi:无线网络状态</li>
      <li>stream_default: 取自AudioVolumeInfo message的stream_default字段。</li>
      <li>voice_call:语音通话</li>
      <li>music:音乐播放</li>
      <li>stream_ring: 取自AudioVolumeInfo message的stream_ring字段。</li>
      <li>media:多媒体</li>
      <li>voice_assistant:语音助手</li>
      <li>system:系统</li>
      <li>alarm:闹钟</li>
      <li>notification:消息通知</li>
      <li>bt_sco:蓝牙语音</li>
      <li>enforced_audible: 取自AudioVolumeInfo message的enforced_audible字段</li>
      <li>stream_dtmf: 取自AudioVolumeInfo message的stream_dtmf字段</li>
      <li>stream_tts: 取自AudioVolumeInfo message的stream_tts字段</li>
      <li>accessibility:访问权限</li>
      <li>recording:录音</li>
      <li>stream_all: 取自AudioVolumeInfo message的stream_all字段</li>
    </ul>
    <h3>trace_config表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>trace_source</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>key</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>value</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      该表记录trace数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>trace_source:事件源</li>
      <li>key:事件需要关注的信息名</li>
      <li>value:事件需要关注的信息名对应的信息值</li>
    </ul>
    <h3>memory_ashmem表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>adj</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>fd</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ashmem_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>pss</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ashmem_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ref_count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>purged</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>flag</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      该表记录trace数据源/proc/purgeable_ashmem_trigger,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:时间戳</li>
      <li>ipid:内部进程号</li>
      <li>adj: purgeable_ashmem_trigger中adj</li>
      <li>fd:共享内存文件描述符</li>
      <li>ashmem_name_id:共享内存名</li>
      <li>size:共享内存大小</li>
      <li>pss:PSS内存大小</li>
      <li>ashmem_id:共享内存ID</li>
      <li>time: purgeable_ashmem_trigger中time</li>
      <li>ref_count:引用计数</li>
      <li>purged: purgeable_ashmem_trigger中purged</li>
      <li>flag:去重标记,0表示正常,1表示进程内部重复数据,2表示进程间重复数据</li>
    </ul>
    <h3>memory_dma表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>fd</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ino</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>exp_pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>exp_task_comm_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>buf_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>exp_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>flag</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">
      该表记录trace数据源取/proc/process_dmabuf_info节点,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:时间戳</li>
      <li>ipid:内部进程号</li>
      <li>fd:dma内存文件描述符</li>
      <li>size:dma内存大小</li>
      <li>ino: process_dmabuf_info中ino列</li>
      <li>exp_pid:申请者的进程号</li>
      <li>exp_task_comm_id:申请者的的线程名,对应data_dict的id</li>
      <li>buf_name_id:dma内存名</li>
      <li>exp_name_id:申请者进程名</li>
      <li>flag:去重标记,0表示正常,1表示进程内部重复数据,2表示进程间重复数据</li>
    </ul>
    <h3>memory_process_gpu表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>gpu_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>all_gpu_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>addr</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>itid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>used_gpu_size</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录trace数据源读取/proc/gpu_memory节点</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:时间戳</li>
      <li>gpu_name_id:gpu内存名称</li>
      <li>all_gpu_size:进程占用gpu总大小</li>
      <li>addr:gpu内存地址</li>
      <li>ipid:内部进程号</li>
      <li>itid:内部线程号</li>
      <li>used_gpu_size:已使用的gpu大小</li>
    </ul>
    <h3>memory_window_gpu表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>window_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>window_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>module_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>category_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>count</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>purgeable_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录trace数据源/sys/kernel/debug/mali0/ctx/$(pidof xxx)_0/mem_profile</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:时间戳</li>
      <li>window_name_id:窗口名</li>
      <li>window_id:窗口id</li>
      <li>module_name_id:模块名</li>
      <li>category_name_id:目录名</li>
      <li>size:内存大小 bytes</li>
      <li>count:内存申请个数</li>
      <li>purgeable_size: 取Total memory对应的字节大小</li>
      <li>ipid: 内部进程号</li>
    </ul>
    <h3>static_initalize表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>call_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>start_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>end_time</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>so_name</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>depth</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了so初始化相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ipid:内部进程号</li>
      <li>tid:内部线程号</li>
      <li>call_id:调用者的ID,对应线程表里面的itid</li>
      <li>start_time:阶段开始时间</li>
      <li>end_time:阶段结束时间</li>
      <li>so_name:so文件名称</li>
      <li>depth:泳道图的深度</li>
    </ul>
    <h3>memory_cpu表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>total_size</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了hidumper抓取的cpu的内存大小的相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:数据上报时间戳</li>
      <li>total_size:hidumper取到的cpu内存大小</li>
    </ul>
    <h3>memory_profile表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>channel_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>total_size</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了读取/sys/kernel/debug/mali0/ctx/$(pidof
      xxx)_0/mem_profile节点相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:数据上报时间戳</li>
      <li>channel_id: 取Channel对应的名称,对应data_dict的id</li>
      <li>total_size:取Total memory对应的字节大小</li>
    </ul>
    <h3>memory_rs_image表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ipid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>mem_size</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>surface_name_id</td>
          <td>INT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录了hidumper抓取的界面的内存大小的相关数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识</li>
      <li>ts:数据上报时间戳</li>
      <li>ipid:内部进程号</li>
      <li>mem_size: 取hidumper的size列</li>
      <li>type_id:取hidumper的type列,对于data_dict表中的id</li>
      <li>surface_name_id: 取hidumper的surfaceName列</li>
    </ul>
    <h3>hisys_all_event表</h3>
    <h4>表结构</h4>
    <table class="fontColor">
      <thead>
        <tr>
          <th class="fontColor">Columns Name</th>
          <th class="fontColor">SQL TYPE</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>domain_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>event_name_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>ts</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>type</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>time_zone</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>pid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>tid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>uid</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>level</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>tag</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>event_id</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>seq</td>
          <td>INT</td>
        </tr>
        <tr>
          <td>info</td>
          <td>TEXT</td>
        </tr>
        <tr>
          <td>contents</td>
          <td>TEXT</td>
        </tr>
      </tbody>
    </table>
    <h4>表描述</h4>
    <p class="fontColor">该表记录所有hisysevent采集到的原始数据。</p>
    <h4>关键字段描述</h4>
    <ul class="fontColor">
      <li>id: 唯一标识一条该表数据</li>
      <li>domain_id: 对应原始数据中的domain_字段在data_dict表中的索引。</li>
      <li>event_name_id: 对应原始数据中name_字段在data_dict表中的索引。</li>
      <li>ts: 对应原始数据中time_(ms)字段转化成ns</li>
      <li>type: 对应原始数据中type_字段</li>
      <li>time_zone: 对应原始数据中tz_字段</li>
      <li>pid: 进程号,对应原始数据中的pid_</li>
      <li>tid: 线程号, 对应原始数据中tid_</li>
      <li>uid: 对应原始数据中uid_</li>
      <li>level: 对应原始数据中level_</li>
      <li>tag: 对应原始数据中tag_</li>
      <li>event_id: 对应原始数据id_</li>
      <li>seq: 对应原始数据中seq_</li>
      <li>info: 对应原数据中info_字段</li>
      <li>contents: 取源数据中除了以上字段外的其他字段,组成新的json数据。</li>
    </ul>
  </div>

  <script>
    window.onload = () => {
      let isDark = getURLParameter('dark');
      let targetId = getURLParameter('targetId');
      let isBack = getURLParameter('isBack');
      if (isDark === 'true') {
        document.getElementById('body').setAttribute('style', 'background-color:#272C34;');
        let header = document.getElementsByClassName('fontColor');
        for (let i = 0; i < header.length; i++) {
          header[i].style.color = '#fff';
        }
        let lightBackGround = document.getElementsByClassName('light');
        for (let i = 0; i < lightBackGround.length; i++) {
          lightBackGround[i].style.backgroundColor = '#32373F';
        }
      }
      function getURLParameter(name) {
        return (new URL(document.location)).searchParams.get(name);
      }

      if (targetId !== null) {
        let targetElement = document.getElementById(targetId);
        targetElement.scrollIntoView({ behavior: 'smooth' });
      }
    };
  </script>
</body>

</html>