1fb726d48Sopenharmony_ci<!DOCTYPE html> 2fb726d48Sopenharmony_ci<html> 3fb726d48Sopenharmony_ci <head> 4fb726d48Sopenharmony_ci <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5fb726d48Sopenharmony_ci <title>quickstart_bio</title> 6fb726d48Sopenharmony_ci 7fb726d48Sopenharmony_ci <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8fb726d48Sopenharmony_ci 9fb726d48Sopenharmony_ci <style> 10fb726d48Sopenharmony_ci code[class*='smartperf-'], 11fb726d48Sopenharmony_ci pre[class*='smartperf-'] { 12fb726d48Sopenharmony_ci color: #333333; 13fb726d48Sopenharmony_ci background: none; 14fb726d48Sopenharmony_ci font-family: Helvetica; 15fb726d48Sopenharmony_ci line-height: 1.6; 16fb726d48Sopenharmony_ci text-align: left; 17fb726d48Sopenharmony_ci white-space: pre; 18fb726d48Sopenharmony_ci -moz-tab-size: 9; 19fb726d48Sopenharmony_ci -o-tab-size: 9; 20fb726d48Sopenharmony_ci tab-size: 8; 21fb726d48Sopenharmony_ci -webkit-hyphens: none; 22fb726d48Sopenharmony_ci -moz-hyphens: none; 23fb726d48Sopenharmony_ci -ms-hyphens: none; 24fb726d48Sopenharmony_ci hyphens: none; 25fb726d48Sopenharmony_ci } 26fb726d48Sopenharmony_ci 27fb726d48Sopenharmony_ci /* Code blocks */ 28fb726d48Sopenharmony_ci pre[class*='smartperf-'] { 29fb726d48Sopenharmony_ci padding: 0.9em; 30fb726d48Sopenharmony_ci overflow: auto; 31fb726d48Sopenharmony_ci border-radius: 2px; 32fb726d48Sopenharmony_ci background: #f5f5f4; 33fb726d48Sopenharmony_ci } 34fb726d48Sopenharmony_ci 35fb726d48Sopenharmony_ci /* Inline code */ 36fb726d48Sopenharmony_ci :not(pre) > code[class*='smartperf-'] { 37fb726d48Sopenharmony_ci white-space: normal; 38fb726d48Sopenharmony_ci background: #fcf8f8; 39fb726d48Sopenharmony_ci padding: 1px 0.2em; 40fb726d48Sopenharmony_ci border-radius: 1px 0.3em; 41fb726d48Sopenharmony_ci } 42fb726d48Sopenharmony_ci 43fb726d48Sopenharmony_ci .tk.comment, 44fb726d48Sopenharmony_ci .tk.blockquote { 45fb726d48Sopenharmony_ci color: #8c918c; 46fb726d48Sopenharmony_ci } 47fb726d48Sopenharmony_ci 48fb726d48Sopenharmony_ci .tk.cdata { 49fb726d48Sopenharmony_ci color: #183898; 50fb726d48Sopenharmony_ci } 51fb726d48Sopenharmony_ci 52fb726d48Sopenharmony_ci .tk.doctype, 53fb726d48Sopenharmony_ci .tk.punctuation, 54fb726d48Sopenharmony_ci .tk.variable, 55fb726d48Sopenharmony_ci .tk.macro.property { 56fb726d48Sopenharmony_ci color: #424242; 57fb726d48Sopenharmony_ci } 58fb726d48Sopenharmony_ci 59fb726d48Sopenharmony_ci .tk.operator, 60fb726d48Sopenharmony_ci .tk.important, 61fb726d48Sopenharmony_ci .tk.keyword, 62fb726d48Sopenharmony_ci .tk.rule, 63fb726d48Sopenharmony_ci .tk.builtin { 64fb726d48Sopenharmony_ci color: #b71d65; 65fb726d48Sopenharmony_ci } 66fb726d48Sopenharmony_ci 67fb726d48Sopenharmony_ci .tk.string, 68fb726d48Sopenharmony_ci .tk.url, 69fb726d48Sopenharmony_ci .tk.regex, 70fb726d48Sopenharmony_ci .tk.attr-value { 71fb726d48Sopenharmony_ci color: #16338d; 72fb726d48Sopenharmony_ci } 73fb726d48Sopenharmony_ci 74fb726d48Sopenharmony_ci .tk.property, 75fb726d48Sopenharmony_ci .tk.number, 76fb726d48Sopenharmony_ci .tk.boolean, 77fb726d48Sopenharmony_ci .tk.entity, 78fb726d48Sopenharmony_ci .tk.atrule, 79fb726d48Sopenharmony_ci .tk.constant, 80fb726d48Sopenharmony_ci .tk.symbol, 81fb726d48Sopenharmony_ci .tk.command, 82fb726d48Sopenharmony_ci .tk.code { 83fb726d48Sopenharmony_ci color: #037aa2; 84fb726d48Sopenharmony_ci } 85fb726d48Sopenharmony_ci 86fb726d48Sopenharmony_ci .tk.tag, 87fb726d48Sopenharmony_ci .tk.selector, 88fb726d48Sopenharmony_ci .tk.prolog { 89fb726d48Sopenharmony_ci color: #69ad62; 90fb726d48Sopenharmony_ci } 91fb726d48Sopenharmony_ci 92fb726d48Sopenharmony_ci .tk.function, 93fb726d48Sopenharmony_ci .tk.namespace, 94fb726d48Sopenharmony_ci .tk.pseudo-element, 95fb726d48Sopenharmony_ci .tk.class, 96fb726d48Sopenharmony_ci .tk.class-name, 97fb726d48Sopenharmony_ci .tk.pseudo-class, 98fb726d48Sopenharmony_ci .tk.id, 99fb726d48Sopenharmony_ci .tk.url-reference .tk.variable, 100fb726d48Sopenharmony_ci .tk.attr-name { 101fb726d48Sopenharmony_ci color: #775d9d; 102fb726d48Sopenharmony_ci } 103fb726d48Sopenharmony_ci 104fb726d48Sopenharmony_ci .tk.entity { 105fb726d48Sopenharmony_ci cursor: help; 106fb726d48Sopenharmony_ci } 107fb726d48Sopenharmony_ci 108fb726d48Sopenharmony_ci .tk.title, 109fb726d48Sopenharmony_ci .tk.title .tk.punctuation { 110fb726d48Sopenharmony_ci font-weight: bold; 111fb726d48Sopenharmony_ci color: #1a3773; 112fb726d48Sopenharmony_ci } 113fb726d48Sopenharmony_ci 114fb726d48Sopenharmony_ci .tk.list { 115fb726d48Sopenharmony_ci color: #f56940; 116fb726d48Sopenharmony_ci } 117fb726d48Sopenharmony_ci 118fb726d48Sopenharmony_ci .tk.inserted { 119fb726d48Sopenharmony_ci background-color: #eaffea; 120fb726d48Sopenharmony_ci color: #509b2f; 121fb726d48Sopenharmony_ci } 122fb726d48Sopenharmony_ci 123fb726d48Sopenharmony_ci .tk.deleted { 124fb726d48Sopenharmony_ci background-color: #fae1e1; 125fb726d48Sopenharmony_ci color: #ad2d06; 126fb726d48Sopenharmony_ci } 127fb726d48Sopenharmony_ci 128fb726d48Sopenharmony_ci .tk.bold { 129fb726d48Sopenharmony_ci font-weight: bolder; 130fb726d48Sopenharmony_ci } 131fb726d48Sopenharmony_ci 132fb726d48Sopenharmony_ci .tk.italic { 133fb726d48Sopenharmony_ci font-style: normal; 134fb726d48Sopenharmony_ci } 135fb726d48Sopenharmony_ci 136fb726d48Sopenharmony_ci /* JSON */ 137fb726d48Sopenharmony_ci .smartperf-json .tk.property { 138fb726d48Sopenharmony_ci color: #19358c; 139fb726d48Sopenharmony_ci } 140fb726d48Sopenharmony_ci 141fb726d48Sopenharmony_ci .smartperf-markup .tk.tag .tk.punctuation { 142fb726d48Sopenharmony_ci color: #2c2b2b; 143fb726d48Sopenharmony_ci } 144fb726d48Sopenharmony_ci 145fb726d48Sopenharmony_ci /* CSS */ 146fb726d48Sopenharmony_ci code.smartperf-css, 147fb726d48Sopenharmony_ci .smartperf-css .tk.function { 148fb726d48Sopenharmony_ci color: #047ca4; 149fb726d48Sopenharmony_ci } 150fb726d48Sopenharmony_ci 151fb726d48Sopenharmony_ci /* YAML */ 152fb726d48Sopenharmony_ci .smartperf-yaml .tk.atrule { 153fb726d48Sopenharmony_ci color: #609b5a; 154fb726d48Sopenharmony_ci } 155fb726d48Sopenharmony_ci 156fb726d48Sopenharmony_ci code.smartperf-yaml { 157fb726d48Sopenharmony_ci color: #153491; 158fb726d48Sopenharmony_ci } 159fb726d48Sopenharmony_ci 160fb726d48Sopenharmony_ci /* Ruby */ 161fb726d48Sopenharmony_ci .smartperf-ruby .tk.function { 162fb726d48Sopenharmony_ci color: #3f3e3e; 163fb726d48Sopenharmony_ci } 164fb726d48Sopenharmony_ci 165fb726d48Sopenharmony_ci /* Markdown */ 166fb726d48Sopenharmony_ci .smartperf-markdown .tk.url { 167fb726d48Sopenharmony_ci color: #6e5298; 168fb726d48Sopenharmony_ci } 169fb726d48Sopenharmony_ci 170fb726d48Sopenharmony_ci /* Makefile */ 171fb726d48Sopenharmony_ci .smartperf-makefile .tk.symbol { 172fb726d48Sopenharmony_ci color: #6c5393; 173fb726d48Sopenharmony_ci } 174fb726d48Sopenharmony_ci 175fb726d48Sopenharmony_ci .smartperf-makefile .tk.variable { 176fb726d48Sopenharmony_ci color: #183488; 177fb726d48Sopenharmony_ci } 178fb726d48Sopenharmony_ci 179fb726d48Sopenharmony_ci .smartperf-makefile .tk.builtin { 180fb726d48Sopenharmony_ci color: #027ba4; 181fb726d48Sopenharmony_ci } 182fb726d48Sopenharmony_ci 183fb726d48Sopenharmony_ci /* Bash */ 184fb726d48Sopenharmony_ci .smartperf-bash .tk.keyword { 185fb726d48Sopenharmony_ci color: #027fa9; 186fb726d48Sopenharmony_ci } 187fb726d48Sopenharmony_ci 188fb726d48Sopenharmony_ci /* highlight */ 189fb726d48Sopenharmony_ci pre[dl] { 190fb726d48Sopenharmony_ci position: relative; 191fb726d48Sopenharmony_ci padding: 1em 1px 1px 0.9em; 192fb726d48Sopenharmony_ci } 193fb726d48Sopenharmony_ci 194fb726d48Sopenharmony_ci pre[dl] .line-highlight-wrapper { 195fb726d48Sopenharmony_ci position: absolute; 196fb726d48Sopenharmony_ci top: 1px; 197fb726d48Sopenharmony_ci left: 1px; 198fb726d48Sopenharmony_ci background-color: transparent; 199fb726d48Sopenharmony_ci display: block; 200fb726d48Sopenharmony_ci width: 99%; 201fb726d48Sopenharmony_ci } 202fb726d48Sopenharmony_ci 203fb726d48Sopenharmony_ci pre[dl] .line-highlight { 204fb726d48Sopenharmony_ci position: absolute; 205fb726d48Sopenharmony_ci left: 1px; 206fb726d48Sopenharmony_ci right: 1px; 207fb726d48Sopenharmony_ci padding: inherit; 208fb726d48Sopenharmony_ci margin-top: 0.9em; 209fb726d48Sopenharmony_ci background: hsla(25, 21%, 50%, 0.08); 210fb726d48Sopenharmony_ci background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); 211fb726d48Sopenharmony_ci pointer-events: none; 212fb726d48Sopenharmony_ci line-height: inherit; 213fb726d48Sopenharmony_ci white-space: pre; 214fb726d48Sopenharmony_ci } 215fb726d48Sopenharmony_ci 216fb726d48Sopenharmony_ci pre[dl] .line-highlight:before, 217fb726d48Sopenharmony_ci pre[dl] .line-highlight[data-end]:after { 218fb726d48Sopenharmony_ci content: attr(data-start); 219fb726d48Sopenharmony_ci position: absolute; 220fb726d48Sopenharmony_ci text-shadow: none; 221fb726d48Sopenharmony_ci top: 0.3em; 222fb726d48Sopenharmony_ci left: 0.7em; 223fb726d48Sopenharmony_ci min-width: 0.9em; 224fb726d48Sopenharmony_ci padding: 1px 0.6em; 225fb726d48Sopenharmony_ci background-color: hsla(24, 20%, 47%, 0.4); 226fb726d48Sopenharmony_ci color: hsl(20, 11%, 95%); 227fb726d48Sopenharmony_ci text-align: center; 228fb726d48Sopenharmony_ci vertical-align: 0.2em; 229fb726d48Sopenharmony_ci border-radius: 10000px; 230fb726d48Sopenharmony_ci box-shadow: 1px 2px #fdf6f6; 231fb726d48Sopenharmony_ci } 232fb726d48Sopenharmony_ci 233fb726d48Sopenharmony_ci pre[dl] .line-highlight[data-end]:after { 234fb726d48Sopenharmony_ci content: attr(data-end); 235fb726d48Sopenharmony_ci top: auto; 236fb726d48Sopenharmony_ci bottom: 0.5em; 237fb726d48Sopenharmony_ci } 238fb726d48Sopenharmony_ci 239fb726d48Sopenharmony_ci html body { 240fb726d48Sopenharmony_ci line-height: 1.6; 241fb726d48Sopenharmony_ci font-size: 16px; 242fb726d48Sopenharmony_ci color: #333333; 243fb726d48Sopenharmony_ci overflow: initial; 244fb726d48Sopenharmony_ci word-wrap: break-word; 245fb726d48Sopenharmony_ci font-family: Helvetica; 246fb726d48Sopenharmony_ci box-sizing: border-box; 247fb726d48Sopenharmony_ci } 248fb726d48Sopenharmony_ci 249fb726d48Sopenharmony_ci html body > :first-child { 250fb726d48Sopenharmony_ci margin-top: 0px; 251fb726d48Sopenharmony_ci } 252fb726d48Sopenharmony_ci 253fb726d48Sopenharmony_ci html body h1, 254fb726d48Sopenharmony_ci html body h2, 255fb726d48Sopenharmony_ci html body h3, 256fb726d48Sopenharmony_ci html body h4, 257fb726d48Sopenharmony_ci html body h5, 258fb726d48Sopenharmony_ci html body h6 { 259fb726d48Sopenharmony_ci margin-top: 1em; 260fb726d48Sopenharmony_ci margin-bottom: 16px; 261fb726d48Sopenharmony_ci color: #000000; 262fb726d48Sopenharmony_ci line-height: 1.2; 263fb726d48Sopenharmony_ci } 264fb726d48Sopenharmony_ci 265fb726d48Sopenharmony_ci html body h1 { 266fb726d48Sopenharmony_ci font-weight: 300; 267fb726d48Sopenharmony_ci font-size: 2.25em; 268fb726d48Sopenharmony_ci padding-bottom: 0.3em; 269fb726d48Sopenharmony_ci } 270fb726d48Sopenharmony_ci 271fb726d48Sopenharmony_ci html body h2 { 272fb726d48Sopenharmony_ci font-weight: 410; 273fb726d48Sopenharmony_ci font-size: 1.74em; 274fb726d48Sopenharmony_ci padding-bottom: 0.2em; 275fb726d48Sopenharmony_ci } 276fb726d48Sopenharmony_ci 277fb726d48Sopenharmony_ci html body h3 { 278fb726d48Sopenharmony_ci font-size: 1.6em; 279fb726d48Sopenharmony_ci font-weight: 501; 280fb726d48Sopenharmony_ci } 281fb726d48Sopenharmony_ci 282fb726d48Sopenharmony_ci html body h4 { 283fb726d48Sopenharmony_ci font-size: 1.26em; 284fb726d48Sopenharmony_ci font-weight: 601; 285fb726d48Sopenharmony_ci } 286fb726d48Sopenharmony_ci 287fb726d48Sopenharmony_ci html body h5 { 288fb726d48Sopenharmony_ci font-size: 1.2em; 289fb726d48Sopenharmony_ci font-weight: 601; 290fb726d48Sopenharmony_ci } 291fb726d48Sopenharmony_ci 292fb726d48Sopenharmony_ci html body h6 { 293fb726d48Sopenharmony_ci font-size: 0.9em; 294fb726d48Sopenharmony_ci font-weight: 601; 295fb726d48Sopenharmony_ci } 296fb726d48Sopenharmony_ci 297fb726d48Sopenharmony_ci html body h1, 298fb726d48Sopenharmony_ci html body h2, 299fb726d48Sopenharmony_ci html body h3, 300fb726d48Sopenharmony_ci html body h4, 301fb726d48Sopenharmony_ci html body h5 { 302fb726d48Sopenharmony_ci font-weight: 601; 303fb726d48Sopenharmony_ci } 304fb726d48Sopenharmony_ci 305fb726d48Sopenharmony_ci html body h5 { 306fb726d48Sopenharmony_ci font-size: 0.9em; 307fb726d48Sopenharmony_ci } 308fb726d48Sopenharmony_ci 309fb726d48Sopenharmony_ci html body h6 { 310fb726d48Sopenharmony_ci color: #5c5c5c; 311fb726d48Sopenharmony_ci } 312fb726d48Sopenharmony_ci 313fb726d48Sopenharmony_ci html body strong { 314fb726d48Sopenharmony_ci color: #090909; 315fb726d48Sopenharmony_ci } 316fb726d48Sopenharmony_ci 317fb726d48Sopenharmony_ci html body del { 318fb726d48Sopenharmony_ci color: #525252; 319fb726d48Sopenharmony_ci } 320fb726d48Sopenharmony_ci 321fb726d48Sopenharmony_ci html body a:not([href]) { 322fb726d48Sopenharmony_ci color: inherit; 323fb726d48Sopenharmony_ci text-decoration: none; 324fb726d48Sopenharmony_ci } 325fb726d48Sopenharmony_ci 326fb726d48Sopenharmony_ci html body a { 327fb726d48Sopenharmony_ci color: #0192da; 328fb726d48Sopenharmony_ci text-decoration: none; 329fb726d48Sopenharmony_ci } 330fb726d48Sopenharmony_ci 331fb726d48Sopenharmony_ci html body a:hover { 332fb726d48Sopenharmony_ci color: #029dea; 333fb726d48Sopenharmony_ci text-decoration: none; 334fb726d48Sopenharmony_ci } 335fb726d48Sopenharmony_ci 336fb726d48Sopenharmony_ci html body img { 337fb726d48Sopenharmony_ci max-width: 99%; 338fb726d48Sopenharmony_ci } 339fb726d48Sopenharmony_ci 340fb726d48Sopenharmony_ci html body > p { 341fb726d48Sopenharmony_ci margin-top: 1px; 342fb726d48Sopenharmony_ci margin-bottom: 15px; 343fb726d48Sopenharmony_ci word-wrap: break-word; 344fb726d48Sopenharmony_ci } 345fb726d48Sopenharmony_ci 346fb726d48Sopenharmony_ci html body > ul, 347fb726d48Sopenharmony_ci html body > ol { 348fb726d48Sopenharmony_ci margin-bottom: 15px; 349fb726d48Sopenharmony_ci } 350fb726d48Sopenharmony_ci 351fb726d48Sopenharmony_ci html body ul, 352fb726d48Sopenharmony_ci html body ol { 353fb726d48Sopenharmony_ci padding-left: 1.9em; 354fb726d48Sopenharmony_ci } 355fb726d48Sopenharmony_ci 356fb726d48Sopenharmony_ci html body ul.no-list, 357fb726d48Sopenharmony_ci html body ol.no-list { 358fb726d48Sopenharmony_ci padding: 0px; 359fb726d48Sopenharmony_ci list-style-type: none; 360fb726d48Sopenharmony_ci } 361fb726d48Sopenharmony_ci 362fb726d48Sopenharmony_ci html body ul ul, 363fb726d48Sopenharmony_ci html body ul ol, 364fb726d48Sopenharmony_ci html body ol ol, 365fb726d48Sopenharmony_ci html body ol ul { 366fb726d48Sopenharmony_ci margin-top: 1px; 367fb726d48Sopenharmony_ci margin-bottom: 1px; 368fb726d48Sopenharmony_ci } 369fb726d48Sopenharmony_ci 370fb726d48Sopenharmony_ci html body li { 371fb726d48Sopenharmony_ci margin-bottom: 1px; 372fb726d48Sopenharmony_ci } 373fb726d48Sopenharmony_ci 374fb726d48Sopenharmony_ci html body li.task-list-item { 375fb726d48Sopenharmony_ci list-style: none; 376fb726d48Sopenharmony_ci } 377fb726d48Sopenharmony_ci 378fb726d48Sopenharmony_ci html body li > p { 379fb726d48Sopenharmony_ci margin-top: 1px; 380fb726d48Sopenharmony_ci margin-bottom: 1px; 381fb726d48Sopenharmony_ci } 382fb726d48Sopenharmony_ci 383fb726d48Sopenharmony_ci html body .task-list-item-checkbox { 384fb726d48Sopenharmony_ci margin: 0 0.3em 0.24em -1.7em; 385fb726d48Sopenharmony_ci vertical-align: middle; 386fb726d48Sopenharmony_ci } 387fb726d48Sopenharmony_ci 388fb726d48Sopenharmony_ci html body .task-list-item-checkbox:hover { 389fb726d48Sopenharmony_ci cursor: pointer; 390fb726d48Sopenharmony_ci } 391fb726d48Sopenharmony_ci 392fb726d48Sopenharmony_ci html body blockquote { 393fb726d48Sopenharmony_ci padding: 0.1px 15px 0 0.1px; 394fb726d48Sopenharmony_ci font-size: inherit; 395fb726d48Sopenharmony_ci color: #5c5c5c; 396fb726d48Sopenharmony_ci margin: 16px 0.1px 0 0.1px; 397fb726d48Sopenharmony_ci border-left: 3px solid #cbc9c9; 398fb726d48Sopenharmony_ci background-color: #e8e6e6; 399fb726d48Sopenharmony_ci } 400fb726d48Sopenharmony_ci 401fb726d48Sopenharmony_ci html body blockquote > :first-child { 402fb726d48Sopenharmony_ci margin-top: 0.2px; 403fb726d48Sopenharmony_ci } 404fb726d48Sopenharmony_ci 405fb726d48Sopenharmony_ci html body blockquote > :last-child { 406fb726d48Sopenharmony_ci margin-bottom: 0.1px; 407fb726d48Sopenharmony_ci } 408fb726d48Sopenharmony_ci 409fb726d48Sopenharmony_ci html body hr { 410fb726d48Sopenharmony_ci height: 5px; 411fb726d48Sopenharmony_ci background-color: #cbcaca; 412fb726d48Sopenharmony_ci margin: 32px 0 0.1px 0; 413fb726d48Sopenharmony_ci border: 0 none; 414fb726d48Sopenharmony_ci } 415fb726d48Sopenharmony_ci 416fb726d48Sopenharmony_ci html body table { 417fb726d48Sopenharmony_ci overflow: auto; 418fb726d48Sopenharmony_ci border-collapse: collapse; 419fb726d48Sopenharmony_ci margin: 15px 0.1px 20px 0.1px; 420fb726d48Sopenharmony_ci border-spacing: 0; 421fb726d48Sopenharmony_ci } 422fb726d48Sopenharmony_ci 423fb726d48Sopenharmony_ci html body table th { 424fb726d48Sopenharmony_ci font-weight: bold; 425fb726d48Sopenharmony_ci color: #000000; 426fb726d48Sopenharmony_ci } 427fb726d48Sopenharmony_ci 428fb726d48Sopenharmony_ci html body table td, 429fb726d48Sopenharmony_ci html body table th { 430fb726d48Sopenharmony_ci border: 1px solid #d6d6d6; 431fb726d48Sopenharmony_ci padding: 2px 14px; 432fb726d48Sopenharmony_ci } 433fb726d48Sopenharmony_ci 434fb726d48Sopenharmony_ci html body dl { 435fb726d48Sopenharmony_ci padding: 0px; 436fb726d48Sopenharmony_ci } 437fb726d48Sopenharmony_ci 438fb726d48Sopenharmony_ci html body dl dt { 439fb726d48Sopenharmony_ci padding: 0px; 440fb726d48Sopenharmony_ci margin-top: 15px; 441fb726d48Sopenharmony_ci font-size: 0.9em; 442fb726d48Sopenharmony_ci font-style: italic; 443fb726d48Sopenharmony_ci font-weight: bold; 444fb726d48Sopenharmony_ci } 445fb726d48Sopenharmony_ci 446fb726d48Sopenharmony_ci html body dl dd { 447fb726d48Sopenharmony_ci padding: 0px 17px; 448fb726d48Sopenharmony_ci margin-bottom: 17px; 449fb726d48Sopenharmony_ci } 450fb726d48Sopenharmony_ci 451fb726d48Sopenharmony_ci html body code { 452fb726d48Sopenharmony_ci font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 453fb726d48Sopenharmony_ci font-size: 0.86em !important; 454fb726d48Sopenharmony_ci color: #000000; 455fb726d48Sopenharmony_ci background-color: #f0f0f0; 456fb726d48Sopenharmony_ci border-radius: 4px; 457fb726d48Sopenharmony_ci padding: 0.3em 0px; 458fb726d48Sopenharmony_ci } 459fb726d48Sopenharmony_ci 460fb726d48Sopenharmony_ci html body code::before, 461fb726d48Sopenharmony_ci html body code::after { 462fb726d48Sopenharmony_ci letter-spacing: -0.1em; 463fb726d48Sopenharmony_ci content: '\00a0'; 464fb726d48Sopenharmony_ci } 465fb726d48Sopenharmony_ci 466fb726d48Sopenharmony_ci html body pre > code { 467fb726d48Sopenharmony_ci padding: 1px; 468fb726d48Sopenharmony_ci margin: 0px; 469fb726d48Sopenharmony_ci font-size: 0.86em !important; 470fb726d48Sopenharmony_ci word-break: normal; 471fb726d48Sopenharmony_ci white-space: pre; 472fb726d48Sopenharmony_ci background: transparent; 473fb726d48Sopenharmony_ci border: 0px; 474fb726d48Sopenharmony_ci } 475fb726d48Sopenharmony_ci 476fb726d48Sopenharmony_ci html body .highlight { 477fb726d48Sopenharmony_ci margin-bottom: 17px; 478fb726d48Sopenharmony_ci } 479fb726d48Sopenharmony_ci 480fb726d48Sopenharmony_ci html body .highlight pre, 481fb726d48Sopenharmony_ci html body pre { 482fb726d48Sopenharmony_ci padding: 0.9em; 483fb726d48Sopenharmony_ci overflow: auto; 484fb726d48Sopenharmony_ci font-size: 0.86em !important; 485fb726d48Sopenharmony_ci line-height: 1.46; 486fb726d48Sopenharmony_ci border: #d6d6d6; 487fb726d48Sopenharmony_ci border-radius: 4px; 488fb726d48Sopenharmony_ci } 489fb726d48Sopenharmony_ci 490fb726d48Sopenharmony_ci html body .highlight pre { 491fb726d48Sopenharmony_ci margin-bottom: 0px; 492fb726d48Sopenharmony_ci word-break: normal; 493fb726d48Sopenharmony_ci } 494fb726d48Sopenharmony_ci 495fb726d48Sopenharmony_ci html body pre code, 496fb726d48Sopenharmony_ci html body pre tt { 497fb726d48Sopenharmony_ci display: inline; 498fb726d48Sopenharmony_ci max-width: initial; 499fb726d48Sopenharmony_ci padding: 1px; 500fb726d48Sopenharmony_ci margin: 1px; 501fb726d48Sopenharmony_ci overflow: initial; 502fb726d48Sopenharmony_ci line-height: inherit; 503fb726d48Sopenharmony_ci word-wrap: normal; 504fb726d48Sopenharmony_ci background-color: transparent; 505fb726d48Sopenharmony_ci border: 1px; 506fb726d48Sopenharmony_ci } 507fb726d48Sopenharmony_ci 508fb726d48Sopenharmony_ci html body pre code:before, 509fb726d48Sopenharmony_ci html body pre tt:before, 510fb726d48Sopenharmony_ci html body pre code:after, 511fb726d48Sopenharmony_ci html body pre tt:after { 512fb726d48Sopenharmony_ci content: normal; 513fb726d48Sopenharmony_ci } 514fb726d48Sopenharmony_ci 515fb726d48Sopenharmony_ci html body p, 516fb726d48Sopenharmony_ci html body blockquote, 517fb726d48Sopenharmony_ci html body ul, 518fb726d48Sopenharmony_ci html body ol, 519fb726d48Sopenharmony_ci html body dl, 520fb726d48Sopenharmony_ci html body pre { 521fb726d48Sopenharmony_ci margin-top: 1px; 522fb726d48Sopenharmony_ci margin-bottom: 17px; 523fb726d48Sopenharmony_ci } 524fb726d48Sopenharmony_ci 525fb726d48Sopenharmony_ci html body kbd { 526fb726d48Sopenharmony_ci color: #000000; 527fb726d48Sopenharmony_ci border: 3px solid #d6d6d6; 528fb726d48Sopenharmony_ci border-bottom: 3px solid #c7c7c7; 529fb726d48Sopenharmony_ci padding: 3px 5px; 530fb726d48Sopenharmony_ci background-color: #f0f0f0; 531fb726d48Sopenharmony_ci border-radius: 2px; 532fb726d48Sopenharmony_ci } 533fb726d48Sopenharmony_ci 534fb726d48Sopenharmony_ci @media print { 535fb726d48Sopenharmony_ci html body { 536fb726d48Sopenharmony_ci background-color: #ffffff; 537fb726d48Sopenharmony_ci } 538fb726d48Sopenharmony_ci 539fb726d48Sopenharmony_ci html body h1, 540fb726d48Sopenharmony_ci html body h2, 541fb726d48Sopenharmony_ci html body h3, 542fb726d48Sopenharmony_ci html body h4, 543fb726d48Sopenharmony_ci html body h5, 544fb726d48Sopenharmony_ci html body h6 { 545fb726d48Sopenharmony_ci color: #000000; 546fb726d48Sopenharmony_ci page-break-after: avoid; 547fb726d48Sopenharmony_ci } 548fb726d48Sopenharmony_ci 549fb726d48Sopenharmony_ci html body blockquote { 550fb726d48Sopenharmony_ci color: #5c5c53; 551fb726d48Sopenharmony_ci } 552fb726d48Sopenharmony_ci 553fb726d48Sopenharmony_ci html body pre { 554fb726d48Sopenharmony_ci page-break-inside: avoid; 555fb726d48Sopenharmony_ci } 556fb726d48Sopenharmony_ci 557fb726d48Sopenharmony_ci html body table { 558fb726d48Sopenharmony_ci display: table; 559fb726d48Sopenharmony_ci } 560fb726d48Sopenharmony_ci 561fb726d48Sopenharmony_ci html body img { 562fb726d48Sopenharmony_ci display: block; 563fb726d48Sopenharmony_ci max-width: 99%; 564fb726d48Sopenharmony_ci max-height: 99%; 565fb726d48Sopenharmony_ci } 566fb726d48Sopenharmony_ci 567fb726d48Sopenharmony_ci html body pre, 568fb726d48Sopenharmony_ci html body code { 569fb726d48Sopenharmony_ci word-wrap: break-word; 570fb726d48Sopenharmony_ci white-space: pre; 571fb726d48Sopenharmony_ci } 572fb726d48Sopenharmony_ci } 573fb726d48Sopenharmony_ci 574fb726d48Sopenharmony_ci .smartperf-preview { 575fb726d48Sopenharmony_ci width: 68vw; 576fb726d48Sopenharmony_ci height: 99%; 577fb726d48Sopenharmony_ci box-sizing: border-box; 578fb726d48Sopenharmony_ci overflow: hidden; 579fb726d48Sopenharmony_ci background-color: #fff; 580fb726d48Sopenharmony_ci } 581fb726d48Sopenharmony_ci 582fb726d48Sopenharmony_ci .smartperf-preview .pagebreak, 583fb726d48Sopenharmony_ci .smartperf-preview .newpage { 584fb726d48Sopenharmony_ci page-break-before: always; 585fb726d48Sopenharmony_ci } 586fb726d48Sopenharmony_ci 587fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers { 588fb726d48Sopenharmony_ci position: relative; 589fb726d48Sopenharmony_ci padding-left: 3.7em; 590fb726d48Sopenharmony_ci counter-reset: linenumber; 591fb726d48Sopenharmony_ci } 592fb726d48Sopenharmony_ci 593fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers > code { 594fb726d48Sopenharmony_ci position: relative; 595fb726d48Sopenharmony_ci } 596fb726d48Sopenharmony_ci 597fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows { 598fb726d48Sopenharmony_ci position: absolute; 599fb726d48Sopenharmony_ci pointer-events: none; 600fb726d48Sopenharmony_ci top: 0.9em; 601fb726d48Sopenharmony_ci font-size: 99%; 602fb726d48Sopenharmony_ci left: 1px; 603fb726d48Sopenharmony_ci width: 3em; 604fb726d48Sopenharmony_ci letter-spacing: -1px; 605fb726d48Sopenharmony_ci border-right: 1px solid #999; 606fb726d48Sopenharmony_ci -webkit-user-select: none; 607fb726d48Sopenharmony_ci -moz-user-select: none; 608fb726d48Sopenharmony_ci -ms-user-select: none; 609fb726d48Sopenharmony_ci user-select: none; 610fb726d48Sopenharmony_ci } 611fb726d48Sopenharmony_ci 612fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows > span { 613fb726d48Sopenharmony_ci pointer-events: none; 614fb726d48Sopenharmony_ci display: block; 615fb726d48Sopenharmony_ci counter-increment: linenumber; 616fb726d48Sopenharmony_ci } 617fb726d48Sopenharmony_ci 618fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows > span:before { 619fb726d48Sopenharmony_ci content: counter(linenumber); 620fb726d48Sopenharmony_ci color: #999; 621fb726d48Sopenharmony_ci display: block; 622fb726d48Sopenharmony_ci padding-right: 0.79em; 623fb726d48Sopenharmony_ci text-align: right; 624fb726d48Sopenharmony_ci } 625fb726d48Sopenharmony_ci 626fb726d48Sopenharmony_ci .smartperf-preview .mathjax-exps .MathJax_Display { 627fb726d48Sopenharmony_ci text-align: center !important; 628fb726d48Sopenharmony_ci } 629fb726d48Sopenharmony_ci 630fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .btn-group { 631fb726d48Sopenharmony_ci display: none; 632fb726d48Sopenharmony_ci } 633fb726d48Sopenharmony_ci 634fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .status { 635fb726d48Sopenharmony_ci display: none; 636fb726d48Sopenharmony_ci } 637fb726d48Sopenharmony_ci 638fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .output-div { 639fb726d48Sopenharmony_ci margin-bottom: 16px; 640fb726d48Sopenharmony_ci } 641fb726d48Sopenharmony_ci 642fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar { 643fb726d48Sopenharmony_ci width: 8px; 644fb726d48Sopenharmony_ci } 645fb726d48Sopenharmony_ci 646fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar-track { 647fb726d48Sopenharmony_ci border-radius: 9px; 648fb726d48Sopenharmony_ci background-color: transparent; 649fb726d48Sopenharmony_ci } 650fb726d48Sopenharmony_ci 651fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar-thumb { 652fb726d48Sopenharmony_ci border-radius: 6px; 653fb726d48Sopenharmony_ci background-color: rgba(150, 150, 150, 1); 654fb726d48Sopenharmony_ci border: 4px solid rgba(150, 150, 150, 1); 655fb726d48Sopenharmony_ci background-clip: content-box; 656fb726d48Sopenharmony_ci } 657fb726d48Sopenharmony_ci 658fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) { 659fb726d48Sopenharmony_ci position: relative; 660fb726d48Sopenharmony_ci width: 99%; 661fb726d48Sopenharmony_ci height: 99%;; 662fb726d48Sopenharmony_ci overflow: auto; 663fb726d48Sopenharmony_ci } 664fb726d48Sopenharmony_ci 665fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 666fb726d48Sopenharmony_ci position: relative; 667fb726d48Sopenharmony_ci top: 1px; 668fb726d48Sopenharmony_ci } 669fb726d48Sopenharmony_ci 670fb726d48Sopenharmony_ci @media screen and (min-width: 914px) { 671fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 672fb726d48Sopenharmony_ci padding: 2em; 673fb726d48Sopenharmony_ci } 674fb726d48Sopenharmony_ci } 675fb726d48Sopenharmony_ci 676fb726d48Sopenharmony_ci @media screen and (max-width: 914px) { 677fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 678fb726d48Sopenharmony_ci padding: 1.9em; 679fb726d48Sopenharmony_ci } 680fb726d48Sopenharmony_ci } 681fb726d48Sopenharmony_ci 682fb726d48Sopenharmony_ci @media screen and (max-width: 450px) { 683fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 684fb726d48Sopenharmony_ci font-size: 15px !important; 685fb726d48Sopenharmony_ci padding: 1.1em; 686fb726d48Sopenharmony_ci } 687fb726d48Sopenharmony_ci } 688fb726d48Sopenharmony_ci 689fb726d48Sopenharmony_ci @media print { 690fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 691fb726d48Sopenharmony_ci display: none; 692fb726d48Sopenharmony_ci } 693fb726d48Sopenharmony_ci } 694fb726d48Sopenharmony_ci 695fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 696fb726d48Sopenharmony_ci position: fixed; 697fb726d48Sopenharmony_ci bottom: 9px; 698fb726d48Sopenharmony_ci left: 9px; 699fb726d48Sopenharmony_ci font-size: 28px; 700fb726d48Sopenharmony_ci cursor: pointer; 701fb726d48Sopenharmony_ci color: inherit; 702fb726d48Sopenharmony_ci z-index: 99; 703fb726d48Sopenharmony_ci width: 31px; 704fb726d48Sopenharmony_ci text-align: center; 705fb726d48Sopenharmony_ci opacity: 0.5; 706fb726d48Sopenharmony_ci } 707fb726d48Sopenharmony_ci 708fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn { 709fb726d48Sopenharmony_ci opacity: 1; 710fb726d48Sopenharmony_ci } 711fb726d48Sopenharmony_ci 712fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc { 713fb726d48Sopenharmony_ci position: fixed; 714fb726d48Sopenharmony_ci top: 1px; 715fb726d48Sopenharmony_ci left: 1px; 716fb726d48Sopenharmony_ci width: 300px; 717fb726d48Sopenharmony_ci height: 99%; 718fb726d48Sopenharmony_ci padding: 32px 0 48px 0; 719fb726d48Sopenharmony_ci font-size: 14px; 720fb726d48Sopenharmony_ci box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33); 721fb726d48Sopenharmony_ci box-sizing: border-box; 722fb726d48Sopenharmony_ci overflow: auto; 723fb726d48Sopenharmony_ci background-color: inherit; 724fb726d48Sopenharmony_ci } 725fb726d48Sopenharmony_ci 726fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar { 727fb726d48Sopenharmony_ci width: 9px; 728fb726d48Sopenharmony_ci } 729fb726d48Sopenharmony_ci 730fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track { 731fb726d48Sopenharmony_ci border-radius: 11px; 732fb726d48Sopenharmony_ci background-color: transparent; 733fb726d48Sopenharmony_ci } 734fb726d48Sopenharmony_ci 735fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 736fb726d48Sopenharmony_ci border-radius: 6px; 737fb726d48Sopenharmony_ci background-color: rgba(150, 150, 150, 0.66); 738fb726d48Sopenharmony_ci border: 3px solid rgba(150, 150, 150, 0.66); 739fb726d48Sopenharmony_ci background-clip: content-box; 740fb726d48Sopenharmony_ci } 741fb726d48Sopenharmony_ci 742fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a { 743fb726d48Sopenharmony_ci text-decoration: none; 744fb726d48Sopenharmony_ci } 745fb726d48Sopenharmony_ci 746fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 747fb726d48Sopenharmony_ci padding: 1px 1.7em; 748fb726d48Sopenharmony_ci margin-top: 0.9em; 749fb726d48Sopenharmony_ci } 750fb726d48Sopenharmony_ci 751fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li { 752fb726d48Sopenharmony_ci margin-bottom: 0.8em; 753fb726d48Sopenharmony_ci } 754fb726d48Sopenharmony_ci 755fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 756fb726d48Sopenharmony_ci list-style-type: none; 757fb726d48Sopenharmony_ci } 758fb726d48Sopenharmony_ci 759fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 760fb726d48Sopenharmony_ci left: 301px; 761fb726d48Sopenharmony_ci width: calc(100% - 300px); 762fb726d48Sopenharmony_ci padding: 2em calc(50% - 457px - 150px); 763fb726d48Sopenharmony_ci margin: 1px; 764fb726d48Sopenharmony_ci box-sizing: border-box; 765fb726d48Sopenharmony_ci } 766fb726d48Sopenharmony_ci 767fb726d48Sopenharmony_ci @media screen and (max-width: 1274px) { 768fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 769fb726d48Sopenharmony_ci padding: 1.9em; 770fb726d48Sopenharmony_ci } 771fb726d48Sopenharmony_ci } 772fb726d48Sopenharmony_ci 773fb726d48Sopenharmony_ci @media screen and (max-width: 450px) { 774fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 775fb726d48Sopenharmony_ci width: 99%; 776fb726d48Sopenharmony_ci } 777fb726d48Sopenharmony_ci } 778fb726d48Sopenharmony_ci 779fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc { 780fb726d48Sopenharmony_ci display: none; 781fb726d48Sopenharmony_ci } 782fb726d48Sopenharmony_ci </style> 783fb726d48Sopenharmony_ci </head> 784fb726d48Sopenharmony_ci <body for="html-export" id="body" style="margin:0"> 785fb726d48Sopenharmony_ci <div class="smartperf smartperf-preview" style="min-height: 99vh;"> 786fb726d48Sopenharmony_ci <h1 class="mume-header fontColor">Bio的抓取和展示说明</h1> 787fb726d48Sopenharmony_ci 788fb726d48Sopenharmony_ci <p class="fontColor">抓取和展示IO延迟的数据。</p> 789fb726d48Sopenharmony_ci <h2 class="mume-header fontColor">Bio的抓取</h2> 790fb726d48Sopenharmony_ci 791fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-1">Bio抓取配置参数</h3> 792fb726d48Sopenharmony_ci 793fb726d48Sopenharmony_ci <p class="fontColor"> 794fb726d48Sopenharmony_ci <img src="../figures/Bio/Biosetting.jpg" alt="GitHub Logo" /> 795fb726d48Sopenharmony_ci <br /> 796fb726d48Sopenharmony_ci 配置项说明: 797fb726d48Sopenharmony_ci </p> 798fb726d48Sopenharmony_ci <ul class="fontColor"> 799fb726d48Sopenharmony_ci <li> 800fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 801fb726d48Sopenharmony_ciStart BIO Latency Record:配置项的总开关。 802fb726d48Sopenharmony_ci</pre 803fb726d48Sopenharmony_ci > 804fb726d48Sopenharmony_ci </li> 805fb726d48Sopenharmony_ci <li> 806fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 807fb726d48Sopenharmony_ciProcess:默认配置的是整个系统的,也可选择单进程抓取。 808fb726d48Sopenharmony_ci</pre 809fb726d48Sopenharmony_ci > 810fb726d48Sopenharmony_ci </li> 811fb726d48Sopenharmony_ci <li> 812fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 813fb726d48Sopenharmony_ciMax Unwind Level:配置抓取调用栈的最大深度。 814fb726d48Sopenharmony_ci</pre 815fb726d48Sopenharmony_ci > 816fb726d48Sopenharmony_ci </li> 817fb726d48Sopenharmony_ci </ul> 818fb726d48Sopenharmony_ci <p class="fontColor"> 819fb726d48Sopenharmony_ci 再点击Record setting,在output file path输入文件名hiprofiler_data_bio.htrace,拖动滚动条设置buffer 820fb726d48Sopenharmony_ci size大小是64MB,抓取时长是50s。 821fb726d48Sopenharmony_ci <br /> 822fb726d48Sopenharmony_ci <img src="../figures/Bio/Biorecord.jpg" alt="GitHub Logo" /> 823fb726d48Sopenharmony_ci <br /> 824fb726d48Sopenharmony_ci 点击Trace command,就会根据上面的配置生成抓取命令,点击Record抓取,抓取过程中会显示抓取时长。 825fb726d48Sopenharmony_ci <br /> 826fb726d48Sopenharmony_ci <img src="../figures/Bio/hdc.jpg" alt="GitHub Logo" /> 827fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioexcuting.jpg" alt="GitHub Logo" /> 828fb726d48Sopenharmony_ci </p> 829fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-2">Bio展示说明</h3> 830fb726d48Sopenharmony_ci 831fb726d48Sopenharmony_ci <p class="fontColor"> 832fb726d48Sopenharmony_ci 抓取结束后Bio的trace会自动加载展示。 833fb726d48Sopenharmony_ci <br /> 834fb726d48Sopenharmony_ci <img src="../figures/Bio/Biosummary.jpg" alt="GitHub Logo" /> 835fb726d48Sopenharmony_ci </p> 836fb726d48Sopenharmony_ci <p class="fontColor">界面布局介绍:页内存整体界面布局分为3个部分:</p> 837fb726d48Sopenharmony_ci <ul class="fontColor"> 838fb726d48Sopenharmony_ci <li> 839fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 840fb726d48Sopenharmony_ci红色区域:泳道图。 841fb726d48Sopenharmony_ci</pre 842fb726d48Sopenharmony_ci > 843fb726d48Sopenharmony_ci </li> 844fb726d48Sopenharmony_ci <li> 845fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 846fb726d48Sopenharmony_ci绿色区域:详细信息。 847fb726d48Sopenharmony_ci</pre 848fb726d48Sopenharmony_ci > 849fb726d48Sopenharmony_ci </li> 850fb726d48Sopenharmony_ci <li> 851fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 852fb726d48Sopenharmony_ci黄色区域:辅助信息(Callstack)。 853fb726d48Sopenharmony_ci</pre 854fb726d48Sopenharmony_ci > 855fb726d48Sopenharmony_ci </li> 856fb726d48Sopenharmony_ci </ul> 857fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-3">Bio泳道图展示</h3> 858fb726d48Sopenharmony_ci 859fb726d48Sopenharmony_ci <p class="fontColor"> 860fb726d48Sopenharmony_ci Bio泳道图鼠标悬浮以10ms为区间展示该周期内最大的读或者写延迟。 861fb726d48Sopenharmony_ci <br /> 862fb726d48Sopenharmony_ci <img src="../figures/Bio/Biochart.jpg" alt="GitHub Logo" /> 863fb726d48Sopenharmony_ci </p> 864fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-4">Bio泳道图的框选功能</h3> 865fb726d48Sopenharmony_ci 866fb726d48Sopenharmony_ci <p class="fontColor"> 867fb726d48Sopenharmony_ci 可以对泳道图进行框选,框选后在最下方的弹出层中会展示框选数据的统计表格,总共有三个tab页。 868fb726d48Sopenharmony_ci <br /> 869fb726d48Sopenharmony_ci Disk I/O Tier Statistics的Tab页如图: 870fb726d48Sopenharmony_ci <br /> 871fb726d48Sopenharmony_ci <img src="../figures/Bio/Biostatistics.jpg" alt="GitHub Logo" /> 872fb726d48Sopenharmony_ci </p> 873fb726d48Sopenharmony_ci <ul class="fontColor"> 874fb726d48Sopenharmony_ci <li> 875fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 876fb726d48Sopenharmony_ciTier/Process/Path:按照Tier,Process,Path的维度去展示。 877fb726d48Sopenharmony_ci</pre 878fb726d48Sopenharmony_ci > 879fb726d48Sopenharmony_ci </li> 880fb726d48Sopenharmony_ci <li> 881fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 882fb726d48Sopenharmony_ciCount:事件数量。 883fb726d48Sopenharmony_ci</pre 884fb726d48Sopenharmony_ci > 885fb726d48Sopenharmony_ci </li> 886fb726d48Sopenharmony_ci <li> 887fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 888fb726d48Sopenharmony_ciTotal Latency:每种进程,事件的总延迟。 889fb726d48Sopenharmony_ci</pre 890fb726d48Sopenharmony_ci > 891fb726d48Sopenharmony_ci </li> 892fb726d48Sopenharmony_ci <li> 893fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 894fb726d48Sopenharmony_ciMin Total Latency:最小延迟时间。 895fb726d48Sopenharmony_ci</pre 896fb726d48Sopenharmony_ci > 897fb726d48Sopenharmony_ci </li> 898fb726d48Sopenharmony_ci <li> 899fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 900fb726d48Sopenharmony_ciAvg Total Latency:平均延迟时间。 901fb726d48Sopenharmony_ci</pre 902fb726d48Sopenharmony_ci > 903fb726d48Sopenharmony_ci </li> 904fb726d48Sopenharmony_ci <li> 905fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 906fb726d48Sopenharmony_ciMax Total Latency:最大延迟时间。 907fb726d48Sopenharmony_ci</pre 908fb726d48Sopenharmony_ci > 909fb726d48Sopenharmony_ci </li> 910fb726d48Sopenharmony_ci </ul> 911fb726d48Sopenharmony_ci <p class="fontColor"> 912fb726d48Sopenharmony_ci Disk I/O Latency CallTree的Tab页如图: 913fb726d48Sopenharmony_ci <br /> 914fb726d48Sopenharmony_ci <img src="../figures/Bio/BioCalltree.jpg" alt="GitHub Logo" /> 915fb726d48Sopenharmony_ci </p> 916fb726d48Sopenharmony_ci <ul class="fontColor"> 917fb726d48Sopenharmony_ci <li> 918fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 919fb726d48Sopenharmony_ciCall Stack:为经过符号解析后的Callstack,并且给出动态链接库或者进程名的信息。 920fb726d48Sopenharmony_ci</pre 921fb726d48Sopenharmony_ci > 922fb726d48Sopenharmony_ci </li> 923fb726d48Sopenharmony_ci <li> 924fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 925fb726d48Sopenharmony_ciLocal:为该调用方法自身占用的CPU时间。 926fb726d48Sopenharmony_ci</pre 927fb726d48Sopenharmony_ci > 928fb726d48Sopenharmony_ci </li> 929fb726d48Sopenharmony_ci <li> 930fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 931fb726d48Sopenharmony_ciWeight:为该调用方法占用的CPU时间。 932fb726d48Sopenharmony_ci</pre> 933fb726d48Sopenharmony_ci </li> 934fb726d48Sopenharmony_ci <li> 935fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 936fb726d48Sopenharmony_ci%:为该调用方法占用的CPU时间占比。 937fb726d48Sopenharmony_ci</pre> 938fb726d48Sopenharmony_ci </li> 939fb726d48Sopenharmony_ci </ul> 940fb726d48Sopenharmony_ci <p class="fontColor"> 941fb726d48Sopenharmony_ci Trace Completion Times的Tab页如图: 942fb726d48Sopenharmony_ci <br /> 943fb726d48Sopenharmony_ci <img src="../figures/Bio/Biotimes.jpg" alt="GitHub Logo" /> 944fb726d48Sopenharmony_ci </p> 945fb726d48Sopenharmony_ci <ul class="fontColor"> 946fb726d48Sopenharmony_ci <li> 947fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 948fb726d48Sopenharmony_ciStart:事件的开始时间。 949fb726d48Sopenharmony_ci</pre 950fb726d48Sopenharmony_ci > 951fb726d48Sopenharmony_ci </li> 952fb726d48Sopenharmony_ci <li> 953fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 954fb726d48Sopenharmony_ciTotal Latency:事件的延迟时间。 955fb726d48Sopenharmony_ci</pre 956fb726d48Sopenharmony_ci > 957fb726d48Sopenharmony_ci </li> 958fb726d48Sopenharmony_ci <li> 959fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 960fb726d48Sopenharmony_ciProcess:进程名(pid)。 961fb726d48Sopenharmony_ci</pre 962fb726d48Sopenharmony_ci > 963fb726d48Sopenharmony_ci </li> 964fb726d48Sopenharmony_ci <li> 965fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 966fb726d48Sopenharmony_ciThread:线程名(tid)。 967fb726d48Sopenharmony_ci</pre 968fb726d48Sopenharmony_ci > 969fb726d48Sopenharmony_ci </li> 970fb726d48Sopenharmony_ci <li> 971fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 972fb726d48Sopenharmony_ciLatency per 4KB:每4k数据的延迟时间。 973fb726d48Sopenharmony_ci</pre 974fb726d48Sopenharmony_ci > 975fb726d48Sopenharmony_ci </li> 976fb726d48Sopenharmony_ci <li> 977fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 978fb726d48Sopenharmony_ciOpration:事件类型。 979fb726d48Sopenharmony_ci</pre 980fb726d48Sopenharmony_ci > 981fb726d48Sopenharmony_ci </li> 982fb726d48Sopenharmony_ci <li> 983fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 984fb726d48Sopenharmony_ciBytes:延迟的数据量。 985fb726d48Sopenharmony_ci</pre 986fb726d48Sopenharmony_ci > 987fb726d48Sopenharmony_ci </li> 988fb726d48Sopenharmony_ci <li> 989fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 990fb726d48Sopenharmony_ciPath:操作的文件路径。 991fb726d48Sopenharmony_ci</pre 992fb726d48Sopenharmony_ci > 993fb726d48Sopenharmony_ci </li> 994fb726d48Sopenharmony_ci <li> 995fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 996fb726d48Sopenharmony_ciBlock Number:块数量。 997fb726d48Sopenharmony_ci</pre 998fb726d48Sopenharmony_ci > 999fb726d48Sopenharmony_ci </li> 1000fb726d48Sopenharmony_ci <li> 1001fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1002fb726d48Sopenharmony_ciTier:层级。 1003fb726d48Sopenharmony_ci</pre 1004fb726d48Sopenharmony_ci > 1005fb726d48Sopenharmony_ci </li> 1006fb726d48Sopenharmony_ci <li> 1007fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1008fb726d48Sopenharmony_ciBackTrace:调用栈顶部函数,并显示调用栈深度。 1009fb726d48Sopenharmony_ci</pre 1010fb726d48Sopenharmony_ci > 1011fb726d48Sopenharmony_ci </li> 1012fb726d48Sopenharmony_ci </ul> 1013fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-5">Bio支持多种Options展示风格</h3> 1014fb726d48Sopenharmony_ci 1015fb726d48Sopenharmony_ci <p class="fontColor"> 1016fb726d48Sopenharmony_ci 点击Disk I/O Latency CallTree的Tab页底部的Options,会有四个CheckBox复选框。 1017fb726d48Sopenharmony_ci <br /> 1018fb726d48Sopenharmony_ci <img src="../figures/Bio/BioOptions.jpg" alt="GitHub Logo" /> 1019fb726d48Sopenharmony_ci </p> 1020fb726d48Sopenharmony_ci <ul class="fontColor"> 1021fb726d48Sopenharmony_ci <li> 1022fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1023fb726d48Sopenharmony_ciInvert:反向输出调用树。 1024fb726d48Sopenharmony_ci</pre 1025fb726d48Sopenharmony_ci > 1026fb726d48Sopenharmony_ci </li> 1027fb726d48Sopenharmony_ci <li> 1028fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1029fb726d48Sopenharmony_ciHide System so:隐藏系统库文件 。 1030fb726d48Sopenharmony_ci</pre 1031fb726d48Sopenharmony_ci > 1032fb726d48Sopenharmony_ci </li> 1033fb726d48Sopenharmony_ci <li> 1034fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1035fb726d48Sopenharmony_ciHide Event:隐藏事件。 1036fb726d48Sopenharmony_ci</pre> 1037fb726d48Sopenharmony_ci </li> 1038fb726d48Sopenharmony_ci <li> 1039fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 1040fb726d48Sopenharmony_ciHide Thread:隐藏线程。 1041fb726d48Sopenharmony_ci</pre> 1042fb726d48Sopenharmony_ci </li> 1043fb726d48Sopenharmony_ci </ul> 1044fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-6">Bio支持过滤调用栈调用次数的展示风格</h3> 1045fb726d48Sopenharmony_ci 1046fb726d48Sopenharmony_ci <p class="fontColor"> 1047fb726d48Sopenharmony_ci 点击Disk I/O Latency CallTree的Tab页底部的Sample Count 1048fb726d48Sopenharmony_ci Filter,可以填上区间值。过滤出符合该区间值调用次数的调用栈信息。 1049fb726d48Sopenharmony_ci <br /> 1050fb726d48Sopenharmony_ci <img src="../figures/Bio/Biocounter.jpg" alt="GitHub Logo" /> 1051fb726d48Sopenharmony_ci </p> 1052fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-7">Bio功能的调用栈Group展示-数据分析支持剪裁功能</h3> 1053fb726d48Sopenharmony_ci 1054fb726d48Sopenharmony_ci <p class="fontColor"><img src="../figures/Bio/Biodatamining.jpg" alt="GitHub Logo" /></p> 1055fb726d48Sopenharmony_ci <ul class="fontColor"> 1056fb726d48Sopenharmony_ci <li> 1057fb726d48Sopenharmony_ci <p class="fontColor"> 1058fb726d48Sopenharmony_ci 裁剪Callstack,点击Callstack上一个节点符号,再点击底部Symbol 1059fb726d48Sopenharmony_ci Filter按钮,则该符号自动被裁剪掉,同时将该节点往下所有的Callstack内容裁剪掉。 1060fb726d48Sopenharmony_ci </p> 1061fb726d48Sopenharmony_ci </li> 1062fb726d48Sopenharmony_ci <li> 1063fb726d48Sopenharmony_ci <p class="fontColor">裁剪Library,点击Library上一个节点符号,再点击底部Library Filter按钮,则该符号自动被裁剪掉,同时将该节点往下所有的Callstack内容裁剪掉。</p> 1064fb726d48Sopenharmony_ci </li> 1065fb726d48Sopenharmony_ci <li> 1066fb726d48Sopenharmony_ci <p class="fontColor">先选中要恢复的内容,再点击Reset按钮,将恢复选中的裁剪内容。</p> 1067fb726d48Sopenharmony_ci </li> 1068fb726d48Sopenharmony_ci </ul> 1069fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-8">Bio功能的调用栈Group展示支持按条件过滤</h3> 1070fb726d48Sopenharmony_ci 1071fb726d48Sopenharmony_ci <p class="fontColor"> 1072fb726d48Sopenharmony_ci 在Input Filter输入关键字,会显示出带有该关键字的展示信息。 1073fb726d48Sopenharmony_ci <br /> 1074fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioinputfilter.jpg" alt="GitHub Logo" /> 1075fb726d48Sopenharmony_ci </p> 1076fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-9">Bio辅助信息区展示调用栈</h3> 1077fb726d48Sopenharmony_ci 1078fb726d48Sopenharmony_ci <p class="fontColor"> 1079fb726d48Sopenharmony_ci 当在详细信息区选择一个符号时,将展示与该符号相关的完整的调用栈。如下图的Heaviest Stack Trace: 1080fb726d48Sopenharmony_ci <br /> 1081fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioheaviesttrace.jpg" alt="GitHub Logo" /> 1082fb726d48Sopenharmony_ci </p> 1083fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-10">Bio的Tier的过滤</h3> 1084fb726d48Sopenharmony_ci 1085fb726d48Sopenharmony_ci <p class="fontColor"> 1086fb726d48Sopenharmony_ci 通过选择根据Tier去过滤。 1087fb726d48Sopenharmony_ci <br /> 1088fb726d48Sopenharmony_ci <img src="../figures/Bio/Biofilter.jpg" alt="GitHub Logo" /> 1089fb726d48Sopenharmony_ci </p> 1090fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-11">Bio的火焰图功能</h3> 1091fb726d48Sopenharmony_ci 1092fb726d48Sopenharmony_ci <p class="fontColor"> 1093fb726d48Sopenharmony_ci 点击Disk I/O Latency CallTree左下角的柱状图的图标,会切换到火焰图页面。 1094fb726d48Sopenharmony_ci <br /> 1095fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioflame.jpg" alt="GitHub Logo" /> 1096fb726d48Sopenharmony_ci <br /> 1097fb726d48Sopenharmony_ci 进入到火焰图页面,火焰图的展示跟 Disk I/O Latency CallTree 1098fb726d48Sopenharmony_ci 的tab页的调用栈显示一致,鼠标放到色块上,悬浮框可以显示调用栈名称、所属Lib库、函数地址、耗时及其占比。 1099fb726d48Sopenharmony_ci <br /> 1100fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioflameshow.jpg" alt="GitHub Logo" /> 1101fb726d48Sopenharmony_ci <br /> 1102fb726d48Sopenharmony_ci 鼠标左键火焰图,会进入下一级界面,左键上级则返回上一级界面。 1103fb726d48Sopenharmony_ci <br /> 1104fb726d48Sopenharmony_ci <img src="../figures/Bio/Bioflamelevel.jpg" alt="GitHub Logo" /> 1105fb726d48Sopenharmony_ci </p> 1106fb726d48Sopenharmony_ci </div> 1107fb726d48Sopenharmony_ci 1108fb726d48Sopenharmony_ci <script> 1109fb726d48Sopenharmony_ci window.onload = () => { 1110fb726d48Sopenharmony_ci let isDark = getURLParameter('dark'); 1111fb726d48Sopenharmony_ci let targetId = getURLParameter('targetId'); 1112fb726d48Sopenharmony_ci let isBack = getURLParameter('isBack'); 1113fb726d48Sopenharmony_ci if (isDark === 'true') { 1114fb726d48Sopenharmony_ci document.getElementById('body').setAttribute('style', 'background-color:#272C34;'); 1115fb726d48Sopenharmony_ci let header = document.getElementsByClassName('fontColor'); 1116fb726d48Sopenharmony_ci for (let i = 0; i < header.length; i++) { 1117fb726d48Sopenharmony_ci header[i].style.color = '#fff'; 1118fb726d48Sopenharmony_ci } 1119fb726d48Sopenharmony_ci let lightBackGround = document.getElementsByClassName('light'); 1120fb726d48Sopenharmony_ci for (let i = 0; i < lightBackGround.length; i++) { 1121fb726d48Sopenharmony_ci lightBackGround[i].style.backgroundColor = '#32373F'; 1122fb726d48Sopenharmony_ci } 1123fb726d48Sopenharmony_ci } 1124fb726d48Sopenharmony_ci function getURLParameter(name) { 1125fb726d48Sopenharmony_ci return (new URL(document.location)).searchParams.get(name); 1126fb726d48Sopenharmony_ci } 1127fb726d48Sopenharmony_ci 1128fb726d48Sopenharmony_ci if ( targetId !== null ) { 1129fb726d48Sopenharmony_ci let targetElement = document.getElementById(targetId); 1130fb726d48Sopenharmony_ci targetElement.scrollIntoView({ behavior: 'smooth' }); 1131fb726d48Sopenharmony_ci } 1132fb726d48Sopenharmony_ci }; 1133fb726d48Sopenharmony_ci </script> 1134fb726d48Sopenharmony_ci </body> 1135fb726d48Sopenharmony_ci</html> 1136