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_app_startup</title> 6fb726d48Sopenharmony_ci 7fb726d48Sopenharmony_ci <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8fb726d48Sopenharmony_ci <style> 9fb726d48Sopenharmony_ci code[class*='smartperf-'], 10fb726d48Sopenharmony_ci pre[class*='smartperf-'] { 11fb726d48Sopenharmony_ci color: #333333; 12fb726d48Sopenharmony_ci background: none; 13fb726d48Sopenharmony_ci font-family: Helvetica; 14fb726d48Sopenharmony_ci line-height: 1.6; 15fb726d48Sopenharmony_ci text-align: left; 16fb726d48Sopenharmony_ci white-space: pre; 17fb726d48Sopenharmony_ci -moz-tab-size: 9; 18fb726d48Sopenharmony_ci -o-tab-size: 9; 19fb726d48Sopenharmony_ci tab-size: 8; 20fb726d48Sopenharmony_ci -webkit-hyphens: none; 21fb726d48Sopenharmony_ci -moz-hyphens: none; 22fb726d48Sopenharmony_ci -ms-hyphens: none; 23fb726d48Sopenharmony_ci hyphens: none; 24fb726d48Sopenharmony_ci } 25fb726d48Sopenharmony_ci 26fb726d48Sopenharmony_ci /* Code blocks */ 27fb726d48Sopenharmony_ci pre[class*='smartperf-'] { 28fb726d48Sopenharmony_ci padding: 0.9em; 29fb726d48Sopenharmony_ci overflow: auto; 30fb726d48Sopenharmony_ci border-radius: 2px; 31fb726d48Sopenharmony_ci background: #f5f5f4; 32fb726d48Sopenharmony_ci } 33fb726d48Sopenharmony_ci 34fb726d48Sopenharmony_ci /* Inline code */ 35fb726d48Sopenharmony_ci :not(pre) > code[class*='smartperf-'] { 36fb726d48Sopenharmony_ci white-space: normal; 37fb726d48Sopenharmony_ci background: #fcf8f8; 38fb726d48Sopenharmony_ci padding: 1px 0.2em; 39fb726d48Sopenharmony_ci border-radius: 1px 0.3em; 40fb726d48Sopenharmony_ci } 41fb726d48Sopenharmony_ci 42fb726d48Sopenharmony_ci .tk.comment, 43fb726d48Sopenharmony_ci .tk.blockquote { 44fb726d48Sopenharmony_ci color: #8c918c; 45fb726d48Sopenharmony_ci } 46fb726d48Sopenharmony_ci 47fb726d48Sopenharmony_ci .tk.cdata { 48fb726d48Sopenharmony_ci color: #183898; 49fb726d48Sopenharmony_ci } 50fb726d48Sopenharmony_ci 51fb726d48Sopenharmony_ci .tk.doctype, 52fb726d48Sopenharmony_ci .tk.punctuation, 53fb726d48Sopenharmony_ci .tk.variable, 54fb726d48Sopenharmony_ci .tk.macro.property { 55fb726d48Sopenharmony_ci color: #424242; 56fb726d48Sopenharmony_ci } 57fb726d48Sopenharmony_ci 58fb726d48Sopenharmony_ci .tk.operator, 59fb726d48Sopenharmony_ci .tk.important, 60fb726d48Sopenharmony_ci .tk.keyword, 61fb726d48Sopenharmony_ci .tk.rule, 62fb726d48Sopenharmony_ci .tk.builtin { 63fb726d48Sopenharmony_ci color: #b71d65; 64fb726d48Sopenharmony_ci } 65fb726d48Sopenharmony_ci 66fb726d48Sopenharmony_ci .tk.string, 67fb726d48Sopenharmony_ci .tk.url, 68fb726d48Sopenharmony_ci .tk.regex, 69fb726d48Sopenharmony_ci .tk.attr-value { 70fb726d48Sopenharmony_ci color: #16338d; 71fb726d48Sopenharmony_ci } 72fb726d48Sopenharmony_ci 73fb726d48Sopenharmony_ci .tk.property, 74fb726d48Sopenharmony_ci .tk.number, 75fb726d48Sopenharmony_ci .tk.boolean, 76fb726d48Sopenharmony_ci .tk.entity, 77fb726d48Sopenharmony_ci .tk.atrule, 78fb726d48Sopenharmony_ci .tk.constant, 79fb726d48Sopenharmony_ci .tk.symbol, 80fb726d48Sopenharmony_ci .tk.command, 81fb726d48Sopenharmony_ci .tk.code { 82fb726d48Sopenharmony_ci color: #037aa2; 83fb726d48Sopenharmony_ci } 84fb726d48Sopenharmony_ci 85fb726d48Sopenharmony_ci .tk.tag, 86fb726d48Sopenharmony_ci .tk.selector, 87fb726d48Sopenharmony_ci .tk.prolog { 88fb726d48Sopenharmony_ci color: #69ad62; 89fb726d48Sopenharmony_ci } 90fb726d48Sopenharmony_ci 91fb726d48Sopenharmony_ci .tk.function, 92fb726d48Sopenharmony_ci .tk.namespace, 93fb726d48Sopenharmony_ci .tk.pseudo-element, 94fb726d48Sopenharmony_ci .tk.class, 95fb726d48Sopenharmony_ci .tk.class-name, 96fb726d48Sopenharmony_ci .tk.pseudo-class, 97fb726d48Sopenharmony_ci .tk.id, 98fb726d48Sopenharmony_ci .tk.url-reference .tk.variable, 99fb726d48Sopenharmony_ci .tk.attr-name { 100fb726d48Sopenharmony_ci color: #775d9d; 101fb726d48Sopenharmony_ci } 102fb726d48Sopenharmony_ci 103fb726d48Sopenharmony_ci .tk.entity { 104fb726d48Sopenharmony_ci cursor: help; 105fb726d48Sopenharmony_ci } 106fb726d48Sopenharmony_ci 107fb726d48Sopenharmony_ci .tk.title, 108fb726d48Sopenharmony_ci .tk.title .tk.punctuation { 109fb726d48Sopenharmony_ci font-weight: bold; 110fb726d48Sopenharmony_ci color: #1a3773; 111fb726d48Sopenharmony_ci } 112fb726d48Sopenharmony_ci 113fb726d48Sopenharmony_ci .tk.list { 114fb726d48Sopenharmony_ci color: #f56940; 115fb726d48Sopenharmony_ci } 116fb726d48Sopenharmony_ci 117fb726d48Sopenharmony_ci .tk.inserted { 118fb726d48Sopenharmony_ci background-color: #eaffea; 119fb726d48Sopenharmony_ci color: #509b2f; 120fb726d48Sopenharmony_ci } 121fb726d48Sopenharmony_ci 122fb726d48Sopenharmony_ci .tk.deleted { 123fb726d48Sopenharmony_ci background-color: #fae1e1; 124fb726d48Sopenharmony_ci color: #ad2d06; 125fb726d48Sopenharmony_ci } 126fb726d48Sopenharmony_ci 127fb726d48Sopenharmony_ci .tk.bold { 128fb726d48Sopenharmony_ci font-weight: bolder; 129fb726d48Sopenharmony_ci } 130fb726d48Sopenharmony_ci 131fb726d48Sopenharmony_ci .tk.italic { 132fb726d48Sopenharmony_ci font-style: normal; 133fb726d48Sopenharmony_ci } 134fb726d48Sopenharmony_ci 135fb726d48Sopenharmony_ci /* JSON */ 136fb726d48Sopenharmony_ci .smartperf-json .tk.property { 137fb726d48Sopenharmony_ci color: #19358c; 138fb726d48Sopenharmony_ci } 139fb726d48Sopenharmony_ci 140fb726d48Sopenharmony_ci .smartperf-markup .tk.tag .tk.punctuation { 141fb726d48Sopenharmony_ci color: #2c2b2b; 142fb726d48Sopenharmony_ci } 143fb726d48Sopenharmony_ci 144fb726d48Sopenharmony_ci /* CSS */ 145fb726d48Sopenharmony_ci code.smartperf-css, 146fb726d48Sopenharmony_ci .smartperf-css .tk.function { 147fb726d48Sopenharmony_ci color: #047ca4; 148fb726d48Sopenharmony_ci } 149fb726d48Sopenharmony_ci 150fb726d48Sopenharmony_ci /* YAML */ 151fb726d48Sopenharmony_ci .smartperf-yaml .tk.atrule { 152fb726d48Sopenharmony_ci color: #609b5a; 153fb726d48Sopenharmony_ci } 154fb726d48Sopenharmony_ci 155fb726d48Sopenharmony_ci code.smartperf-yaml { 156fb726d48Sopenharmony_ci color: #153491; 157fb726d48Sopenharmony_ci } 158fb726d48Sopenharmony_ci 159fb726d48Sopenharmony_ci /* Ruby */ 160fb726d48Sopenharmony_ci .smartperf-ruby .tk.function { 161fb726d48Sopenharmony_ci color: #3f3e3e; 162fb726d48Sopenharmony_ci } 163fb726d48Sopenharmony_ci 164fb726d48Sopenharmony_ci /* Markdown */ 165fb726d48Sopenharmony_ci .smartperf-markdown .tk.url { 166fb726d48Sopenharmony_ci color: #6e5298; 167fb726d48Sopenharmony_ci } 168fb726d48Sopenharmony_ci 169fb726d48Sopenharmony_ci /* Makefile */ 170fb726d48Sopenharmony_ci .smartperf-makefile .tk.symbol { 171fb726d48Sopenharmony_ci color: #6c5393; 172fb726d48Sopenharmony_ci } 173fb726d48Sopenharmony_ci 174fb726d48Sopenharmony_ci .smartperf-makefile .tk.variable { 175fb726d48Sopenharmony_ci color: #183488; 176fb726d48Sopenharmony_ci } 177fb726d48Sopenharmony_ci 178fb726d48Sopenharmony_ci .smartperf-makefile .tk.builtin { 179fb726d48Sopenharmony_ci color: #027ba4; 180fb726d48Sopenharmony_ci } 181fb726d48Sopenharmony_ci 182fb726d48Sopenharmony_ci /* Bash */ 183fb726d48Sopenharmony_ci .smartperf-bash .tk.keyword { 184fb726d48Sopenharmony_ci color: #027fa9; 185fb726d48Sopenharmony_ci } 186fb726d48Sopenharmony_ci 187fb726d48Sopenharmony_ci /* highlight */ 188fb726d48Sopenharmony_ci pre[dl] { 189fb726d48Sopenharmony_ci position: relative; 190fb726d48Sopenharmony_ci padding: 1em 1px 1px 0.9em; 191fb726d48Sopenharmony_ci } 192fb726d48Sopenharmony_ci 193fb726d48Sopenharmony_ci pre[dl] .line-highlight-wrapper { 194fb726d48Sopenharmony_ci position: absolute; 195fb726d48Sopenharmony_ci top: 1px; 196fb726d48Sopenharmony_ci left: 1px; 197fb726d48Sopenharmony_ci background-color: transparent; 198fb726d48Sopenharmony_ci display: block; 199fb726d48Sopenharmony_ci width: 99%; 200fb726d48Sopenharmony_ci } 201fb726d48Sopenharmony_ci 202fb726d48Sopenharmony_ci pre[dl] .line-highlight { 203fb726d48Sopenharmony_ci position: absolute; 204fb726d48Sopenharmony_ci left: 1px; 205fb726d48Sopenharmony_ci right: 1px; 206fb726d48Sopenharmony_ci padding: inherit; 207fb726d48Sopenharmony_ci margin-top: 0.9em; 208fb726d48Sopenharmony_ci background: hsla(25, 21%, 50%, 0.08); 209fb726d48Sopenharmony_ci background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); 210fb726d48Sopenharmony_ci pointer-events: none; 211fb726d48Sopenharmony_ci line-height: inherit; 212fb726d48Sopenharmony_ci white-space: pre; 213fb726d48Sopenharmony_ci } 214fb726d48Sopenharmony_ci 215fb726d48Sopenharmony_ci pre[dl] .line-highlight:before, 216fb726d48Sopenharmony_ci pre[dl] .line-highlight[data-end]:after { 217fb726d48Sopenharmony_ci content: attr(data-start); 218fb726d48Sopenharmony_ci position: absolute; 219fb726d48Sopenharmony_ci text-shadow: none; 220fb726d48Sopenharmony_ci top: 0.3em; 221fb726d48Sopenharmony_ci left: 0.7em; 222fb726d48Sopenharmony_ci min-width: 0.9em; 223fb726d48Sopenharmony_ci padding: 1px 0.6em; 224fb726d48Sopenharmony_ci background-color: hsla(24, 20%, 47%, 0.4); 225fb726d48Sopenharmony_ci color: hsl(20, 11%, 95%); 226fb726d48Sopenharmony_ci text-align: center; 227fb726d48Sopenharmony_ci vertical-align: 0.2em; 228fb726d48Sopenharmony_ci border-radius: 10000px; 229fb726d48Sopenharmony_ci box-shadow: 1px 2px #fdf6f6; 230fb726d48Sopenharmony_ci } 231fb726d48Sopenharmony_ci 232fb726d48Sopenharmony_ci pre[dl] .line-highlight[data-end]:after { 233fb726d48Sopenharmony_ci content: attr(data-end); 234fb726d48Sopenharmony_ci top: auto; 235fb726d48Sopenharmony_ci bottom: 0.5em; 236fb726d48Sopenharmony_ci } 237fb726d48Sopenharmony_ci 238fb726d48Sopenharmony_ci html body { 239fb726d48Sopenharmony_ci line-height: 1.6; 240fb726d48Sopenharmony_ci font-size: 16px; 241fb726d48Sopenharmony_ci color: #333333; 242fb726d48Sopenharmony_ci overflow: initial; 243fb726d48Sopenharmony_ci word-wrap: break-word; 244fb726d48Sopenharmony_ci font-family: Helvetica; 245fb726d48Sopenharmony_ci box-sizing: border-box; 246fb726d48Sopenharmony_ci } 247fb726d48Sopenharmony_ci 248fb726d48Sopenharmony_ci html body > :first-child { 249fb726d48Sopenharmony_ci margin-top: 0px; 250fb726d48Sopenharmony_ci } 251fb726d48Sopenharmony_ci 252fb726d48Sopenharmony_ci html body h1, 253fb726d48Sopenharmony_ci html body h2, 254fb726d48Sopenharmony_ci html body h3, 255fb726d48Sopenharmony_ci html body h4, 256fb726d48Sopenharmony_ci html body h5, 257fb726d48Sopenharmony_ci html body h6 { 258fb726d48Sopenharmony_ci margin-top: 1em; 259fb726d48Sopenharmony_ci margin-bottom: 16px; 260fb726d48Sopenharmony_ci color: #000000; 261fb726d48Sopenharmony_ci line-height: 1.2; 262fb726d48Sopenharmony_ci } 263fb726d48Sopenharmony_ci 264fb726d48Sopenharmony_ci html body h1 { 265fb726d48Sopenharmony_ci font-weight: 300; 266fb726d48Sopenharmony_ci font-size: 2.25em; 267fb726d48Sopenharmony_ci padding-bottom: 0.3em; 268fb726d48Sopenharmony_ci } 269fb726d48Sopenharmony_ci 270fb726d48Sopenharmony_ci html body h2 { 271fb726d48Sopenharmony_ci font-weight: 410; 272fb726d48Sopenharmony_ci font-size: 1.74em; 273fb726d48Sopenharmony_ci padding-bottom: 0.2em; 274fb726d48Sopenharmony_ci } 275fb726d48Sopenharmony_ci 276fb726d48Sopenharmony_ci html body h3 { 277fb726d48Sopenharmony_ci font-size: 1.6em; 278fb726d48Sopenharmony_ci font-weight: 501; 279fb726d48Sopenharmony_ci } 280fb726d48Sopenharmony_ci 281fb726d48Sopenharmony_ci html body h4 { 282fb726d48Sopenharmony_ci font-size: 1.26em; 283fb726d48Sopenharmony_ci font-weight: 601; 284fb726d48Sopenharmony_ci } 285fb726d48Sopenharmony_ci 286fb726d48Sopenharmony_ci html body h5 { 287fb726d48Sopenharmony_ci font-size: 1.2em; 288fb726d48Sopenharmony_ci font-weight: 601; 289fb726d48Sopenharmony_ci } 290fb726d48Sopenharmony_ci 291fb726d48Sopenharmony_ci html body h6 { 292fb726d48Sopenharmony_ci font-size: 0.9em; 293fb726d48Sopenharmony_ci font-weight: 601; 294fb726d48Sopenharmony_ci } 295fb726d48Sopenharmony_ci 296fb726d48Sopenharmony_ci html body h1, 297fb726d48Sopenharmony_ci html body h2, 298fb726d48Sopenharmony_ci html body h3, 299fb726d48Sopenharmony_ci html body h4, 300fb726d48Sopenharmony_ci html body h5 { 301fb726d48Sopenharmony_ci font-weight: 601; 302fb726d48Sopenharmony_ci } 303fb726d48Sopenharmony_ci 304fb726d48Sopenharmony_ci html body h5 { 305fb726d48Sopenharmony_ci font-size: 0.9em; 306fb726d48Sopenharmony_ci } 307fb726d48Sopenharmony_ci 308fb726d48Sopenharmony_ci html body h6 { 309fb726d48Sopenharmony_ci color: #5c5c5c; 310fb726d48Sopenharmony_ci } 311fb726d48Sopenharmony_ci 312fb726d48Sopenharmony_ci html body strong { 313fb726d48Sopenharmony_ci color: #090909; 314fb726d48Sopenharmony_ci } 315fb726d48Sopenharmony_ci 316fb726d48Sopenharmony_ci html body del { 317fb726d48Sopenharmony_ci color: #525252; 318fb726d48Sopenharmony_ci } 319fb726d48Sopenharmony_ci 320fb726d48Sopenharmony_ci html body a:not([href]) { 321fb726d48Sopenharmony_ci color: inherit; 322fb726d48Sopenharmony_ci text-decoration: none; 323fb726d48Sopenharmony_ci } 324fb726d48Sopenharmony_ci 325fb726d48Sopenharmony_ci html body a { 326fb726d48Sopenharmony_ci color: #0192da; 327fb726d48Sopenharmony_ci text-decoration: none; 328fb726d48Sopenharmony_ci } 329fb726d48Sopenharmony_ci 330fb726d48Sopenharmony_ci html body a:hover { 331fb726d48Sopenharmony_ci color: #029dea; 332fb726d48Sopenharmony_ci text-decoration: none; 333fb726d48Sopenharmony_ci } 334fb726d48Sopenharmony_ci 335fb726d48Sopenharmony_ci html body img { 336fb726d48Sopenharmony_ci max-width: 99%; 337fb726d48Sopenharmony_ci } 338fb726d48Sopenharmony_ci 339fb726d48Sopenharmony_ci html body > p { 340fb726d48Sopenharmony_ci margin-top: 1px; 341fb726d48Sopenharmony_ci margin-bottom: 15px; 342fb726d48Sopenharmony_ci word-wrap: break-word; 343fb726d48Sopenharmony_ci } 344fb726d48Sopenharmony_ci 345fb726d48Sopenharmony_ci html body > ul, 346fb726d48Sopenharmony_ci html body > ol { 347fb726d48Sopenharmony_ci margin-bottom: 15px; 348fb726d48Sopenharmony_ci } 349fb726d48Sopenharmony_ci 350fb726d48Sopenharmony_ci html body ul, 351fb726d48Sopenharmony_ci html body ol { 352fb726d48Sopenharmony_ci padding-left: 1.9em; 353fb726d48Sopenharmony_ci } 354fb726d48Sopenharmony_ci 355fb726d48Sopenharmony_ci html body ul.no-list, 356fb726d48Sopenharmony_ci html body ol.no-list { 357fb726d48Sopenharmony_ci padding: 0px; 358fb726d48Sopenharmony_ci list-style-type: none; 359fb726d48Sopenharmony_ci } 360fb726d48Sopenharmony_ci 361fb726d48Sopenharmony_ci html body ul ul, 362fb726d48Sopenharmony_ci html body ul ol, 363fb726d48Sopenharmony_ci html body ol ol, 364fb726d48Sopenharmony_ci html body ol ul { 365fb726d48Sopenharmony_ci margin-top: 1px; 366fb726d48Sopenharmony_ci margin-bottom: 1px; 367fb726d48Sopenharmony_ci } 368fb726d48Sopenharmony_ci 369fb726d48Sopenharmony_ci html body li { 370fb726d48Sopenharmony_ci margin-bottom: 1px; 371fb726d48Sopenharmony_ci } 372fb726d48Sopenharmony_ci 373fb726d48Sopenharmony_ci html body li.task-list-item { 374fb726d48Sopenharmony_ci list-style: none; 375fb726d48Sopenharmony_ci } 376fb726d48Sopenharmony_ci 377fb726d48Sopenharmony_ci html body li > p { 378fb726d48Sopenharmony_ci margin-top: 1px; 379fb726d48Sopenharmony_ci margin-bottom: 1px; 380fb726d48Sopenharmony_ci } 381fb726d48Sopenharmony_ci 382fb726d48Sopenharmony_ci html body .task-list-item-checkbox { 383fb726d48Sopenharmony_ci margin: 0 0.3em 0.24em -1.7em; 384fb726d48Sopenharmony_ci vertical-align: middle; 385fb726d48Sopenharmony_ci } 386fb726d48Sopenharmony_ci 387fb726d48Sopenharmony_ci html body .task-list-item-checkbox:hover { 388fb726d48Sopenharmony_ci cursor: pointer; 389fb726d48Sopenharmony_ci } 390fb726d48Sopenharmony_ci 391fb726d48Sopenharmony_ci html body blockquote { 392fb726d48Sopenharmony_ci padding: 0.1px 15px 0 0.1px; 393fb726d48Sopenharmony_ci font-size: inherit; 394fb726d48Sopenharmony_ci color: #5c5c5c; 395fb726d48Sopenharmony_ci margin: 16px 0.1px 0 0.1px; 396fb726d48Sopenharmony_ci border-left: 3px solid #cbc9c9; 397fb726d48Sopenharmony_ci background-color: #e8e6e6; 398fb726d48Sopenharmony_ci } 399fb726d48Sopenharmony_ci 400fb726d48Sopenharmony_ci html body blockquote > :first-child { 401fb726d48Sopenharmony_ci margin-top: 0.2px; 402fb726d48Sopenharmony_ci } 403fb726d48Sopenharmony_ci 404fb726d48Sopenharmony_ci html body blockquote > :last-child { 405fb726d48Sopenharmony_ci margin-bottom: 0.1px; 406fb726d48Sopenharmony_ci } 407fb726d48Sopenharmony_ci 408fb726d48Sopenharmony_ci html body hr { 409fb726d48Sopenharmony_ci height: 5px; 410fb726d48Sopenharmony_ci background-color: #cbcaca; 411fb726d48Sopenharmony_ci margin: 32px 0 0.1px 0; 412fb726d48Sopenharmony_ci border: 0 none; 413fb726d48Sopenharmony_ci } 414fb726d48Sopenharmony_ci 415fb726d48Sopenharmony_ci html body table { 416fb726d48Sopenharmony_ci overflow: auto; 417fb726d48Sopenharmony_ci border-collapse: collapse; 418fb726d48Sopenharmony_ci margin: 15px 0.1px 20px 0.1px; 419fb726d48Sopenharmony_ci border-spacing: 0; 420fb726d48Sopenharmony_ci } 421fb726d48Sopenharmony_ci 422fb726d48Sopenharmony_ci html body table th { 423fb726d48Sopenharmony_ci font-weight: bold; 424fb726d48Sopenharmony_ci color: #000000; 425fb726d48Sopenharmony_ci } 426fb726d48Sopenharmony_ci 427fb726d48Sopenharmony_ci html body table td, 428fb726d48Sopenharmony_ci html body table th { 429fb726d48Sopenharmony_ci border: 1px solid #d6d6d6; 430fb726d48Sopenharmony_ci padding: 2px 14px; 431fb726d48Sopenharmony_ci } 432fb726d48Sopenharmony_ci 433fb726d48Sopenharmony_ci html body dl { 434fb726d48Sopenharmony_ci padding: 0px; 435fb726d48Sopenharmony_ci } 436fb726d48Sopenharmony_ci 437fb726d48Sopenharmony_ci html body dl dt { 438fb726d48Sopenharmony_ci padding: 0px; 439fb726d48Sopenharmony_ci margin-top: 15px; 440fb726d48Sopenharmony_ci font-size: 0.9em; 441fb726d48Sopenharmony_ci font-style: italic; 442fb726d48Sopenharmony_ci font-weight: bold; 443fb726d48Sopenharmony_ci } 444fb726d48Sopenharmony_ci 445fb726d48Sopenharmony_ci html body dl dd { 446fb726d48Sopenharmony_ci padding: 0px 17px; 447fb726d48Sopenharmony_ci margin-bottom: 17px; 448fb726d48Sopenharmony_ci } 449fb726d48Sopenharmony_ci 450fb726d48Sopenharmony_ci html body code { 451fb726d48Sopenharmony_ci font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 452fb726d48Sopenharmony_ci font-size: 0.86em !important; 453fb726d48Sopenharmony_ci color: #000000; 454fb726d48Sopenharmony_ci background-color: #f0f0f0; 455fb726d48Sopenharmony_ci border-radius: 4px; 456fb726d48Sopenharmony_ci padding: 0.3em 0px; 457fb726d48Sopenharmony_ci } 458fb726d48Sopenharmony_ci 459fb726d48Sopenharmony_ci html body code::before, 460fb726d48Sopenharmony_ci html body code::after { 461fb726d48Sopenharmony_ci letter-spacing: -0.1em; 462fb726d48Sopenharmony_ci content: '\00a0'; 463fb726d48Sopenharmony_ci } 464fb726d48Sopenharmony_ci 465fb726d48Sopenharmony_ci html body pre > code { 466fb726d48Sopenharmony_ci padding: 1px; 467fb726d48Sopenharmony_ci margin: 0px; 468fb726d48Sopenharmony_ci font-size: 0.86em !important; 469fb726d48Sopenharmony_ci word-break: normal; 470fb726d48Sopenharmony_ci white-space: pre; 471fb726d48Sopenharmony_ci background: transparent; 472fb726d48Sopenharmony_ci border: 0px; 473fb726d48Sopenharmony_ci } 474fb726d48Sopenharmony_ci 475fb726d48Sopenharmony_ci html body .highlight { 476fb726d48Sopenharmony_ci margin-bottom: 17px; 477fb726d48Sopenharmony_ci } 478fb726d48Sopenharmony_ci 479fb726d48Sopenharmony_ci html body .highlight pre, 480fb726d48Sopenharmony_ci html body pre { 481fb726d48Sopenharmony_ci padding: 0.9em; 482fb726d48Sopenharmony_ci overflow: auto; 483fb726d48Sopenharmony_ci font-size: 0.86em !important; 484fb726d48Sopenharmony_ci line-height: 1.46; 485fb726d48Sopenharmony_ci border: #d6d6d6; 486fb726d48Sopenharmony_ci border-radius: 4px; 487fb726d48Sopenharmony_ci } 488fb726d48Sopenharmony_ci 489fb726d48Sopenharmony_ci html body .highlight pre { 490fb726d48Sopenharmony_ci margin-bottom: 0px; 491fb726d48Sopenharmony_ci word-break: normal; 492fb726d48Sopenharmony_ci } 493fb726d48Sopenharmony_ci 494fb726d48Sopenharmony_ci html body pre code, 495fb726d48Sopenharmony_ci html body pre tt { 496fb726d48Sopenharmony_ci display: inline; 497fb726d48Sopenharmony_ci max-width: initial; 498fb726d48Sopenharmony_ci padding: 1px; 499fb726d48Sopenharmony_ci margin: 1px; 500fb726d48Sopenharmony_ci overflow: initial; 501fb726d48Sopenharmony_ci line-height: inherit; 502fb726d48Sopenharmony_ci word-wrap: normal; 503fb726d48Sopenharmony_ci background-color: transparent; 504fb726d48Sopenharmony_ci border: 1px; 505fb726d48Sopenharmony_ci } 506fb726d48Sopenharmony_ci 507fb726d48Sopenharmony_ci html body pre code:before, 508fb726d48Sopenharmony_ci html body pre tt:before, 509fb726d48Sopenharmony_ci html body pre code:after, 510fb726d48Sopenharmony_ci html body pre tt:after { 511fb726d48Sopenharmony_ci content: normal; 512fb726d48Sopenharmony_ci } 513fb726d48Sopenharmony_ci 514fb726d48Sopenharmony_ci html body p, 515fb726d48Sopenharmony_ci html body blockquote, 516fb726d48Sopenharmony_ci html body ul, 517fb726d48Sopenharmony_ci html body ol, 518fb726d48Sopenharmony_ci html body dl, 519fb726d48Sopenharmony_ci html body pre { 520fb726d48Sopenharmony_ci margin-top: 1px; 521fb726d48Sopenharmony_ci margin-bottom: 17px; 522fb726d48Sopenharmony_ci } 523fb726d48Sopenharmony_ci 524fb726d48Sopenharmony_ci html body kbd { 525fb726d48Sopenharmony_ci color: #000000; 526fb726d48Sopenharmony_ci border: 3px solid #d6d6d6; 527fb726d48Sopenharmony_ci border-bottom: 3px solid #c7c7c7; 528fb726d48Sopenharmony_ci padding: 3px 5px; 529fb726d48Sopenharmony_ci background-color: #f0f0f0; 530fb726d48Sopenharmony_ci border-radius: 2px; 531fb726d48Sopenharmony_ci } 532fb726d48Sopenharmony_ci 533fb726d48Sopenharmony_ci @media print { 534fb726d48Sopenharmony_ci html body { 535fb726d48Sopenharmony_ci background-color: #ffffff; 536fb726d48Sopenharmony_ci } 537fb726d48Sopenharmony_ci 538fb726d48Sopenharmony_ci html body h1, 539fb726d48Sopenharmony_ci html body h2, 540fb726d48Sopenharmony_ci html body h3, 541fb726d48Sopenharmony_ci html body h4, 542fb726d48Sopenharmony_ci html body h5, 543fb726d48Sopenharmony_ci html body h6 { 544fb726d48Sopenharmony_ci color: #000000; 545fb726d48Sopenharmony_ci page-break-after: avoid; 546fb726d48Sopenharmony_ci } 547fb726d48Sopenharmony_ci 548fb726d48Sopenharmony_ci html body blockquote { 549fb726d48Sopenharmony_ci color: #5c5c53; 550fb726d48Sopenharmony_ci } 551fb726d48Sopenharmony_ci 552fb726d48Sopenharmony_ci html body pre { 553fb726d48Sopenharmony_ci page-break-inside: avoid; 554fb726d48Sopenharmony_ci } 555fb726d48Sopenharmony_ci 556fb726d48Sopenharmony_ci html body table { 557fb726d48Sopenharmony_ci display: table; 558fb726d48Sopenharmony_ci } 559fb726d48Sopenharmony_ci 560fb726d48Sopenharmony_ci html body img { 561fb726d48Sopenharmony_ci display: block; 562fb726d48Sopenharmony_ci max-width: 99%; 563fb726d48Sopenharmony_ci max-height: 99%; 564fb726d48Sopenharmony_ci } 565fb726d48Sopenharmony_ci 566fb726d48Sopenharmony_ci html body pre, 567fb726d48Sopenharmony_ci html body code { 568fb726d48Sopenharmony_ci word-wrap: break-word; 569fb726d48Sopenharmony_ci white-space: pre; 570fb726d48Sopenharmony_ci } 571fb726d48Sopenharmony_ci } 572fb726d48Sopenharmony_ci 573fb726d48Sopenharmony_ci .smartperf-preview { 574fb726d48Sopenharmony_ci width: 68vw; 575fb726d48Sopenharmony_ci height: 99%; 576fb726d48Sopenharmony_ci box-sizing: border-box; 577fb726d48Sopenharmony_ci overflow: hidden; 578fb726d48Sopenharmony_ci background-color: #fff; 579fb726d48Sopenharmony_ci } 580fb726d48Sopenharmony_ci 581fb726d48Sopenharmony_ci .smartperf-preview .pagebreak, 582fb726d48Sopenharmony_ci .smartperf-preview .newpage { 583fb726d48Sopenharmony_ci page-break-before: always; 584fb726d48Sopenharmony_ci } 585fb726d48Sopenharmony_ci 586fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers { 587fb726d48Sopenharmony_ci position: relative; 588fb726d48Sopenharmony_ci padding-left: 3.7em; 589fb726d48Sopenharmony_ci counter-reset: linenumber; 590fb726d48Sopenharmony_ci } 591fb726d48Sopenharmony_ci 592fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers > code { 593fb726d48Sopenharmony_ci position: relative; 594fb726d48Sopenharmony_ci } 595fb726d48Sopenharmony_ci 596fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows { 597fb726d48Sopenharmony_ci position: absolute; 598fb726d48Sopenharmony_ci pointer-events: none; 599fb726d48Sopenharmony_ci top: 0.9em; 600fb726d48Sopenharmony_ci font-size: 99%; 601fb726d48Sopenharmony_ci left: 1px; 602fb726d48Sopenharmony_ci width: 3em; 603fb726d48Sopenharmony_ci letter-spacing: -1px; 604fb726d48Sopenharmony_ci border-right: 1px solid #999; 605fb726d48Sopenharmony_ci -webkit-user-select: none; 606fb726d48Sopenharmony_ci -moz-user-select: none; 607fb726d48Sopenharmony_ci -ms-user-select: none; 608fb726d48Sopenharmony_ci user-select: none; 609fb726d48Sopenharmony_ci } 610fb726d48Sopenharmony_ci 611fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows > span { 612fb726d48Sopenharmony_ci pointer-events: none; 613fb726d48Sopenharmony_ci display: block; 614fb726d48Sopenharmony_ci counter-increment: linenumber; 615fb726d48Sopenharmony_ci } 616fb726d48Sopenharmony_ci 617fb726d48Sopenharmony_ci .smartperf-preview pre.line-numbers .line-numbers-rows > span:before { 618fb726d48Sopenharmony_ci content: counter(linenumber); 619fb726d48Sopenharmony_ci color: #999; 620fb726d48Sopenharmony_ci display: block; 621fb726d48Sopenharmony_ci padding-right: 0.79em; 622fb726d48Sopenharmony_ci text-align: right; 623fb726d48Sopenharmony_ci } 624fb726d48Sopenharmony_ci 625fb726d48Sopenharmony_ci .smartperf-preview .mathjax-exps .MathJax_Display { 626fb726d48Sopenharmony_ci text-align: center !important; 627fb726d48Sopenharmony_ci } 628fb726d48Sopenharmony_ci 629fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .btn-group { 630fb726d48Sopenharmony_ci display: none; 631fb726d48Sopenharmony_ci } 632fb726d48Sopenharmony_ci 633fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .status { 634fb726d48Sopenharmony_ci display: none; 635fb726d48Sopenharmony_ci } 636fb726d48Sopenharmony_ci 637fb726d48Sopenharmony_ci .smartperf-preview:not([for='preview']) .code-chunk .output-div { 638fb726d48Sopenharmony_ci margin-bottom: 16px; 639fb726d48Sopenharmony_ci } 640fb726d48Sopenharmony_ci 641fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar { 642fb726d48Sopenharmony_ci width: 8px; 643fb726d48Sopenharmony_ci } 644fb726d48Sopenharmony_ci 645fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar-track { 646fb726d48Sopenharmony_ci border-radius: 9px; 647fb726d48Sopenharmony_ci background-color: transparent; 648fb726d48Sopenharmony_ci } 649fb726d48Sopenharmony_ci 650fb726d48Sopenharmony_ci .scrollbar-style::-webkit-scrollbar-thumb { 651fb726d48Sopenharmony_ci border-radius: 6px; 652fb726d48Sopenharmony_ci background-color: rgba(150, 150, 150, 1); 653fb726d48Sopenharmony_ci border: 4px solid rgba(150, 150, 150, 1); 654fb726d48Sopenharmony_ci background-clip: content-box; 655fb726d48Sopenharmony_ci } 656fb726d48Sopenharmony_ci 657fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) { 658fb726d48Sopenharmony_ci position: relative; 659fb726d48Sopenharmony_ci width: 99%; 660fb726d48Sopenharmony_ci height: 99%;; 661fb726d48Sopenharmony_ci overflow: auto; 662fb726d48Sopenharmony_ci } 663fb726d48Sopenharmony_ci 664fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 665fb726d48Sopenharmony_ci position: relative; 666fb726d48Sopenharmony_ci top: 1px; 667fb726d48Sopenharmony_ci } 668fb726d48Sopenharmony_ci 669fb726d48Sopenharmony_ci @media screen and (min-width: 914px) { 670fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 671fb726d48Sopenharmony_ci padding: 2em; 672fb726d48Sopenharmony_ci } 673fb726d48Sopenharmony_ci } 674fb726d48Sopenharmony_ci 675fb726d48Sopenharmony_ci @media screen and (max-width: 914px) { 676fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 677fb726d48Sopenharmony_ci padding: 1.9em; 678fb726d48Sopenharmony_ci } 679fb726d48Sopenharmony_ci } 680fb726d48Sopenharmony_ci 681fb726d48Sopenharmony_ci @media screen and (max-width: 450px) { 682fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) .smartperf-preview { 683fb726d48Sopenharmony_ci font-size: 15px !important; 684fb726d48Sopenharmony_ci padding: 1.1em; 685fb726d48Sopenharmony_ci } 686fb726d48Sopenharmony_ci } 687fb726d48Sopenharmony_ci 688fb726d48Sopenharmony_ci @media print { 689fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 690fb726d48Sopenharmony_ci display: none; 691fb726d48Sopenharmony_ci } 692fb726d48Sopenharmony_ci } 693fb726d48Sopenharmony_ci 694fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 695fb726d48Sopenharmony_ci position: fixed; 696fb726d48Sopenharmony_ci bottom: 9px; 697fb726d48Sopenharmony_ci left: 9px; 698fb726d48Sopenharmony_ci font-size: 28px; 699fb726d48Sopenharmony_ci cursor: pointer; 700fb726d48Sopenharmony_ci color: inherit; 701fb726d48Sopenharmony_ci z-index: 99; 702fb726d48Sopenharmony_ci width: 31px; 703fb726d48Sopenharmony_ci text-align: center; 704fb726d48Sopenharmony_ci opacity: 0.5; 705fb726d48Sopenharmony_ci } 706fb726d48Sopenharmony_ci 707fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn { 708fb726d48Sopenharmony_ci opacity: 1; 709fb726d48Sopenharmony_ci } 710fb726d48Sopenharmony_ci 711fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc { 712fb726d48Sopenharmony_ci position: fixed; 713fb726d48Sopenharmony_ci top: 1px; 714fb726d48Sopenharmony_ci left: 1px; 715fb726d48Sopenharmony_ci width: 300px; 716fb726d48Sopenharmony_ci height: 99%; 717fb726d48Sopenharmony_ci padding: 32px 0 48px 0; 718fb726d48Sopenharmony_ci font-size: 14px; 719fb726d48Sopenharmony_ci box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33); 720fb726d48Sopenharmony_ci box-sizing: border-box; 721fb726d48Sopenharmony_ci overflow: auto; 722fb726d48Sopenharmony_ci background-color: inherit; 723fb726d48Sopenharmony_ci } 724fb726d48Sopenharmony_ci 725fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar { 726fb726d48Sopenharmony_ci width: 9px; 727fb726d48Sopenharmony_ci } 728fb726d48Sopenharmony_ci 729fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track { 730fb726d48Sopenharmony_ci border-radius: 11px; 731fb726d48Sopenharmony_ci background-color: transparent; 732fb726d48Sopenharmony_ci } 733fb726d48Sopenharmony_ci 734fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 735fb726d48Sopenharmony_ci border-radius: 6px; 736fb726d48Sopenharmony_ci background-color: rgba(150, 150, 150, 0.66); 737fb726d48Sopenharmony_ci border: 3px solid rgba(150, 150, 150, 0.66); 738fb726d48Sopenharmony_ci background-clip: content-box; 739fb726d48Sopenharmony_ci } 740fb726d48Sopenharmony_ci 741fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a { 742fb726d48Sopenharmony_ci text-decoration: none; 743fb726d48Sopenharmony_ci } 744fb726d48Sopenharmony_ci 745fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 746fb726d48Sopenharmony_ci padding: 1px 1.7em; 747fb726d48Sopenharmony_ci margin-top: 0.9em; 748fb726d48Sopenharmony_ci } 749fb726d48Sopenharmony_ci 750fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li { 751fb726d48Sopenharmony_ci margin-bottom: 0.8em; 752fb726d48Sopenharmony_ci } 753fb726d48Sopenharmony_ci 754fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 755fb726d48Sopenharmony_ci list-style-type: none; 756fb726d48Sopenharmony_ci } 757fb726d48Sopenharmony_ci 758fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 759fb726d48Sopenharmony_ci left: 301px; 760fb726d48Sopenharmony_ci width: calc(100% - 300px); 761fb726d48Sopenharmony_ci padding: 2em calc(50% - 457px - 150px); 762fb726d48Sopenharmony_ci margin: 1px; 763fb726d48Sopenharmony_ci box-sizing: border-box; 764fb726d48Sopenharmony_ci } 765fb726d48Sopenharmony_ci 766fb726d48Sopenharmony_ci @media screen and (max-width: 1274px) { 767fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 768fb726d48Sopenharmony_ci padding: 1.9em; 769fb726d48Sopenharmony_ci } 770fb726d48Sopenharmony_ci } 771fb726d48Sopenharmony_ci 772fb726d48Sopenharmony_ci @media screen and (max-width: 450px) { 773fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 774fb726d48Sopenharmony_ci width: 99%; 775fb726d48Sopenharmony_ci } 776fb726d48Sopenharmony_ci } 777fb726d48Sopenharmony_ci 778fb726d48Sopenharmony_ci html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc { 779fb726d48Sopenharmony_ci display: none; 780fb726d48Sopenharmony_ci } 781fb726d48Sopenharmony_ci </style> 782fb726d48Sopenharmony_ci </head> 783fb726d48Sopenharmony_ci <body for="html-export" id="body" style="margin:0"> 784fb726d48Sopenharmony_ci <div class="smartperf smartperf-preview" style="min-height: 99vh;"> 785fb726d48Sopenharmony_ci <h1 class="mume-header fontColor">App startup的抓取和展示说明</h1> 786fb726d48Sopenharmony_ci <p class="fontColor"> 787fb726d48Sopenharmony_ci 应用启动分析功能主要是提供应用启动分析模板帮助系统调优人员做应用启动慢场景问题分析,快速查找系统侧启动慢阶段和耗时长调用栈信息。 788fb726d48Sopenharmony_ci </p> 789fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-1">App startup抓取参数的配置</h3> 790fb726d48Sopenharmony_ci 791fb726d48Sopenharmony_ci <p class="fontColor"> 792fb726d48Sopenharmony_ci <img src="../figures/appstartup/appstartupconfig.jpg" alt="GitHub Logo" /> 793fb726d48Sopenharmony_ci <br /> 794fb726d48Sopenharmony_ci 配置项说明: 795fb726d48Sopenharmony_ci </p> 796fb726d48Sopenharmony_ci <ul class="fontColor"> 797fb726d48Sopenharmony_ci <li> 798fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 799fb726d48Sopenharmony_ciApp startup:配置项的总开关。解析时请打开对应的Flags标记(Disabled切换为Enabled)。 800fb726d48Sopenharmony_ci</pre 801fb726d48Sopenharmony_ci > 802fb726d48Sopenharmony_ci </li> 803fb726d48Sopenharmony_ci </ul> 804fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-2">App startup展示说明</h3> 805fb726d48Sopenharmony_ci 806fb726d48Sopenharmony_ci <p class="fontColor">将抓取的App startup文件导入到smartperf工具中,查看应用启动各阶段耗时的情况。</p> 807fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-3">App startup泳道图展示</h3> 808fb726d48Sopenharmony_ci 809fb726d48Sopenharmony_ci <p class="fontColor"> 810fb726d48Sopenharmony_ci App startup的泳道图展示: 811fb726d48Sopenharmony_ci <br /> 812fb726d48Sopenharmony_ci <img src="../figures/appstartup/appstartuprow.jpg" alt="GitHub Logo" /> 813fb726d48Sopenharmony_ci <br /> 814fb726d48Sopenharmony_ci 应用启动包括六个阶段,分别是Process Creating(应用进程创建阶段)、Application Launching(加载应用阶段)、UI Ability 815fb726d48Sopenharmony_ci Launching(加载UI Ability)、UI Ability OnForeground(应用进入前台)、First Frame - APP 816fb726d48Sopenharmony_ci Phase(首帧渲染提交-应用)、First Frame - Render Phase(首帧渲染提交-Render 817fb726d48Sopenharmony_ci Service)。每个阶段的Slice上都会显示出该阶段的时延。 818fb726d48Sopenharmony_ci </p> 819fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-4">App startup泳道图点选功能</h3> 820fb726d48Sopenharmony_ci 821fb726d48Sopenharmony_ci <p class="fontColor"> 822fb726d48Sopenharmony_ci 可以对启动各个阶段的Slice进行点选,点选后在最下方的弹出层中会展示点选数据的统计的tab页。 823fb726d48Sopenharmony_ci <br /> 824fb726d48Sopenharmony_ci 以Process Creating的Slice点选为例: 825fb726d48Sopenharmony_ci <br /> 826fb726d48Sopenharmony_ci <img src="../figures/appstartup/appstartupslice.jpg" alt="GitHub Logo" /> 827fb726d48Sopenharmony_ci </p> 828fb726d48Sopenharmony_ci <ul class="fontColor"> 829fb726d48Sopenharmony_ci <li> 830fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 831fb726d48Sopenharmony_ciStartTime(Relative): 应用启动开始时间(相对时间)。 832fb726d48Sopenharmony_ci</pre 833fb726d48Sopenharmony_ci > 834fb726d48Sopenharmony_ci </li> 835fb726d48Sopenharmony_ci <li> 836fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 837fb726d48Sopenharmony_ciStartTime(Absolute): 应用启动开始时间(绝对时间)。 838fb726d48Sopenharmony_ci</pre 839fb726d48Sopenharmony_ci > 840fb726d48Sopenharmony_ci </li> 841fb726d48Sopenharmony_ci <li> 842fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 843fb726d48Sopenharmony_ciEndTime(Relative):应用启动的结束时间(相对时间)。 844fb726d48Sopenharmony_ci</pre 845fb726d48Sopenharmony_ci > 846fb726d48Sopenharmony_ci </li> 847fb726d48Sopenharmony_ci <li> 848fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 849fb726d48Sopenharmony_ciEndTime(Absolute):应用启动的结束时间(绝对时间)。 850fb726d48Sopenharmony_ci</pre 851fb726d48Sopenharmony_ci > 852fb726d48Sopenharmony_ci </li> 853fb726d48Sopenharmony_ci <li> 854fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 855fb726d48Sopenharmony_ciDuration:应用启动的持续时间。 856fb726d48Sopenharmony_ci</pre 857fb726d48Sopenharmony_ci > 858fb726d48Sopenharmony_ci </li> 859fb726d48Sopenharmony_ci </ul> 860fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-5">App startup泳道图Tab页跳转功能</h3> 861fb726d48Sopenharmony_ci 862fb726d48Sopenharmony_ci <p class="fontColor"> 863fb726d48Sopenharmony_ci 点击各阶段的起始或者结束时间后面的跳转图标,跳转至关联Slice,并显示该Slice的详细信息。 864fb726d48Sopenharmony_ci <br /> 865fb726d48Sopenharmony_ci 以Process Creating的跳转为例: 866fb726d48Sopenharmony_ci <br /> 867fb726d48Sopenharmony_ci <img src="../figures/appstartup/appstartupjump.jpg" alt="GitHub Logo" /> 868fb726d48Sopenharmony_ci <br /> 869fb726d48Sopenharmony_ci 跳转说明: 870fb726d48Sopenharmony_ci </p> 871fb726d48Sopenharmony_ci <ul class="fontColor"> 872fb726d48Sopenharmony_ci <li> 873fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 874fb726d48Sopenharmony_ciStartTime(Relative)的跳转: 跳转到H:virtual int OHOS::AAFwk::AbilityManagerService::StartAbility关键字函数。 875fb726d48Sopenharmony_ci</pre 876fb726d48Sopenharmony_ci > 877fb726d48Sopenharmony_ci </li> 878fb726d48Sopenharmony_ci <li> 879fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 880fb726d48Sopenharmony_ciEndTime(Relative)的跳转: 跳转到H:virtual void OHOS::AppExecFwk::AppMgrServiceInner::AttachApplication关键字函数,并且调用栈要带##应用名,如##com.ohos.smartperf。 881fb726d48Sopenharmony_ci</pre 882fb726d48Sopenharmony_ci > 883fb726d48Sopenharmony_ci </li> 884fb726d48Sopenharmony_ci </ul> 885fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-6">App startup泳道图的框选功能</h3> 886fb726d48Sopenharmony_ci 887fb726d48Sopenharmony_ci <p class="fontColor"> 888fb726d48Sopenharmony_ci 应用启动阶段泳道图框选功能主要是框选启动分析泳道图之后,统计应用各个启动阶段的耗费时长信息。 889fb726d48Sopenharmony_ci <br /> 890fb726d48Sopenharmony_ci <img src="../figures/appstartup/appstartupdrag.jpg" alt="GitHub Logo" /> 891fb726d48Sopenharmony_ci </p> 892fb726d48Sopenharmony_ci <ul class="fontColor"> 893fb726d48Sopenharmony_ci <li> 894fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 895fb726d48Sopenharmony_ciProcess / Startup: 应用名称和启动阶段名称。 896fb726d48Sopenharmony_ci</pre 897fb726d48Sopenharmony_ci > 898fb726d48Sopenharmony_ci </li> 899fb726d48Sopenharmony_ci <li> 900fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 901fb726d48Sopenharmony_ciDuration:应用各阶段启动时长。 902fb726d48Sopenharmony_ci</pre 903fb726d48Sopenharmony_ci > 904fb726d48Sopenharmony_ci </li> 905fb726d48Sopenharmony_ci <li> 906fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 907fb726d48Sopenharmony_ci%:应用各阶段启动时长的占比。 908fb726d48Sopenharmony_ci</pre 909fb726d48Sopenharmony_ci > 910fb726d48Sopenharmony_ci </li> 911fb726d48Sopenharmony_ci </ul> 912fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-7">So初始化泳道图展示</h3> 913fb726d48Sopenharmony_ci 914fb726d48Sopenharmony_ci <p class="fontColor"> 915fb726d48Sopenharmony_ci So初始化的泳道图展示: 916fb726d48Sopenharmony_ci <br /> 917fb726d48Sopenharmony_ci <img src="../figures/appstartup/staticinitilizationrow.jpg" alt="GitHub Logo" /> 918fb726d48Sopenharmony_ci </p> 919fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-8">So初始化泳道图的点选功能</h3> 920fb726d48Sopenharmony_ci 921fb726d48Sopenharmony_ci <p class="fontColor"> 922fb726d48Sopenharmony_ci 点选So初始化的Slice,展示该so初始化信息的tab页。 923fb726d48Sopenharmony_ci <br /> 924fb726d48Sopenharmony_ci <img src="../figures/appstartup/staticinitilizationslice.jpg" alt="GitHub Logo" /> 925fb726d48Sopenharmony_ci </p> 926fb726d48Sopenharmony_ci <ul class="fontColor"> 927fb726d48Sopenharmony_ci <li> 928fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 929fb726d48Sopenharmony_ciName:So的名称。 930fb726d48Sopenharmony_ci</pre 931fb726d48Sopenharmony_ci > 932fb726d48Sopenharmony_ci </li> 933fb726d48Sopenharmony_ci <li> 934fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 935fb726d48Sopenharmony_ciStartTime(Relative):So初始化开始时间(相对时间)。 936fb726d48Sopenharmony_ci</pre 937fb726d48Sopenharmony_ci > 938fb726d48Sopenharmony_ci </li> 939fb726d48Sopenharmony_ci <li> 940fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 941fb726d48Sopenharmony_ciStartTime(Absolute):So初始化开始时间(绝对时间)。 942fb726d48Sopenharmony_ci</pre 943fb726d48Sopenharmony_ci > 944fb726d48Sopenharmony_ci </li> 945fb726d48Sopenharmony_ci <li> 946fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 947fb726d48Sopenharmony_ciDuration:So初始化耗时。 948fb726d48Sopenharmony_ci</pre 949fb726d48Sopenharmony_ci > 950fb726d48Sopenharmony_ci </li> 951fb726d48Sopenharmony_ci </ul> 952fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-9">So初始化泳道图Tab页跳转功能</h3> 953fb726d48Sopenharmony_ci 954fb726d48Sopenharmony_ci <p class="fontColor"> 955fb726d48Sopenharmony_ci 点击So初始化开始时间后面的跳转图标,跳转至关联Slice,并显示该Slice的详细信息。 956fb726d48Sopenharmony_ci <br /> 957fb726d48Sopenharmony_ci <img src="../figures/appstartup/staticinitilizationjump.jpg" alt="GitHub Logo" /> 958fb726d48Sopenharmony_ci <br /> 959fb726d48Sopenharmony_ci 跳转说明: 960fb726d48Sopenharmony_ci </p> 961fb726d48Sopenharmony_ci <ul class="fontColor"> 962fb726d48Sopenharmony_ci <li> 963fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 964fb726d48Sopenharmony_ciStartTime(Relative)的跳转: 跳转到dlopen: system/lib64/extensionability/libinputmethod_extension_module.z.so。 965fb726d48Sopenharmony_ci</pre 966fb726d48Sopenharmony_ci > 967fb726d48Sopenharmony_ci </li> 968fb726d48Sopenharmony_ci </ul> 969fb726d48Sopenharmony_ci <h3 class="mume-header fontColor" id="header-index-10">So初始化泳道图的框选功能</h3> 970fb726d48Sopenharmony_ci 971fb726d48Sopenharmony_ci <p class="fontColor"> 972fb726d48Sopenharmony_ci So初始化泳道图框选功能主要是框选So初始化泳道图之后,统计各个进程下各个So的初始化耗费时长信息。 973fb726d48Sopenharmony_ci <br /> 974fb726d48Sopenharmony_ci <img src="../figures/appstartup/staticinitilizationdrag.jpg" alt="GitHub Logo" /> 975fb726d48Sopenharmony_ci </p> 976fb726d48Sopenharmony_ci <ul class="fontColor"> 977fb726d48Sopenharmony_ci <li> 978fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 979fb726d48Sopenharmony_ciProcess / Lib: 应用名称和So名称。 980fb726d48Sopenharmony_ci</pre 981fb726d48Sopenharmony_ci > 982fb726d48Sopenharmony_ci </li> 983fb726d48Sopenharmony_ci <li> 984fb726d48Sopenharmony_ci <pre class="smartperf-text fontColor light"> 985fb726d48Sopenharmony_ciDuration:So的耗费时长。 986fb726d48Sopenharmony_ci</pre 987fb726d48Sopenharmony_ci > 988fb726d48Sopenharmony_ci </li> 989fb726d48Sopenharmony_ci </ul> 990fb726d48Sopenharmony_ci </div> 991fb726d48Sopenharmony_ci 992fb726d48Sopenharmony_ci <script> 993fb726d48Sopenharmony_ci window.onload = () => { 994fb726d48Sopenharmony_ci let isDark = getURLParameter('dark'); 995fb726d48Sopenharmony_ci let targetId = getURLParameter('targetId'); 996fb726d48Sopenharmony_ci let isBack = getURLParameter('isBack'); 997fb726d48Sopenharmony_ci if (isDark === 'true') { 998fb726d48Sopenharmony_ci document.getElementById('body').setAttribute('style', 'background-color:#272C34;'); 999fb726d48Sopenharmony_ci let header = document.getElementsByClassName('fontColor'); 1000fb726d48Sopenharmony_ci for (let i = 0; i < header.length; i++) { 1001fb726d48Sopenharmony_ci header[i].style.color = '#fff'; 1002fb726d48Sopenharmony_ci } 1003fb726d48Sopenharmony_ci let lightBackGround = document.getElementsByClassName('light'); 1004fb726d48Sopenharmony_ci for (let i = 0; i < lightBackGround.length; i++) { 1005fb726d48Sopenharmony_ci lightBackGround[i].style.backgroundColor = '#32373F'; 1006fb726d48Sopenharmony_ci } 1007fb726d48Sopenharmony_ci } 1008fb726d48Sopenharmony_ci function getURLParameter(name) { 1009fb726d48Sopenharmony_ci return (new URL(document.location)).searchParams.get(name); 1010fb726d48Sopenharmony_ci } 1011fb726d48Sopenharmony_ci 1012fb726d48Sopenharmony_ci if ( targetId !== null ) { 1013fb726d48Sopenharmony_ci let targetElement = document.getElementById(targetId); 1014fb726d48Sopenharmony_ci targetElement.scrollIntoView({ behavior: 'smooth' }); 1015fb726d48Sopenharmony_ci } 1016fb726d48Sopenharmony_ci }; 1017fb726d48Sopenharmony_ci </script> 1018fb726d48Sopenharmony_ci </body> 1019fb726d48Sopenharmony_ci</html> 1020