• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<html>
3
4<head>
5  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6  <title>quickstart_xpower</title>
7
8  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
10  <style>
11    code[class*='smartperf-'],
12    pre[class*='smartperf-'] {
13      color: #333333;
14      background: none;
15      font-family: Helvetica;
16      line-height: 1.6;
17      text-align: left;
18      white-space: pre;
19      -moz-tab-size: 9;
20      -o-tab-size: 9;
21      tab-size: 8;
22      -webkit-hyphens: none;
23      -moz-hyphens: none;
24      -ms-hyphens: none;
25      hyphens: none;
26    }
27
28    /* Code blocks */
29    pre[class*='smartperf-'] {
30      padding: 0.9em;
31      overflow: auto;
32      border-radius: 2px;
33      background: #f5f5f4;
34    }
35
36    /* Inline code */
37    :not(pre)>code[class*='smartperf-'] {
38      white-space: normal;
39      background: #fcf8f8;
40      padding: 1px 0.2em;
41      border-radius: 1px 0.3em;
42    }
43
44    .tk.comment,
45    .tk.blockquote {
46      color: #8c918c;
47    }
48
49    .tk.cdata {
50      color: #183898;
51    }
52
53    .tk.doctype,
54    .tk.punctuation,
55    .tk.variable,
56    .tk.macro.property {
57      color: #424242;
58    }
59
60    .tk.operator,
61    .tk.important,
62    .tk.keyword,
63    .tk.rule,
64    .tk.builtin {
65      color: #b71d65;
66    }
67
68    .tk.string,
69    .tk.url,
70    .tk.regex,
71    .tk.attr-value {
72      color: #16338d;
73    }
74
75    .tk.property,
76    .tk.number,
77    .tk.boolean,
78    .tk.entity,
79    .tk.atrule,
80    .tk.constant,
81    .tk.symbol,
82    .tk.command,
83    .tk.code {
84      color: #037aa2;
85    }
86
87    .tk.tag,
88    .tk.selector,
89    .tk.prolog {
90      color: #69ad62;
91    }
92
93    .tk.function,
94    .tk.namespace,
95    .tk.pseudo-element,
96    .tk.class,
97    .tk.class-name,
98    .tk.pseudo-class,
99    .tk.id,
100    .tk.url-reference .tk.variable,
101    .tk.attr-name {
102      color: #775d9d;
103    }
104
105    .tk.entity {
106      cursor: help;
107    }
108
109    .tk.title,
110    .tk.title .tk.punctuation {
111      font-weight: bold;
112      color: #1a3773;
113    }
114
115    .tk.list {
116      color: #f56940;
117    }
118
119    .tk.inserted {
120      background-color: #eaffea;
121      color: #509b2f;
122    }
123
124    .tk.deleted {
125      background-color: #fae1e1;
126      color: #ad2d06;
127    }
128
129    .tk.bold {
130      font-weight: bolder;
131    }
132
133    .tk.italic {
134      font-style: normal;
135    }
136
137    /* JSON */
138    .smartperf-json .tk.property {
139      color: #19358c;
140    }
141
142    .smartperf-markup .tk.tag .tk.punctuation {
143      color: #2c2b2b;
144    }
145
146    /* CSS */
147    code.smartperf-css,
148    .smartperf-css .tk.function {
149      color: #047ca4;
150    }
151
152    /* YAML */
153    .smartperf-yaml .tk.atrule {
154      color: #609b5a;
155    }
156
157    code.smartperf-yaml {
158      color: #153491;
159    }
160
161    /* Ruby */
162    .smartperf-ruby .tk.function {
163      color: #3f3e3e;
164    }
165
166    /* Markdown */
167    .smartperf-markdown .tk.url {
168      color: #6e5298;
169    }
170
171    /* Makefile */
172    .smartperf-makefile .tk.symbol {
173      color: #6c5393;
174    }
175
176    .smartperf-makefile .tk.variable {
177      color: #183488;
178    }
179
180    .smartperf-makefile .tk.builtin {
181      color: #027ba4;
182    }
183
184    /* Bash */
185    .smartperf-bash .tk.keyword {
186      color: #027fa9;
187    }
188
189    /* highlight */
190    pre[dl] {
191      position: relative;
192      padding: 1em 1px 1px 0.9em;
193    }
194
195    pre[dl] .line-highlight-wrapper {
196      position: absolute;
197      top: 1px;
198      left: 1px;
199      background-color: transparent;
200      display: block;
201      width: 99%;
202    }
203
204    pre[dl] .line-highlight {
205      position: absolute;
206      left: 1px;
207      right: 1px;
208      padding: inherit;
209      margin-top: 0.9em;
210      background: hsla(25, 21%, 50%, 0.08);
211      background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));
212      pointer-events: none;
213      line-height: inherit;
214      white-space: pre;
215    }
216
217    pre[dl] .line-highlight:before,
218    pre[dl] .line-highlight[data-end]:after {
219      content: attr(data-start);
220      position: absolute;
221      text-shadow: none;
222      top: 0.3em;
223      left: 0.7em;
224      min-width: 0.9em;
225      padding: 1px 0.6em;
226      background-color: hsla(24, 20%, 47%, 0.4);
227      color: hsl(20, 11%, 95%);
228      text-align: center;
229      vertical-align: 0.2em;
230      border-radius: 10000px;
231      box-shadow: 1px 2px #fdf6f6;
232    }
233
234    pre[dl] .line-highlight[data-end]:after {
235      content: attr(data-end);
236      top: auto;
237      bottom: 0.5em;
238    }
239
240    html body {
241      line-height: 1.6;
242      font-size: 16px;
243      color: #333333;
244      overflow: initial;
245      word-wrap: break-word;
246      font-family: Helvetica;
247      box-sizing: border-box;
248    }
249
250    html body> :first-child {
251      margin-top: 0px;
252    }
253
254    html body h1,
255    html body h2,
256    html body h3,
257    html body h4,
258    html body h5,
259    html body h6 {
260      margin-top: 1em;
261      margin-bottom: 16px;
262      color: #000000;
263      line-height: 1.2;
264    }
265
266    html body h1 {
267      font-weight: 300;
268      font-size: 2.25em;
269      padding-bottom: 0.3em;
270    }
271
272    html body h2 {
273      font-weight: 410;
274      font-size: 1.74em;
275      padding-bottom: 0.2em;
276    }
277
278    html body h3 {
279      font-size: 1.6em;
280      font-weight: 501;
281    }
282
283    html body h4 {
284      font-size: 1.26em;
285      font-weight: 601;
286    }
287
288    html body h5 {
289      font-size: 1.2em;
290      font-weight: 601;
291    }
292
293    html body h6 {
294      font-size: 0.9em;
295      font-weight: 601;
296    }
297
298    html body h1,
299    html body h2,
300    html body h3,
301    html body h4,
302    html body h5 {
303      font-weight: 601;
304    }
305
306    html body h5 {
307      font-size: 0.9em;
308    }
309
310    html body h6 {
311      color: #5c5c5c;
312    }
313
314    html body strong {
315      color: #090909;
316    }
317
318    html body del {
319      color: #525252;
320    }
321
322    html body a:not([href]) {
323      color: inherit;
324      text-decoration: none;
325    }
326
327    html body a {
328      color: #0192da;
329      text-decoration: none;
330    }
331
332    html body a:hover {
333      color: #029dea;
334      text-decoration: none;
335    }
336
337    html body img {
338      max-width: 99%;
339    }
340
341    html body>p {
342      margin-top: 1px;
343      margin-bottom: 15px;
344      word-wrap: break-word;
345    }
346
347    html body>ul,
348    html body>ol {
349      margin-bottom: 15px;
350    }
351
352    html body ul,
353    html body ol {
354      padding-left: 1.9em;
355    }
356
357    html body ul.no-list,
358    html body ol.no-list {
359      padding: 0px;
360      list-style-type: none;
361    }
362
363    html body ul ul,
364    html body ul ol,
365    html body ol ol,
366    html body ol ul {
367      margin-top: 1px;
368      margin-bottom: 1px;
369    }
370
371    html body li {
372      margin-bottom: 1px;
373    }
374
375    html body li.task-list-item {
376      list-style: none;
377    }
378
379    html body li>p {
380      margin-top: 1px;
381      margin-bottom: 1px;
382    }
383
384    html body .task-list-item-checkbox {
385      margin: 0 0.3em 0.24em -1.7em;
386      vertical-align: middle;
387    }
388
389    html body .task-list-item-checkbox:hover {
390      cursor: pointer;
391    }
392
393    html body blockquote {
394      padding: 0.1px 15px 0 0.1px;
395      font-size: inherit;
396      color: #5c5c5c;
397      margin: 16px 0.1px 0 0.1px;
398      border-left: 3px solid #cbc9c9;
399      background-color: #e8e6e6;
400    }
401
402    html body blockquote> :first-child {
403      margin-top: 0.2px;
404    }
405
406    html body blockquote> :last-child {
407      margin-bottom: 0.1px;
408    }
409
410    html body hr {
411      height: 5px;
412      background-color: #cbcaca;
413      margin: 32px 0 0.1px 0;
414      border: 0 none;
415    }
416
417    html body table {
418      overflow: auto;
419      border-collapse: collapse;
420      margin: 15px 0.1px 20px 0.1px;
421      border-spacing: 0;
422    }
423
424    html body table th {
425      font-weight: bold;
426      color: #000000;
427    }
428
429    html body table td,
430    html body table th {
431      border: 1px solid #d6d6d6;
432      padding: 2px 14px;
433    }
434
435    html body dl {
436      padding: 0px;
437    }
438
439    html body dl dt {
440      padding: 0px;
441      margin-top: 15px;
442      font-size: 0.9em;
443      font-style: italic;
444      font-weight: bold;
445    }
446
447    html body dl dd {
448      padding: 0px 17px;
449      margin-bottom: 17px;
450    }
451
452    html body code {
453      font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
454      font-size: 0.86em !important;
455      color: #000000;
456      background-color: #f0f0f0;
457      border-radius: 4px;
458      padding: 0.3em 0px;
459    }
460
461    html body code::before,
462    html body code::after {
463      letter-spacing: -0.1em;
464      content: '\00a0';
465    }
466
467    html body pre>code {
468      padding: 1px;
469      margin: 0px;
470      font-size: 0.86em !important;
471      word-break: normal;
472      white-space: pre;
473      background: transparent;
474      border: 0px;
475    }
476
477    html body .highlight {
478      margin-bottom: 17px;
479    }
480
481    html body .highlight pre,
482    html body pre {
483      padding: 0.9em;
484      overflow: auto;
485      font-size: 0.86em !important;
486      line-height: 1.46;
487      border: #d6d6d6;
488      border-radius: 4px;
489    }
490
491    html body .highlight pre {
492      margin-bottom: 0px;
493      word-break: normal;
494    }
495
496    html body pre code,
497    html body pre tt {
498      display: inline;
499      max-width: initial;
500      padding: 1px;
501      margin: 1px;
502      overflow: initial;
503      line-height: inherit;
504      word-wrap: normal;
505      background-color: transparent;
506      border: 1px;
507    }
508
509    html body pre code:before,
510    html body pre tt:before,
511    html body pre code:after,
512    html body pre tt:after {
513      content: normal;
514    }
515
516    html body p,
517    html body blockquote,
518    html body ul,
519    html body ol,
520    html body dl,
521    html body pre {
522      margin-top: 1px;
523      margin-bottom: 17px;
524    }
525
526    html body kbd {
527      color: #000000;
528      border: 3px solid #d6d6d6;
529      border-bottom: 3px solid #c7c7c7;
530      padding: 3px 5px;
531      background-color: #f0f0f0;
532      border-radius: 2px;
533    }
534
535    @media print {
536      html body {
537        background-color: #ffffff;
538      }
539
540      html body h1,
541      html body h2,
542      html body h3,
543      html body h4,
544      html body h5,
545      html body h6 {
546        color: #000000;
547        page-break-after: avoid;
548      }
549
550      html body blockquote {
551        color: #5c5c53;
552      }
553
554      html body pre {
555        page-break-inside: avoid;
556      }
557
558      html body table {
559        display: table;
560      }
561
562      html body img {
563        display: block;
564        max-width: 99%;
565        max-height: 99%;
566      }
567
568      html body pre,
569      html body code {
570        word-wrap: break-word;
571        white-space: pre;
572      }
573    }
574
575    .smartperf-preview {
576      width: 68vw;
577      height: 99%;
578      box-sizing: border-box;
579      overflow: hidden;
580      background-color: #fff;
581    }
582
583    .smartperf-preview .pagebreak,
584    .smartperf-preview .newpage {
585      page-break-before: always;
586    }
587
588    .smartperf-preview pre.line-numbers {
589      position: relative;
590      padding-left: 3.7em;
591      counter-reset: linenumber;
592    }
593
594    .smartperf-preview pre.line-numbers>code {
595      position: relative;
596    }
597
598    .smartperf-preview pre.line-numbers .line-numbers-rows {
599      position: absolute;
600      pointer-events: none;
601      top: 0.9em;
602      font-size: 99%;
603      left: 1px;
604      width: 3em;
605      letter-spacing: -1px;
606      border-right: 1px solid #999;
607      -webkit-user-select: none;
608      -moz-user-select: none;
609      -ms-user-select: none;
610      user-select: none;
611    }
612
613    .smartperf-preview pre.line-numbers .line-numbers-rows>span {
614      pointer-events: none;
615      display: block;
616      counter-increment: linenumber;
617    }
618
619    .smartperf-preview pre.line-numbers .line-numbers-rows>span:before {
620      content: counter(linenumber);
621      color: #999;
622      display: block;
623      padding-right: 0.79em;
624      text-align: right;
625    }
626
627    .smartperf-preview .mathjax-exps .MathJax_Display {
628      text-align: center !important;
629    }
630
631    .smartperf-preview:not([for='preview']) .code-chunk .btn-group {
632      display: none;
633    }
634
635    .smartperf-preview:not([for='preview']) .code-chunk .status {
636      display: none;
637    }
638
639    .smartperf-preview:not([for='preview']) .code-chunk .output-div {
640      margin-bottom: 16px;
641    }
642
643    .scrollbar-style::-webkit-scrollbar {
644      width: 8px;
645    }
646
647    .scrollbar-style::-webkit-scrollbar-track {
648      border-radius: 9px;
649      background-color: transparent;
650    }
651
652    .scrollbar-style::-webkit-scrollbar-thumb {
653      border-radius: 6px;
654      background-color: rgba(150, 150, 150, 1);
655      border: 4px solid rgba(150, 150, 150, 1);
656      background-clip: content-box;
657    }
658
659    html body[for='html-export']:not([dpm]) {
660      position: relative;
661      width: 99%;
662      height: 99%;
663      ;
664      overflow: auto;
665    }
666
667    html body[for='html-export']:not([dpm]) .smartperf-preview {
668      position: relative;
669      top: 1px;
670    }
671
672    @media screen and (min-width: 914px) {
673      html body[for='html-export']:not([dpm]) .smartperf-preview {
674        padding: 2em;
675      }
676    }
677
678    @media screen and (max-width: 914px) {
679      html body[for='html-export']:not([dpm]) .smartperf-preview {
680        padding: 1.9em;
681      }
682    }
683
684    @media screen and (max-width: 450px) {
685      html body[for='html-export']:not([dpm]) .smartperf-preview {
686        font-size: 15px !important;
687        padding: 1.1em;
688      }
689    }
690
691    @media print {
692      html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
693        display: none;
694      }
695    }
696
697    html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
698      position: fixed;
699      bottom: 9px;
700      left: 9px;
701      font-size: 28px;
702      cursor: pointer;
703      color: inherit;
704      z-index: 99;
705      width: 31px;
706      text-align: center;
707      opacity: 0.5;
708    }
709
710    html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn {
711      opacity: 1;
712    }
713
714    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc {
715      position: fixed;
716      top: 1px;
717      left: 1px;
718      width: 300px;
719      height: 99%;
720      padding: 32px 0 48px 0;
721      font-size: 14px;
722      box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33);
723      box-sizing: border-box;
724      overflow: auto;
725      background-color: inherit;
726    }
727
728    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar {
729      width: 9px;
730    }
731
732    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track {
733      border-radius: 11px;
734      background-color: transparent;
735    }
736
737    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb {
738      border-radius: 6px;
739      background-color: rgba(150, 150, 150, 0.66);
740      border: 3px solid rgba(150, 150, 150, 0.66);
741      background-clip: content-box;
742    }
743
744    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a {
745      text-decoration: none;
746    }
747
748    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
749      padding: 1px 1.7em;
750      margin-top: 0.9em;
751    }
752
753    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li {
754      margin-bottom: 0.8em;
755    }
756
757    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
758      list-style-type: none;
759    }
760
761    html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
762      left: 301px;
763      width: calc(100% - 300px);
764      padding: 2em calc(50% - 457px - 150px);
765      margin: 1px;
766      box-sizing: border-box;
767    }
768
769    @media screen and (max-width: 1274px) {
770      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
771        padding: 1.9em;
772      }
773    }
774
775    @media screen and (max-width: 450px) {
776      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
777        width: 99%;
778      }
779    }
780
781    html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc {
782      display: none;
783    }
784  </style>
785</head>
786
787<body for="html-export" id="body" style="margin:0">
788  <div class="smartperf smartperf-preview" style="min-height: 99vh;">
789    <h1 class="mume-header fontColor">Xpower抓取和展示说明</h1>
790
791    <p class="fontColor">Xpower用于查看系统整机和应用功耗数据,当前支持:电源信息、热温度信息。</p>
792    <h2 class="mume-header fontColor">Xpower的抓取</h2>
793    <h3 class="mume-header fontColor" id="header-index-1">Xpower抓取配置参数</h3>
794
795    <p class="fontColor">
796      打开Start Xpower Record开关抓取Xpower数据。点击MessageType下拉框,可以选择需要抓取的类型(下拉框支持多选)。
797      <br />
798    <p><img src="../figures/Xpower/xpowerpackage.jpg" alt="GitHub Logo" /></p>
799    </p>
800    <p>配置项说明:</p>
801    <ul>
802      <li>
803        <pre class="smartperf-text">
804下拉框内数据:应用包名。
805</pre>
806      </li>
807    </ul>
808    <p>选择后Trace command页面显示对应抓取命令</p>
809    <p><img src="../figures/Xpower/xpowercmd.jpg" alt="GitHub Logo" /></p>
810    <p>
811      点击MessageType下拉框,可以选择需要抓取的类型支持多选(只有选择了应用才会出现APP_STATISTIC、APP_DERAIL)。
812      <br />
813      <img src="../figures/Xpower/xpowertype.jpg" alt="GitHub Logo" />
814    </p>
815    <p>配置项说明:</p>
816    <ul>
817      <li>
818        <pre class="smartperf-text">
819REAL_BATTERY:电源信息。
820        </pre>
821      </li>
822      <li>
823        <pre class="smartperf-text">
824THERMAL_REPORT:热温度信息。
825        </pre>
826      </li>
827      <li>
828        <pre class="smartperf-text">
829COMPONENT_TOP:每个器件的TOP应用。
830        </pre>
831      </li>
832      <li>
833        <pre class="smartperf-text">
834APP_STATISTIC:应用每个器件的能耗信息。
835        </pre>
836      </li>
837      <li>
838        <pre class="smartperf-text">
839APP_DETAIL:应用每个器件的详细信息。
840        </pre>
841      </li>
842    </ul>
843    <p>选择后Trace command页面显示对应抓取命令:</p>
844    <p><img src="../figures/Xpower/xpowercmd1.jpg" alt="GitHub Logo" /></p>
845    <h3 class="mume-header fontColor" id="header-index-2">Xpower展示说明</h3>
846
847    <p class="fontColor">
848      将抓取的Xpower文件导入到HiSmartPerf工具中查看,查看系统整机和应用功耗情况。
849      <br />
850      <img src="../figures/Xpower/xpowertrace.jpg" alt="GitHub Logo" />
851    </p>
852    <h3 class="mume-header fontColor" id="header-index-2">Xpower泳道图说明——REAL_BATTERY</h3>
853    <p class="fontColor">
854      选择REAL_BATTERY会展示六条泳道:
855      <br />
856      <img src="../figures/Xpower/xpowerbattery.jpg" alt="GitHub Logo" />
857    </p>
858    <ul class="fontColor">
859      <li>
860        <pre class="smartperf-text fontColor light">
861Battery.Capacity: 电池容量(单位mAh)。
862</pre>
863      </li>
864      <li>
865        <pre class="smartperf-text fontColor light">
866Battery.Charge: 充电状态(充电1,非充电0)。
867</pre>
868      </li>
869      <li>
870        <pre class="smartperf-text fontColor light">
871Battery.GasGauge:电池剩余电量(单位mAh)。
872</pre>
873      </li>
874      <li>
875        <pre class="smartperf-text fontColor light">
876Battery.Level:电池百分比。
877</pre>
878      </li>
879      <li>
880        <pre class="smartperf-text fontColor light">
881Battery.RealCurrent: 实时电流(单位mAh,充电时为正数,耗电时为负数)。
882</pre>
883      </li>
884      <li>
885        <pre class="smartperf-text fontColor light">
886Battery.Screen: 屏幕状态(亮屏1,灭屏0)。
887</pre>
888      </li>
889    </ul>
890    <h3 class="mume-header fontColor" id="header-index-2">Xpower泳道图说明——THERMAL_REPORT</h3>
891    <p class="fontColor">
892      选择THERMAL_REPORT则展示两条泳道:
893      <br />
894      <img src="../figures/Xpower/xpowerthermalreport.jpg" alt="GitHub Logo" />
895    </p>
896    <ul class="fontColor">
897      <li>
898        <pre class="smartperf-text fontColor light">
899ThermalReport.ShellTemp: 外壳温度(单位℃)。
900</pre>
901      </li>
902      <li>
903        <pre class="smartperf-text fontColor light">
904ThermalReport.ThermalLevel: 温度等级。
905</pre>
906      </li>
907    </ul>
908    <h3 id="system泳道图点选和框选功能">system泳道图点选和框选功能 </h3>
909    <p>点击system下的任意通道图弹出Current Selection的tab页</p>
910    <p><img src="../figures/Xpower/xpower_kx_system1.jpg" alt="GitHub Logo"></p>
911    <ul>
912      <li>StartTime(Relative):相对时间</li>
913      <li>StartTime(Absolute) :绝对时间</li>
914      <li>Value:值</li>
915      <li>Duration:持续时间</li>
916    </ul>
917    <p>框选system下的RealCurrent泳道图可以弹出Xpower Counters和Xpowe Component Top两个tab页</p>
918    <p>Xpower Counters的tab页</p>
919    <p><img src="../figures/Xpower/xpower_kx_system.jpg" alt="GitHub Logo"></p>
920    <ul>
921      <li>
922        <p>Name:器件的名字</p>
923      </li>
924      <li>
925        <p>Delta value:增量值</p>
926      </li>
927      <li>
928        <p>Rate /s:速率(单位:s)</p>
929      </li>
930      <li>
931        <p>Weighted:加权平均值</p>
932      </li>
933      <li>
934        <p>avg value:平均值</p>
935      </li>
936      <li>
937        <p>Count:数值</p>
938      </li>
939      <li>
940        <p>First value:第一个值</p>
941      </li>
942      <li>
943        <p>Last value:最后一个值</p>
944      </li>
945      <li>
946        <p>Min value:最小值</p>
947      </li>
948      <li>
949        <p>Max value:最大值</p>
950      </li>
951    </ul>
952    <p>Component Top Tab页: </p>
953    <p><img src="../figures/Xpower/xpowertop.jpg" alt="GitHub Logo" /></p>
954    <ul>
955      <li>
956        <pre class="smartperf-text">
957audio:audioTop应用的能耗
958</pre>
959      </li>
960      <li>
961        <pre class="smartperf-text">
962bluetooth:BluetoothTop应用的能耗
963</pre>
964      </li>
965      <li>
966        <pre class="smartperf-text">
967flashlight:flashlightTop应用的能耗
968</pre>
969      </li>
970      <li>
971        <pre class="smartperf-text">
972location:locationTop应用的能耗
973</pre>
974      </li>
975      <li>
976        <pre class="smartperf-text">
977wifi:wifiTop应用的能耗
978</pre>
979      </li>
980      <li>
981        <pre class="smartperf-text">
982camera:cameraTop应用的能耗
983</pre>
984      </li>
985      <li>
986        <pre class="smartperf-text">
987cpu:cpuTop应用的能耗
988</pre>
989      </li>
990      <li>
991        <pre class="smartperf-text">
992display:displayTop应用的能耗
993</pre>
994      </li>
995      <li>
996        <pre class="smartperf-text">
997gpu:gpuTop应用的能耗
998</pre>
999      </li>
1000    </ul>
1001    <p>根据选的的参数不同tab页的表头会发生变化,audio/bluetooth/flashlight/location/wifiscan表头为</p>
1002    <ul>
1003      <li>TimeStamp:时间戳</li>
1004      <li>AppName:应用名</li>
1005      <li>Background Duration:后台持续时间</li>
1006      <li>Background Energy:后台能耗</li>
1007      <li>Foreground Duration:前台持续时间</li>
1008      <li>Foreground Energy:前台能耗</li>
1009      <li>ScreenOff Duration:锁屏持续时间</li>
1010      <li>ScreenOff Energy:锁屏能耗</li>
1011      <li>ScreenOn Duration:亮屏持续时间</li>
1012      <li>ScreenOn Energy:亮屏能耗</li>
1013    </ul>
1014    <p>camera的表头为:</p>
1015    <ul>
1016      <li>
1017        <p>TimeStamp:时间戳</p>
1018      </li>
1019      <li>
1020        <p>AppName:应用名</p>
1021      </li>
1022      <li>
1023        <p>CameraId:相机id</p>
1024      </li>
1025      <li>
1026        <p>Background Duration:后台持续时间</p>
1027      </li>
1028      <li>
1029        <p>Background Energy:后台能耗</p>
1030      </li>
1031      <li>
1032        <p>Foreground Duration:前台持续时间</p>
1033      </li>
1034      <li>
1035        <p>Foreground Energy:前台能耗</p>
1036      </li>
1037      <li>
1038        <p>ScreenOff Duration:锁屏持续时间</p>
1039      </li>
1040      <li>
1041        <p>ScreenOff Energy:锁屏能耗</p>
1042      </li>
1043      <li>
1044        <p>ScreenOn Duration:亮屏持续时间</p>
1045      </li>
1046      <li>
1047        <p>ScreenOn Energy:亮屏能耗</p>
1048      </li>
1049    </ul>
1050    <p>CPU表头为:</p>
1051    <ul>
1052      <li>
1053        <p>TimeStamp:时间戳</p>
1054      </li>
1055      <li>
1056        <p>AppName:应用名</p>
1057      </li>
1058      <li>
1059        <p>UID:UID</p>
1060      </li>
1061      <li>
1062        <p>Load :负荷</p>
1063      </li>
1064      <li>
1065        <p>Background Duration:后台持续时间</p>
1066      </li>
1067      <li>
1068        <p>Background Energy:后台能耗</p>
1069      </li>
1070      <li>
1071        <p>Foreground Duration:前台持续时间</p>
1072      </li>
1073      <li>
1074        <p>Foreground Energy:前台能耗</p>
1075      </li>
1076      <li>
1077        <p>ScreenOff Duration:锁屏持续时间</p>
1078      </li>
1079      <li>
1080        <p>ScreenOff Energy:锁屏能耗</p>
1081      </li>
1082      <li>
1083        <p>ScreenOn Duration:亮屏持续时间</p>
1084      </li>
1085      <li>
1086        <p>ScreenOn Energy:亮屏能耗</p>
1087      </li>
1088    </ul>
1089    <p>display/GPU表头</p>
1090    <ul>
1091      <li>TimeStamp:时间戳</li>
1092      <li>AppName:应用名</li>
1093      <li>Usage Duration:使用时长</li>
1094      <li>Usage Energy:使用能耗</li>
1095    </ul>
1096    <h3 id="xpower泳道图说明app_statistic">Xpower泳道图说明——APP_STATISTIC</h3>
1097    <p>选择APP_STATISTIC则只有statistic泳道图有数据:</p>
1098    <p><img src="../figures/Xpower/xpowerstatistic.jpg" alt="GitHub Logo" /></p>
1099    <ul>
1100      <li>statistic:每个器件的统计数据</li>
1101    </ul>
1102    <h3 id="xpower泳道图说明app_detail">Xpower泳道图说明——APP_DETAIL</h3>
1103    <p>选择APP_DETAIL则有八条泳道图有数据:</p>
1104    <p><img src="../figures/Xpower/xpowerdetail.jpg" alt="GitHub Logo" /></p>
1105    <p><img src="../figures/Xpower/xpowerdetail2.jpg" alt="GitHub Logo" /></p>
1106    <ul>
1107      <li>WIFIPacket:wifi传输的数据包个数。tx表示发送,rx表示接收</li>
1108      <li>WIFIBytes:wifi的字节数。tx表示发送,rx表示接收</li>
1109      <li>Display:屏幕的刷新率。</li>
1110      <li>ThreadCount:每个时间线程数统计。</li>
1111      <li>ThreadEnergy:线程能耗。</li>
1112      <li>ThreadLoad:线程负载。</li>
1113      <li>GpuFreqCount:GPU频率计数。</li>
1114      <li>GpuFreq:GPU频率时间。</li>
1115    </ul>
1116    <h3 id="应用泳道图的点选和框选">应用泳道图的点选和框选</h3>
1117    <p>statistic泳道图的点选功能:点击statistic泳道图可以弹出Xpower Statistic Current Data的tab页</p>
1118    <p><img src="../figures/Xpower/xpower_dx_current.jpg" alt="GitHub Logo" /></p>
1119    <ul>
1120      <li>Name:器件的名字</li>
1121      <li>TimeStamp:时间戳</li>
1122      <li>Duration:持续时间</li>
1123      <li>Energy:能耗</li>
1124    </ul>
1125    <p>
1126      WIFIPacket、WIFIPacket和DisPlay泳道图的点选功能:点击WIFIPacket、WIFIPacket和DisPlay泳道图可以弹出Current
1127      Selection的tab页
1128    </p>
1129    <p><img src="../figures/Xpower/xpower_dx_selection.jpg" alt="GitHub Logo" /></p>
1130    <ul>
1131      <li>StartTime(Relative) :相对开始时间</li>
1132      <li>StartTime(Absolute) :绝对开始时间</li>
1133      <li>receiver:接收数据大小</li>
1134      <li>send:发送数据大小</li>
1135    </ul>
1136    <p>点击display的泳道图会出现屏幕刷新率的持续时间</p>
1137    <p><img src="../figures/Xpower/xpower_dx_display.jpg" alt="GitHub Logo" /></p>
1138    <p>Thread Load泳道图的点选功能</p>
1139    <p><img src="../figures/Xpower/xpower_dx_load.jpg" alt="GitHub Logo" /></p>
1140    <ul>
1141      <li>ThreadName:线程名</li>
1142      <li>TimeStamp:时间戳</li>
1143      <li>Load:负载</li>
1144      <li>Duration:持续时间</li>
1145    </ul>
1146    <p>Thread Energy泳道图的点选功能:</p>
1147    <p><img src="../figures/Xpower/xpower_dx_energy.jpg" alt="GitHub Logo" /></p>
1148    <ul>
1149      <li>ThreadName:线程名</li>
1150      <li>TimeStamp:时间戳</li>
1151      <li>Energy:能耗</li>
1152      <li>Duration:持续时间</li>
1153    </ul>
1154    <p>GPU Freq泳道图的点选功能:</p>
1155    <p><img src="../figures/Xpower/xpower_dx_freq.jpg" alt="GitHub Logo" /></p>
1156    <ul>
1157      <li>Frequency:频率</li>
1158      <li>TimeStamp:时间戳</li>
1159      <li>RunTime:运行时间</li>
1160      <li>IdleTime:休眠时间</li>
1161    </ul>
1162    <p>
1163      Thread Count和Gpu Freq Count框选功能:框选Gpu Freq Count、Thread Count泳道图任意处会弹出Xpower Counters的tab页
1164    </p>
1165    <p><img src="../figures/Xpower/xpower_kx_counters.jpg" alt="GitHub Logo" /></p>
1166    <ul>
1167      <li>Name:器件名字</li>
1168      <li>Delta value:增量值</li>
1169      <li>Rate/s:速率(单位:s)</li>
1170      <li>Weighted avg value:加权平均值</li>
1171      <li>Count:数量</li>
1172      <li>First value:第一个值</li>
1173      <li>Last value:最后一个值</li>
1174      <li>Min value:最小值</li>
1175      <li>Max value:最大值</li>
1176    </ul>
1177    <p>Statistics泳道图的框选功能:框选Statistics泳道图任意处会弹出Xpowe Statistics的tab页</p>
1178    <p><img src="../figures/Xpower/xpower_kx_Statistics.jpg" alt="GitHub Logo" /></p>
1179    <ul>
1180      <li>Name:器件名</li>
1181      <li>Count:数量:</li>
1182      <li>Avg_Energy:平均能耗</li>
1183      <li>Max_Energy:最大能耗</li>
1184      <li>Min_Energy:最小能耗</li>
1185    </ul>
1186    <p>
1187      WIFIPackets、WIFIBytes和Display泳道图的框选功能:框选WIFIPackets、WIFIBytes和Display会出现三个Display
1188      Detail、WIFIPackets、WIFIBytes三个tab页,但表头均一致
1189    </p>
1190    <ul>
1191      <li>Name:名字(display的tab页为刷新率,WIFIPackets、WIFIBytes的tab页为收发数据)</li>
1192      <li>Count:数量(display、WIFIPackets、WIFIBytes的tab页均为当前框选数据的数量)</li>
1193      <li>Max:最大值(display的tab页为刷新率的最大持续时间,WIFIPackets、WIFIBytes的tab页为收发的数据包最大个数或数据最大字节)</li>
1194      <li>Min:最小值(display的tab页为刷新率的最小持续时间,WIFIPackets、WIFIBytes的tab页为收发的数据包最小个数或数据最小字节)</li>
1195      <li>Avg:平均值(display的tab页为刷新率的平均持续时间,WIFIPackets、WIFIBytes的tab页为收发的数据包平均个数或数据平均字节)</li>
1196    </ul>
1197    <p>Thread energy泳道图的框选功能:框选Thread energy泳道图会弹出Xpowe Thread energy的tab页</p>
1198    <p><img src="../figures/Xpower/xpower_kx_energy.jpg" alt="GitHub Logo" /></p>
1199    <ul>
1200      <li>ThreadName:线程名</li>
1201      <li>Count:线程数</li>
1202      <li>Avg Energy:平均能耗</li>
1203      <li>Max Energy:最大能耗</li>
1204      <li>Min Energy:最小能耗</li>
1205    </ul>
1206    <p>Thread Load泳道图的框选功能:框选Thread Load泳道图会弹出Xpowe Thread Load的tab页</p>
1207    <p><img src="../figures/Xpower/xpower_kx_load.jpg" alt="GitHub Logo" /></p>
1208    <ul>
1209      <li>ThreadName:线程名</li>
1210      <li>Count:线程出现的次数</li>
1211      <li>Avg Load:平均占比</li>
1212      <li>Max Load:最大占比</li>
1213      <li>Min Load:最小占比</li>
1214    </ul>
1215    <p>Gpu Freq Count泳道图的框选功能:框选Thread energy泳道图会弹出Xpowe Gpu Frequency 的tab页</p>
1216    <p><img src="../figures/Xpower/xpower_kx_freq.jpg" alt="GitHub Logo" /></p>
1217    <ul>
1218      <li>Frequency:频率</li>
1219      <li>Count:数量</li>
1220      <li>Avg RunTime:平均运行时间</li>
1221      <li>Max RunTime:最大运行时间</li>
1222      <li>Min RunTime:最小运行时间</li>
1223      <li>Avg IdleTime:平均休眠时间</li>
1224      <li>Max IdleTime:最大休眠时间</li>
1225      <li>Min IdleTime:最小休眠时间</li>
1226    </ul>
1227  </div>
1228
1229  <script>
1230    window.onload = () => {
1231      let isDark = getURLParameter('dark');
1232      let targetId = getURLParameter('targetId');
1233      let isBack = getURLParameter('isBack');
1234      if (isDark === 'true') {
1235        document.getElementById('body').setAttribute('style', 'background-color:#272C34;');
1236        let header = document.getElementsByClassName('fontColor');
1237        for (let i = 0; i < header.length; i++) {
1238          header[i].style.color = '#fff';
1239        }
1240        let lightBackGround = document.getElementsByClassName('light');
1241        for (let i = 0; i < lightBackGround.length; i++) {
1242          lightBackGround[i].style.backgroundColor = '#32373F';
1243        }
1244      }
1245      function getURLParameter(name) {
1246        return (new URL(document.location)).searchParams.get(name);
1247      }
1248
1249      if (targetId !== null) {
1250        let targetElement = document.getElementById(targetId);
1251        targetElement.scrollIntoView({ behavior: 'smooth' });
1252      }
1253    };
1254  </script>
1255</body>
1256
1257</html>