Command-Line-Enabled reports

10 minute read

Many Insight reports have a command-line version. To run a command-line report, you use the einsight command (on Linux) or the einsight-cmd command (on Windows).

This section lists all command-line-enabled reports and their associated commands. report names are not case-sensitive, but they appear below in mixed case for clarity.

Build Metrics report

Displays build performance metrics.

Syntax

Linux: einsight --report=BuildMetrics <anno_file_path>

Windows: einsight-cmd --report=BuildMetrics <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

name,value

Sample report

> einsight-cmd --report=BuildMetrics anno-9.0.70207-201612200610.anno ..................done. # Build metrics # name,value chainLatestReads,1494092 chainSerialReads,1002653 chainWrites,26988 clusterAvailability,100 compressBytesIn,693606138 compressBytesOut,278119326 compressTime,9.69732 conflicts,0 decompressBytesIn,384328477 decompressBytesOut,791754005 decompressTime,4.64859 diskReadBytes,753711990 diskReadTime,54.4524 diskReadWaitTime,16.0467 diskWriteBytes,1445714206 diskWriteTime,148.146 diskWriteWaitTime,48.2027 duration,64 elapsed,64.5802 emptyNameVersions,3266 freezeTime,0.901202 hiddenWarningCounts, historyFitness,0.611485 jobcache.hit,1117 jobcache.hit.local,1117 jobcache.hit.shared,0 jobcache.miss,19 jobcache.na,3091 jobcache.newslot,6 jobcache.rootschanged,0 jobcache.sharedmiss,0 jobcache.sharednewslot,0 jobcache.uncacheable,0 jobcache.unneeded,6 jobcache.workloadsaved,2439.152925 maxArenaCount,61 maxMakeCount,69 noAgentsWaitTime,0 noLocalAgentsWaitTime,0 nodeReadBytes,407593643 nodeReadTime,72.7475 nodeReadWaitTime,8.49421 nodeWriteBytes,330949146 nodeWriteTime,47.1822 nodeWriteWaitTime,4.71339 runjobs,1405 symlinkReads,0 termDiskCopiedBytes,0 termDiskCopiedFiles,0 termDiskMovedBytes,1445714206 termDiskMovedFiles,4201 termDiskRemovedBytes,0 termDiskRemovedFiles,0 termDiskRemovedTmpBytes,9662 termDiskRemovedTmpFiles,6 terminated,4239 timer:agentManager.shouldRequestAgents,0.0152685 timer:agentManager.startup,3.3592e-05 timer:agentManager.stop,1.1786e-05 timer:agentManager.work,0.00246971 timer:bench,0.00108708 timer:directory.lookup.busy,0.692566 timer:directory.populate,2.26114 timer:history.parsePrune,0.000882748 timer:history.pruneFollowers,4.3662e-05 timer:history.pruneNoFollower,0.00402157 timer:idle.agentManager,64.1503 timer:idle.agentManagerRequest,0.156412 timer:idle.agentRun,316.807 timer:idle.noJobs,370.669 timer:idle.untilCompleted,52.2846 timer:job.invoke.broadcast,0.0702766 timer:job.invoke.notifyListeners,0.0882166 timer:job.invoke.postRecordWork,0.0812744 timer:job.invoke.recordUsage,0.0113894 timer:job.invoke.scheduleFollowers,0.258643 timer:jobCache.checkAndLoad,28.4536 timer:jobCache.checkInputs,23.6733 timer:jobCache.loadOperations,0.101976 timer:jobCache.lockSlot,32.4439 timer:jobCache.reloadParse,0.921023 timer:jobCache.save,1.27508 timer:jobCache.saveInputs,0.192777 timer:jobCache.saveOperations,1.91048 timer:jobcache.copyDirectoryEntries,0.191248 timer:jobcache.sortDirectoryEntries,0.205118 timer:main.commit,1.46126 timer:main.history,0.020566 timer:main.lockedWriteToDisk,0.0365336 timer:main.terminate,1.22315 timer:main.writeToDisk,0.167045 timer:main.writeToDisk.createdir,0.962308 timer:main.writeToDisk.createdir.attrs,0.155522 timer:main.writeToDisk.createdir.chown,0.163054 timer:main.writeToDisk.createdir.times,0.0202126 timer:main.writeToDisk.createfile,4.71634 timer:main.writeToDisk.createfile.attrs,2.82428 timer:main.writeToDisk.createfile.times,0.184676 timer:main.writeToDisk.modifyAttrs,0.000438072 timer:main.writeToDisk.modifyAttrs.attrs,0.120513 timer:main.writeToDisk.unlink,0.00383489 timer:main.writeToDisk.unlink.data,8.535e-06 timer:mutex.chainIdTable,1.224e-06 timer:mutex.event,3.077e-06 timer:mutex.filedata.checksum,0.00934467 timer:mutex.filedata.nodelist,0.03921 timer:mutex.history,0.00066668 timer:mutex.jobcreate,0.0271306 timer:mutex.jobqueue,0.245312 timer:mutex.jobrunstate,0.0268556 timer:mutex.nodeinit,0.070376 timer:mutex.target,0.00298517 timer:node.setup,2.47143 timer:node.svc.getData,0.195846 timer:node.svc.getData.acquireLock,1.36939 timer:node.svc.getData.insideLock,0.21722 timer:node.svc.getData.send,64.4599 timer:node.svc.getDir,0.106606 timer:node.svc.getVersions,0.0533701 timer:node.svc.getVersions.acquireLock,1.11898 timer:node.svc.getVersions.insideLock,1.08848 timer:parse.reload,0.359885 timer:sched.apply,0.089669 timer:sched.computeWeights,7.5063e-05 timer:sched.load,0.0335329 timer:sched.makeDepsTable,0.00177636 timer:sched.makeJobsTable,0.000938007 timer:usage.io,0.137742 timer:usage.io.makedata,149 timer:usage.latency,0.474752 timer:usage.record,0.0902785 timer:worker.continuationjob,5.8117e-05 timer:worker.endjob,0.00204709 timer:worker.existencejob,0.116967 timer:worker.followjob,0.000300838 timer:worker.invoke,1.65364 timer:worker.invokelocal,0.000172413 timer:worker.other,0.0446228 timer:worker.parsejob,0.59132 timer:worker.remakejob,0.00186945 timer:worker.rulejob,0.0440127 timer:worker.rulejob.needtorun,1.46848 timer:worker.runcommands,13.809 timer:worker.shouldRequestAgents,4.2639e-05 timer:worker.startup,2.284e-05 timer:worker.statcachejob,0.058166 timerThreadCount,18 totalAgentCount,16 totalChains,21579 totalNameVersions,18507 totalVersions,26988 totality,100 usageBytes,812972616 workload,644.411247 writeThrottleWaitTime,0

Build summary report

Shows a brief summary of the build.

Syntax

Linux: einsight --report=BuildSummary <anno_file_path>

Windows: einsight-cmd --report=BuildSummary <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

name,value

Sample report

> einsight-cmd --report=BuildSummary anno-9.0.70207-201612200610.anno ..................done. # Build summary # name,value build,289643 duration,1m4.58s makes,75 jobs,4239 hosts,3 agents,17 exitcode,0 status,success annodetail,basic waiting md5 jobs.compile,1073 jobs.noop,364 jobs.exist,1733 jobs.remake,75 jobs.end,75 jobs.statcache,430 jobs.unknown,112 jobs.fs,51 jobs.env,2 jobs.follow,74 jobs.parse,75 jobs.misc,7 jobs.library,39 jobs.packaging,1 jobs.make,8 jobs.link,120 jobs.conflict,0 jobs.reverted,0 jobs.rerun,0

Cluster Sharing report

Computes the total amount of work time lost because of agent revocation or failure over the lifetime of the build.

Syntax

Linux: einsight --report=ClusterSharing <anno_file_path>

Windows: einsight-cmd --report=ClusterSharing <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

jobid,length,restarts,wasted,name

Sample report

> einsight-cmd --report=ClusterSharing ebitbake.anno ..................done. # 1m25.07s total work time lost. # 53.12s net build time lost. # jobid,length,restarts,wasted,name J2186_00007f44341706d0,0.362682,1,0.477399,cli/qdisc/plug.la J2186_00007f4424219c90,0.804039,2,0.713630,nl-cls-list J2186_00007f442421ab30,0.646339,1,0.472761,nl-neigh-delete J2186_00007f442421ad70,0.687130,2,0.444863,nl-neightbl-list J1893_00007fa10c4a6030,0.876827,1,0.219122,<no name> J1893_00007fa04400ef60,0.064949,1,0.021590,msgcmp-msgcmp.o J1893_00007fa04400f1a0,0.038550,1,0.034199,msgfmt-write-java.o J1893_00007fa04400f200,0.022654,1,0.030078,msgfmt-write-csharp.o J1893_00007fa04400f2c0,0.015016,1,0.023518,msgfmt-write-tcl.o J1893_00007fa04400f320,0.021162,1,0.018851,msgfmt-write-qt.o J1893_00007fa04400f560,0.634559,1,0.427491,msgfmt J1893_00007fa04400f620,0.125216,1,0.009231,msgmerge-msgmerge.o J1893_00007fa04400f7a0,0.669271,1,0.426876,msgmerge J1893_00007fa04400f980,0.028573,1,0.025642,msgunfmt-read-csharp.o J1893_00007fa04400f9e0,0.022108,1,0.029883,msgunfmt-read-resources.o J1893_00007fa04400fa40,0.025514,1,0.082605,msgunfmt-read-tcl.o J1893_00007fa04400faa0,0.665125,1,0.426643,msgunfmt J1893_00007fa04400fb60,0.086592,1,0.001919,xgettext-xgettext.o J1893_00007fa04400fce0,0.054713,1,0.030390,xgettext-x-python.o J1893_00007fa04400fd40,0.061385,1,0.015596,xgettext-x-lisp.o J1893_00007fa044010820,0.604004,1,0.462049,msgconv J1893_00007fa044010e20,0.045110,1,0.001529,msginit-msginit.o J1893_00007fa044011000,0.635153,1,0.424183,msginit J1893_00007fa10006ec80,23.061491,3,15.302399,config.h J1893_00007fa0f811e960,10.838671,4,10.904986,archive.dir.tar.xz J1983_00007fdbdc038f70,0.003618,1,0.002057,xcb_ext.lo J1983_00007fdbdc03a050,0.552924,1,0.004796,libxcb-present.la J1994_00007ff9b4047940,0.183549,1,0.182369,macro.so J1994_00007ff9b4047d00,0.139746,1,0.021068,histsearch.so J1994_00007ff9b4047f40,0.076138,1,0.082748,xmalloc.so J1967_00007f446c13abe0,0.140282,1,0.131761,dwfl_module_dwarf_cfi.os J1967_00007f445009d1b0,0.134849,1,0.165323,ppc64_corenote.os J1967_00007f445009d810,0.146710,1,0.060655,s390_retval.os J1967_00007f445009e950,0.128407,1,0.112779,parisc_retval.os J1986_00007f3830006480,0.289481,1,0.107474,rc4-md5-x86_64.s J2112_00007fc460020e90,0.006848,1,0.002254,libltdl/libltdl_libltdl_la-lt_error.lo J2112_00007fc460021610,1.881745,1,0.202387,../libtool-2.4.6/libltdl/aclocal.m4 J1974_00007f0750031c30,16.159801,1,5.512459,configure-libiberty J1974_00007f06e0019aa0,0.027405,12,0.003857,bfdver.h J1974_00007f06e0019b00,0.038147,4,0.005082,elf32-target.h J1974_00007f06e0019b60,0.043314,3,0.004535,elf64-target.h J1974_00007f06e0019da0,0.017487,3,0.002118,config.h J1974_00007f06e0019e60,0.093306,1,0.002189,info-recursive J1974_00007f07500326b0,10.461935,1,2.160281,configure-gas J1974_00007f070c0eda90,0.069553,1,0.057616,run-genscripts J1974_00007f06cc0d0650,0.859851,1,0.054086,run-genscripts J1974_00007f06cc113620,0.164354,1,0.160065,run-genscripts J1974_00007f06b01b56b0,0.109428,1,0.144590,<no name> J1974_00007f06ec444170,0.242276,1,0.187814,run-genscripts J1974_00007f06ec08fdc0,0.041571,1,0.098388,eelf32iq10.c J1974_00007f06c81c4dc0,0.386153,1,0.372528,run-genscripts J1974_00007f07301cbe80,0.370047,1,0.015264,run-genscripts J1974_00007f0750080830,0.116960,1,0.126762,<no name> J1974_00007f06ec093ba0,0.039712,1,0.058316,eh8300h.c J1974_00007f06d81f2e50,0.122328,1,0.046590,<no name> J1974_00007f06ac1a1ca0,0.123356,1,0.126089,<no name> J1974_00007f06ec0971a0,0.035187,1,0.086905,em68hc12elf.c J1974_00007f06d415e060,0.146235,1,0.156494,<no name> J1974_00007f06f40545d0,0.786536,1,0.329784,run-genscripts J1974_00007f06f806b060,0.732508,2,0.954428,run-genscripts J1974_00007f06e81936e0,0.378367,1,0.433488,run-genscripts J1974_00007f06ec099ea0,0.036798,1,0.015392,eshelf32.c J1974_00007f06c001ac40,0.754363,1,0.443667,run-genscripts J1974_00007f06fc1e84d0,0.110768,1,0.090442,<no name> J1974_00007f06d007f310,0.759171,1,0.212728,run-genscripts J1974_00007f071004bdf0,0.787601,1,0.161597,run-genscripts J1974_00007f07000398c0,0.757373,2,0.431837,run-genscripts J1974_00007f06a00308f0,0.783146,1,0.229209,run-genscripts J1974_00007f06c8036500,0.823749,1,0.226237,run-genscripts J1974_00007f06ac1c00a0,0.115960,1,0.088771,<no name> J1974_00007f07100bcf60,0.820274,1,0.837158,run-genscripts J1974_00007f06f4018110,0.820727,1,0.296513,run-genscripts J1921_00007f53f406fbd0,8.757666,2,8.117044,packagedata J2367_00007f56c4009f30,0.487831,1,0.522114,plugins.so J2367_00007f56c400a170,0.401975,1,0.521597,utf8_conv.so J2367_00007f576001bee0,2.200748,1,0.501447,verto-k5ev.so J2367_00007f573001d610,0.353771,1,0.577965,checksum_unkeyed.so J2367_00007f573001d670,0.252671,1,0.596980,checksum_length.so J2367_00007f573001d790,0.402062,1,0.595389,cmac.so J2367_00007f573001d850,0.517112,1,0.594522,combine_keys.so J2367_00007f573001dc70,0.524776,1,0.573877,enctype_util.so J2367_00007f573001e5d0,0.454506,1,0.036398,random_to_key.so J2367_00007f573001e690,0.404481,1,0.095810,s2k_pbkdf2.so J2367_00007f578402d3e0,0.678064,1,0.096217,camellia.so J2355_00007f4a2c056740,0.044237,1,0.000975,<no name> J2202_00007fe8b014e550,0.289063,1,0.107030,libip6t_ipv6header.oo J2062_00007f0cec581110,0.043404,1,0.031070,_satfractSFDA.o J2062_00007f0cec58c330,0.122039,1,0.026200,_fixunsxfdi_s.o J2062_00007f0cec59d1f0,0.080907,1,0.042209,_fractUSATQ_s.o J2285_00007fa4880751c0,0.072926,1,0.017153,<no name> J2319_00007fd8d807c020,2.212471,2,0.001684,<no name> J1889_00007ff6e001b350,0.576377,1,0.130638,gen-fac J1889_00007ff6e001b470,0.569869,1,0.085968,gen-fib J1889_00007ff6e001b9b0,0.581462,1,0.092270,gen-psqr J2284_00007f4118005df0,0.093422,1,0.053981,builtext.h J2284_00007f410c023050,3.039164,1,0.091598,pipesize.h J2008_00007f7880026030,0.005540,1,0.003040,dblist_dir.o J2008_00007f78b0117350,0.004715,2,0.002717,extent.o J1884_00007f2f04017e60,0.374107,1,0.002127,uuid J2103_00007f69cc03be80,0.156894,1,0.001193,io_submit.ol J2359_00007ff4d400a3d0,0.013052,1,0.018267,XOpenDevice.3 J2359_00007ff4d400a4f0,0.014493,1,0.012850,XSendExtensionEvent.3 J2359_00007ff4d400ae50,0.014790,1,0.018129,XChangeDeviceControl.3 J2359_00007ff4d400b2d0,0.012175,2,0.018045,XUngrabDeviceButton.3 J2359_00007ff4d400cdd0,0.015623,1,0.013935,XIGetProperty.3 J2234_00007fec0031a440,0.029882,1,0.007829,msgfmt-write-csharp.o J2234_00007fec201e9280,8.186177,1,6.381330,archive.dir.tar.xz J2413_00007fd284073f90,0.240723,1,0.001316,<no name> J1972_00007faed804dda0,10.814852,3,5.498401,configure-binutils J1972_00007fae94013200,0.167478,1,0.013672,ldlex.c J1972_00007fae94013440,0.019730,1,0.004243,ldmain.o J1972_00007fae94013500,0.014739,1,0.009730,ldexp.o J1972_00007fae940137a0,0.013148,1,0.005212,ldbuildid.o J1972_00007faec00ac280,0.788586,1,0.185953,run-genscripts J2336_00007f6260136f50,0.316585,1,0.082238,debugfs J2164_00007f0d1003a190,0.059965,1,0.007213,wintzimpl.d J2164_00007f0ce00a3c00,0.222253,1,0.008716,../../bin/derb J2164_00007f0d04076ff0,0.253816,5,0.005194,../../bin/gencfu J2248_00007fce7c009a70,2.550961,1,2.730868,bin/doesnothing J2121_00007f73fc008330,0.851808,2,0.749953,lib J2171_00007f2b10132a00,0.007218,1,0.001493,libturbojpeg_la-jcparam.lo J1984_00007fee1411ad80,0.599201,1,0.168217,affine-test J2358_00007fda980349a0,1.205644,1,0.231028,stamp-h1 J2348_00007f7fe406cbf0,2.491486,4,0.937251,libpython2.7.a J2348_00007f7fe406cc50,1.297114,1,0.275212,libpython2.7.so J2348_00007f7fe406cd10,0.701728,1,0.001342,python J2318_00007fb4e0005b40,0.612475,2,0.001689,sndfile-cmp J2414_00007fa504045670,0.067355,1,0.019729,<no name> J2000_00007f26f4025570,5.986553,1,2.547975,configure-intl J2000_00007f26f4025b70,0.075770,1,0.002084,all-build-libiberty J2000_00007f26f4025c90,6.390678,1,0.456626,configure-build-fixincludes J1997_00007f3b1007b310,0.073067,1,0.001192,<no name> J1997_00007f3b1008ac30,0.049382,1,0.003565,<no name> J2007_00007f2ba4010040,0.019642,1,0.003961,ntfs/.dirstamp J2291_00007f2dac0c8a10,0.156559,1,0.000934,<no name> J1978_00007ffa34063fa0,0.427100,1,0.109864,libkmod/libkmod-internal.la J2366_00007f7b0400aa60,0.103531,1,0.538961,dc J2287_00007f3854394f30,0.442300,1,0.002515,sys/socket.h J2335_00007f0000028750,3.405409,1,1.274523,.links J2335_00007f000002b210,0.602391,1,0.321379,init.lo J2335_00007f000002b9f0,0.462165,1,0.299342,os-local.lo J2335_00007effb0058d60,0.014833,1,0.003081,xmap.o J2335_00007effa80188d0,1.718312,1,1.358697,slapd J2307_00007f8d7c03b7b0,0.911127,9,0.181155,libxcb.la J2113_00007f74b8024c90,1.787971,2,0.785197,../libtool-2.4.6/libltdl/aclocal.m4 J1990_00007f444c04ac30,0.021919,1,0.009508,ChkWinEv.lo J1990_00007f444c04acf0,0.018283,1,0.008821,ChProp.lo

Derived Files Analysis report

Finds the files that are likely derivatives of the file that you specify. A file is a likely derivative if it is produced concurrently with, or subsequent to, reads of the specified file.

Syntax

Linux: einsight --report="DerivedFilesAnalysis <input_files>" <anno_file_path>

Windows: einsight-cmd --report="DerivedFilesAnalysis <input_files>" <anno_file_path>

Option Description

<input_files>

List of the full paths of one or more files. You can separate multiple files with spaces, commas, or semicolons.

This report requires the --emake-annodetail=file eMake option.

<anno_file_path>

Path to the annotation file from the build.

Results format

A list of file names and their full paths.

Sample report

> einsight-cmd --report=DerivedFilesAnalysis /net/build/ecloud-9.0.70207-201612200610/e cloud/vrpsx/interface/vrpsx_identify_lib.h anno-9.0.70207-201612200610.anno ..................done. direct.id /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct test_embedding.passed /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/tests test_system.passed /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/tests listmounts /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples listmounts.so /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples printenv /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples printenv.so /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples treewalk /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples treewalk.so /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/examples vrpsx_counted_identified.ext /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_counted_identified_identifier.h /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_error.ext /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_error_identifier.h /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_identified.ext /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_identified_function.ext /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_identified_identifier.h /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface vrpsx_system.ext /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface

Diagnostics report

Scans the build output log for warnings and errors generated by a variety of common build tools and prints any results in JSON format.

Syntax

Linux: einsight --report="Diagnostics [<limit>]" <anno_file_path>

Windows: einsight-cmd --report="Diagnostics [<limit>]" <anno_file_path>

Option Description

<limit>

(Optional) Maximum number of diagnostics of each type to include in the output. The default is 20.

Results format

{ "errors": <count>, "warnings": <count>, "diagnostics": [ { "id" : "<job id>", "type": "<diagnostic type>", "name": "<short job name>", "module": "<short job directory>", "line": <output log line number>, "text": "<diagnostic text>" } ] }

Sample report

{ "errors": 0, "warnings": 323, "diagnostics": [ { "id" : "J00007f018a6170e8", "type": "warn", "name": "incident.pb.cc", "module": "Android-Q-preview-1", "line": 2442, "text": "frameworks/base/core/proto/android/os/incident.proto: warning: Import frameworks/base/core/proto/android/os/batterystats.proto but not used." }, { "id" : "J00007f018a622680", "type": "warn", "name": "activitymanager.srcjar", "module": "Android-Q-preview-1", "line": 2803, "text": "frameworks/base/core/proto/android/os/incident.proto: warning: Import frameworks/base/core/proto/android/os/batterystats.proto but not used." }, ... ] }

ElectricSimulator report

Predicts the approximate performance of the build using different cluster sizes.

Syntax

Linux: einsight --report="ElectricSimulator [<min_agents>] [<max_agents>] [<step_size>]" <anno_file_path>

Windows: einsight-cmd --report="ElectricSimulator [<min_agents>] [<max_agents>] [<step_size>]" <anno_file_path>

Option Description

<min_agents>

(Optional) Minimum number of agents to simulate. The default is 4.

<max_agents>

(Optional) Maximum number of agents to simulate. The default is 32.

<step_size>

(Optional) Number of agents to increment the count each time. The default is 4.

<anno_file_path>

Path to the annotation file from the build.

Results format

agents,duration

Sample report

> einsight-cmd --report=ElectricSimulator 8 16 2 anno-9.0.70207-201612200610.anno ..................done. # ElectricSimulator # agents,duration 8,13m33.73s 10,11m2.96s 12,9m22.01s 14,8m11.20s 16,7m14.95s

Export Timeline report

Exports the main build timeline to a .png image file. This is a command-line-only report and is therefore unavailable in the Insight GUI.

Syntax

Linux: einsight --report="ExportTimeline <file_name> [<mode>] [<scale>] [<row_height>] [<row_space>]" <anno_file_path>

Windows: einsight-cmd --report="ExportTimeline <file_name> [<mode>] [<scale>] [<row_height>] [<row_space>]" <anno_file_path>

Option Description

<file_name>

Name of the .png output file.

<mode>

(Optional) Specifies a color or black-and-white image. Valid values are color or bw. The default is color.

<scale>

(Optional) Number of seconds per pixel. The default is 2.

<row_height>

(Optional) Number of pixels per row of jobs. The default is 1.

<row_space>

(Optional) Number of pixels separating rows. The default is 1.

<anno_file_path>

Path to the annotation file from the build.

Results format

A .png file named <file_name>.

Sample report

Following is a sample report that outputs a file named mytimeline.png :

> einsight-cmd --report="ExportTimeline mytimeline.png color 1 2 2" anno-9.0.70207-201612200610.anno ..................done.

JobCache summary report

Summarize jobcache use in the build.

Syntax

Linux: einsight --report=JobsCacheSummary <anno_file_path>

Windows: einsight-cmd --report=JobsCacheSummary <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

A JSON document containing jobcache summary information:

{ "elapsedcached": <seconds>, "elapsedsaved": <seconds>, "elapseduncached": <seconds>, "hit": <count>, "hit.local": <count>, "hit.shared": <count>, "hitrate": <fraction>, "jobcached": <count>, "miss": <count>, "na": <count>, "newslot": <count>, "rootschanged": <count>, "sharedmiss": <count>, "sharednewlot": <count>, "uncacheable": <count>, "unneeded": <count>, "workloadsaved": <seconds>, "types": [ { "type": "<name>", "jobs": <count>, "workload": <seconds>, "workloadsaved": <seconds>, "hit": <count>, "miss": <count>, "newslot": <count>, "rootschanged": <count>, "uncacheable": <count> }, ... ] }

Sample report

{ "elapsedcached": 655.5508750000253, "elapsedsaved": 2154.286747000004, "elapseduncached": 2809.8376220000296, "hit": 36267, "hit.local": 36267, "hit.shared": 0, "hitrate": 0.9499449944994499, "jobcached": 38178, "miss": 162, "na": 63868, "newslot": 0, "rootschanged": 0, "sharedmiss": 0, "sharednewlot": 0, "uncacheable": 1749, "unneeded": 0, "workloadsaved": 124642.905253, "types": [ { "type": "ar", "jobs": 661, "workload": 216.649785, "workloadsaved": 20.749041, "hit": 661, "miss": 0, "newslot": 0, "rootschanged": 0, "uncacheable": 0 }, ... ] }

Jobs by Agent report

Counts the number of jobs run by each agent in the build.

Syntax

Linux: einsight --report=JobsByAgent <anno_file_path>

Windows: einsight-cmd --report=JobsByAgent <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

A table of the job count and the total time for each agent.

Sample report

> einsight-cmd --report=JobsByAgent anno-9.0.70207-201612200610.anno ..................done. # Agent Job count Total time InternalAgent 2 0.8907920000000047 linbuild1-1 457 31.65126699999995 linbuild1-2 302 31.50700299999998 linbuild1-3 59 34.19582700000001 linbuild1-4 16 32.652243000000006 linbuild1-5 352 31.914996999999975 linbuild1-6 144 31.557966999999998 linbuild1-7 209 31.319634000000004 linbuild1-8 67 55.85122 linbuild2-1 280 37.99036499999998 linbuild2-2 610 31.478144999999998 linbuild2-3 509 54.930332000000014 linbuild2-4 300 48.46878100000003 linbuild2-5 266 52.82022000000002 linbuild2-6 81 39.54006800000001 linbuild2-7 88 41.76312900000003 linbuild2-8 497 56.770043

Job Stats report

Shows the jobs and build workload by job duration.

Syntax

Linux: einsight --report=JobStats <anno_file_path>

Windows: einsight-cmd --report=JobStats <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

You can also limit results to a job class, such as compile or link. To limit your results, run this command:

einsight --report="JobStats <job_class>" <anno_file_path>

where <job_class> is the only job class that you want to see.

Results format

duration,count,time,count percent,time percent

Sample report

Following is a sample report for all jobs:

> einsight-cmd --report=JobStats anno-9.0.70207-201612200610.anno ..................done. # Job stats (all jobs) # duration,count,time,count percent,time percent 0.25s,3959,136.59,93.00,21.17 0.50s,173,60.28,4.00,9.34 0.75s,44,27.27,1.00,4.23 1.00s,10,8.35,0.00,1.29 2.50s,19,35.35,0.00,5.48 5.00s,12,37.39,0.00,5.79 15.00s,8,55.33,0.00,8.57 30.00s,13,252.47,0.00,39.12 45.00s,1,32.28,0.00,5.00

Job Time by Type report

Shows the portion of the build that was consumed by each type of job.

Syntax

Linux: einsight --report="JobTimeByType [<format>]" <anno_file_path>

Windows: einsight-cmd --report="JobTimeByType [<format>]" <anno_file_path>

Option Description

<format>

output format, one of csv (default) or json.

<anno_file_path>

Path to the annotation file from the build.

Results format

class,count,percent,seconds,average

Sample report

In CSV format:

> einsight-cmd --report=JobTimeByType emake.xml ..................done. # Job Time by Type # class,count,percent,seconds,average compile,1073,45.04,290.66,0.27 link,120,21.71,140.09,1.17 fs,51,7.95,51.33,1.01 unknown,112,7.83,50.56,0.45 packaging,1,5.00,32.28,32.28 make,8,4.81,31.03,3.88 misc,7,4.22,27.20,3.89 library,39,1.95,12.56,0.32 parse,75,1.36,8.75,0.12 env,2,0.06,0.36,0.18 exist,1733,0.04,0.23,0.00 statcache,430,0.02,0.10,0.00 noop,364,0.01,0.09,0.00 end,75,0.01,0.04,0.00 follow,74,0.00,0.03,0.00 remake,75,0.00,0.00,0.00

Or in JSON format:

{ "classes" : [ { "class": "compile", "count": 1626, "percent": 44.48, "workload": 278.93, "average": 0.17, "jobs": [ { "id": "J00007f8e94071358", "name": "GMake.o", "length": 26.185017 }, ... ] }, ... ] }

Longest Jobs report

Finds the longest jobs in the build.

Syntax

Linux: einsight --report="LongestJobs <number> <filter>" <anno_file_path>

Windows: einsight-cmd --report="LongestJobs <number> <filter>" <anno_file_path>

Option Description

<number>

Number of jobs. The default is 10.

<filter>

Search criteria to filter the job types. For example, rather than finding the 10 longest jobs in the build, you can see the 10 longest parse jobs or the 10 longest compile jobs.

The filter allows only a single term (meaning that you cannot combine search terms such as class:compile name:util/*.o ). For a list of search terms, see Supported Search Terms.

<anno_file_path>

Path to the annotation file from the build.

You can specify search criteria to filter the job types in virtually any manner. For example, to see the 10 longest parse jobs, enter:

einsight --report="LongestJobs 10 type:parse" emake.xml

Or to see the 10 longest compile jobs, enter:

einsight --report="LongestJobs 10 class:compile" emake.xml

Results format

job id,duration,name

Sample report

Following is a sample report for the ten longest parse jobs:

> einsight-cmd --report="LongestJobs 10 type:parse" anno-9.0.70207-201612200610.anno ..................done. # LONGEST JOBS # job id,duration,name Jb3792fe0,32.282358,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/common/ec-common.jar Jb37cff90,26.051280,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/cmtool/cmtool Jaabde560,23.859708,build Jb37aa398,23.382324,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/annolib/anno2metrics Jb37aa2f0,23.112483,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/annolib/anno2config Ja9ca9368,18.874805,/net/build/ecloud-9.0.70207-201612200610/out/x86_64_Linux/ecloud/emake/GMake.o Ja9ca7dc0,18.198220,/net/build/ecloud-9.0.70207-201612200610/out/x86_64_Linux/ecloud/emake/Build.o Ja9fcac70,18.048953,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/emake/GMake.o Ja9fc96c8,17.640927,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/emake/Build.o Ja9ca9678,17.198145,/net/build/ecloud-9.0.70207-201612200610/out/x86_64_Linux/ecloud/emake/electrify

Longest Serial Chain report

Finds the sequence of serialized jobs in the build with the longest runtime.

Syntax

Linux: einsight --report="LongestSerialChain [<job_ID>]" <anno_file_path>

Windows: einsight-cmd --report="LongestSerialChain [<job_ID>]" <anno_file_path>

Option Description

<job_ID>

(Optional) ID for which you want to find the longest serial chain leading to that job. If you do not specify a job ID, the report returns the longest serial chain overall.

<anno_file_path>

Path to the annotation file from the build.

Results format

job,type,length,name

Sample report

Following is a sample report to find the longest serial chain overall:

> einsight-cmd --report=LongestSerialChain anno-9.0.70207-201612200610.anno ..................done. # Longest serial chain overall (57.88ss total) # job,type,length,name J0943ec88,parse,0.102436,<no name> J094e4e88,exist,0.000031,Makefile J094e4ec0,remake,0.000035,<no name> J094e4fa0,rule,0.046419,vrpsx J094d7a18,parse,0.070020,<no name> J094ff278,exist,0.000045,Makefile J094ff2b0,remake,0.000092,<no name> J094ff400,rule,0.028249,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx J094ff470,rule,0.010555,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/interface J094ff518,rule,0.044486,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/interface/vrpsx_identify_lib.o J094ff6a0,rule,0.063622,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/interface/vrpsx_identify J094ff710,rule,0.022471,/net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface/vrpsx_identified.id J094ff9e8,rule,0.000286,/net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface/vrpsx_identified_identifier.h J094ffdd8,rule,0.239360,/net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface/vrpsx_system_error.ext J095000b0,rule,0.130562,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/implementation_support_map.c J095001c8,rule,0.000091,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/loader_support_map.c J09500200,rule,0.095453,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/direct_identifier.h J09500238,rule,0.028122,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/implementation.o J095002e0,rule,0.050809,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/vrpsx_loader J09500858,rule,0.021938,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/tests/test_system J09500a88,rule,0.334462,/net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/direct/tests/test_system.passed J09500c10,rule,0.000066,tests J09500c48,rule,0.000046,all J094cf8f8,end,0.000063,<no name> J094cfbc0,follow,0.000047,vrpsx (follow) J094e4fd8,rule,0.313322,all_and_buildtest Jab14b270,parse,0.108541,<no name> Jb3792e58,exist,0.000030,Makefile Jb3792e90,remake,0.000028,<no name> Jb3792fe0,rule,32.282358,/net/build/ecloud-9.0.70207-201612200610/out/i 86_Linux/ecloud/common/ec-common.jar Jaabde560,rule,23.859708,build Jaabde598,rule,0.000073,all Jaaa01818,end,0.023779,<no name> Jaaa07290,follow,0.000079,all (follow of continuation 2 of 2) J09505a70,rule,0.000125,all_and_buildtest Jab152548,end,0.000099,<no name> Jab150cf0,follow,0.000087,all_and_buildtest (follow) J0943e8f0,end,0.000137,<no name>

Metric Differences report

Compares the metrics between two builds.

Syntax

Linux: einsight --report=MetricDiff <anno_file_path1> <anno_file_path2>

Windows: einsight-cmd --report=MetricDiff <anno_file_path1> <anno_file_path2>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

Comparison of summary statistics between two annotation files.

Sample report

> einsight-cmd --report=MetricDiff anno-9.0.70207-201612200610.anno anno-linux_ecloud-main.70206-201612200550.anno ..................done. elapsed time: 59.436s Bandwidth: Network to agent: 330.8 MB, 14 MB/s active, 6 MB/s overall Network from agent: 408.0 MB, 8 MB/s active, 7 MB/s overall To disk: 1442.2 MB, 15 MB/s active, 24 MB/s overall From disk: 751.1 MB, 26 MB/s active, 13 MB/s overall Create/Modify usage: 812.3 MB, 14 MB/s overall Terminator: Commit by copy: 0 files 0.0 MB, 0 MB/s overall Commit by rename: 4215 files 1442.2 MB, 24 MB/s overall Commit by remove: (pre): 0 files 0.0 MB, 0 MB/s overall Commit by remove: (tmp): 6 files 0.0 MB, 0 MB/s overall Conflicts: 0 Job Count: 1417 I/O wait times: Disk read: 7.640( 12.9)% Disk write: 42.530( 71.6)% Network send: 4.766( 8.0)% Network receive: 9.720( 16.4)% Network data compression: Compression time: 8.833 ( 14.9 %) Compression speed: 78.2 MB/s Compression efficiency: 2.0x (690.8 MB => 277.6 MB) Decompression time: 4.141 ( 6.967 %) Decompression speed: 190.9 Decompression efficiency: 2.0 MB => 790.6 MB) elapsed time: 64.580s Bandwidth: Network to agent: 330.9 MB, 7 MB/s active, 5 MB/s overall Network from agent: 407.6 MB, 6 MB/s active, 6 MB/s overall To disk: 1445.7 MB, 10 MB/s active, 22 MB/s overall From disk: 753.7 MB, 14 MB/s active, 12 MB/s overall Create/Modify usage: 813.0 MB, 13 MB/s overall Terminator: Commit by copy: 0 files 0.0 MB, 0 MB/s overall Commit by rename: 4201 files 1445.7 MB, 22 MB/s overall Commit by remove: (pre): 0 files 0.0 MB, 0 MB/s overall Commit by remove: (tmp): 6 files 0.0 MB, 0 MB/s overall Conflicts: 0 Job Count: 1405 I/O wait times: Disk read: 16.047( 24.8)% Disk write: 48.203( 74.6)% Network send: 4.713( 7.3)% Network receive: 8.494( 13.2)% Network data compression: Compression time: 9.697 ( 15.0 %) Compression speed: 71.5 MB/s Compression efficiency: 2.0x (693.6 MB => 278.1 MB) Decompression time: 4.649 ( 7.198 %) Decompression speed: 170.3 Decompression efficiency: 2.0 MB => 791.8 MB)

Most Read Files report

reports the number of times that files were read in the build.

Syntax

Linux: einsight --report=MostReadFiles <anno_file_path>

Windows: einsight-cmd --report=MostReadFiles <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

count,type,name,location

Sample report

> einsight-cmd --report=MostReadFiles anno-9.0.70207-201612200610.anno ..................done. # FILE READS # count,type,name,location 870,file,ECIntTypes.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util/unix 866,file,utilPort.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util/unix 864,file,utilPort.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util 771,file,StringKey.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util 744,file,Mutex.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util 725,file,BranchPrediction.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/util ... 10,file,Monitor.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/emake 10,file,MoveManager.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/erunner 10,file,ProxyCommand.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/proxyCmd 10,file,ParsedPragma.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/emake 10,file,http11_common.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/echttp 10,file,SpyMessages.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/espionage 10,file,StatCacheJob.h,/net/build/ecloud-9.0.70207-201612200610/ecloud/emake

Root Conflicts report

reports all root conflicts in the build. Insight considers conflicts in a build to be either:

  • Root conflicts, which are conflicts that are not caused by an earlier conflict

  • Conflicts resulting from earlier conflicts (for example, jobs that are in conflict with jobs that are rerun jobs)

Syntax

Linux: einsight --report=RootConflicts <anno_file_path>

Windows: einsight-cmd --report=RootConflicts <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

List of all root conflicts in the build in CSV format. The report contains the conflict job (readjob), the writejob, the rerunjob, the conflict type (file, key, or value) and the file that triggered the conflict.

Sample report

> einsight-cmd --report=RootConflicts build_log_8780.xml ...................done. #readerjob,writerjob,rerunjob,type,filename J00007f57c8d024a0,J00007f57c8cfffe0,J000000000e619c60,/build/out/target/common/obj/APPS/Bluetooth_intermediates/link_type J00007f57c8e3e7c0,J00007f57c8e3dce0,J000000000a3aa970,/build/out/target/common/obj/APPS/Camera2_intermediates/link_type J00007f57c8e42000,J00007f57c8e41e20,J000000000b8b85b0,/build/out/target/common/obj/APPS/CertInstaller_intermediates/link_type J00007f57c8e49080,J00007f57c8e44820,J000000000b78aaa0,/build/out/target/common/obj/APPS/Gallery2_intermediates/link_type J00007f57c8eed0c0,J00007f57c8eecbe0,J0000000009b9d530,/build/out/target/common/obj/APPS/QuickSearchBox_intermediates/link_type J00007f57c8eee020,J00007f57c8eedf00,J00000000096d14f0,/build/out/target/common/obj/APPS/WallpaperBackup_intermediates/link_type J00007f57c8eee440,J00007f57c8eee260,J000000000869aeb0,/build/out/target/common/obj/APPS/WallpaperPicker_intermediates/link_type

Submake Stub report

reports submake stub failures in the build.

Syntax

Linux: einsight --report=SubMakeStub <anno_file_path>

Windows: einsight-cmd --report=SubMakeStub <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

List of job failures resulting from submake stub recursion.

Sample report

> einsight-cmd --report=SubMakeStub emakeSubMakeStubError.xml done. job subjob file J00007f48c8003630 J00007f48c80114d0 /tmp/submake/foo J00007f48c8003630 J00007f48c80114d0 /tmp/submake/all J00007f48c8003630 J00007f48c80114d0 /tmp/submake J00007f48c8003630 J00007f48c80114d0 /tmp/submake/all

Terminator Lag report

Shows the portion of terminator lag time in the build that is consumed by different terminator activities.

Syntax

Linux: einsight --report=TerminatorLag <anno_file_path>

Windows: einsight-cmd --report=TerminatorLag <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

activity,count,percent,seconds,average

Sample report

> einsight-cmd --report=TerminatorLag anno-9.0.70207-201612200610.anno ..................done. # Terminator lag # activity,count,percent,seconds,average write,916,55.03,0.81,0.000879 commit,915,25.25,0.37,0.000404 wait,915,0.14,0.00,0.000002

Why Rebuild report

Displays a list of jobs in the build catagorized by run reason.

“Why rebuild” data is available only for jobs incorporated from eMake annotation (not for “jobs” created to represent unaccelerated BitBake tasks).

Syntax

Linux: einsight --report=WhyRebuild <anno_file_path>

Windows: einsight-cmd --report=WhyRebuild <anno_file_path>

Option Description

<anno_file_path>

Path to the annotation file from the build.

Results format

A prioritized list of reasons for object rebuilds in a “no-touch” build.

Sample report

> einsight-cmd --report=WhyRebuild anno-9.0.70207-201612200610.anno ..................done. 554.792 target-absent 0.035 J094e4f68 /net/build/ecloud-9.0.70207-201612200610/ecloud/print_compiler_version0.009 J094ff320 /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx0.008 J094ff390 /net/build/ecloud-9.0.70207-201612200610/out/linux/ecloud/vrpsx/interface0.028 J094ff400 /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx0.011 J094ff470 /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/interface0.042 J094ff4e0 /net/build/ecloud-9.0.70207-201612200610/out/i686_Linux/ecloud/vrpsx/interface/vrpsx_identify.o0.044 ... Jaa5dec80 /net/build/ecloud-9.0.70207-201612200610/ecloud/pyealicense/all0.000 Jaa5def20 /net/build/ecloud-9.0.70207-201612200610/ecloud/pyealicense/buildtest0.000 Ja9f11b10 /net/build/ecloud-9.0.70207-201612200610/ecloud/loadaware/makedirs0.000 Ja9f11cd0 /net/build/ecloud-9.0.70207-201612200610/ecloud/loadaware/all0.000 Ja9f11d78 /net/build/ecloud-9.0.70207-201612200610/ecloud/loadaware/buildtest0.000 J09907be8 /net/build/ecloud-9.0.70207-201612200610/ecloud/proxyCmd/makedirs0.000 J09907da8 /net/build/ecloud-9.0.70207-201612200610/ecloud/proxyCmd/all0.000 J09907fa0 /net/build/ecloud-9.0.70207-201612200610/ecloud/proxyCmd/buildtest