Annotation

2 minute read

Insight gathers information from build annotation files to create a picture of your build. To use Insight, you must first run your builds with the --emake-annodetail parameter.

For example, on the eMake command line, run:

% emake ... --emake-annodetail=file,waiting,history ...
Collecting annotation information might cause your build to run about 5% slower.

Supported Annotation Detail Levels

Insight supports all levels of annotation detail. For more information about the available annotation detail levels, see Annotation.

Annotation file splitting

Because of limitations in the 32-bit version of the Insight tool, 32-bit eMake as well as 32-bit Electrify automatically partition annotation files into 1.6 GB “chunks.” The first chunk is named using the file name that you specify with the --emake-annofile option or with “emake.xml,” if --emake-annofile is not specified. The second chunk uses that name as the base but adds the suffix _1, the third chunk adds the suffix _2, and so on. For example, a four-part annotation file might consist of files named emake.xml, emake.xml_1, emake.xml_2, and emake.xml_3.

No special action is required to load a multipart annotation file into Insight. If all parts are present in the same directory, Insight automatically finds and loads the content of each file—simply specify the name of the first chunk when opening the file in Insight.

For loading large annotation files, CloudBees recommends the 64-bit version of Insight.

Preparing Annotation from BitBake Builds for Insight

You can use Insight to visualize and perform some types of analysis on builds that you executed with BitBake, such as Yocto Project builds. This includes the ability to run certain reports to view BitBake dependency information and aggregate statistics. For information about these reports, see Using Reports with BitBake Builds.

The Insight job classifier includes first-class support for BitBake task types to allow it to identify BitBake tasks natively for conversion into annotation. Insight recognizes several “classes” of “job” so that those “jobs” are identified correctly in the Insight UI.

do_fetch fetch

do_unpack

unpack

do_patch

patch

do_configure

configure

do_compile

compile

do_compile_kernelmodules

compile

do_install

install

do_package

packaging

do_package_qa

testing

do_package_write

packaging

do_package_write_rpm

packaging

do_packagedata

packaging

do_populate_lic

install

do_populate_sysroot

install

do_build

build

You use CloudBees Build Acceleration and JobCache for Yocto BitBake builds by entering the CloudBees Build Acceleration ebitbake command to run those builds. This creates an individual annotation file for each BitBake package and task. To facilitate better analysis with Insight, you can combine these files along with other buildstats data to create a single “pseudo-annotation” file. To do so, you use the CloudBees Build Acceleration bb2anno utility, which is in the /opt/ecloud/i686_Linux/unsupported/ directory by default.

For details about using the ebitbake command and the bb2anno utility, see the KBEA-00171 - Using eMake to Accelerate BitBake Builds Using ElectricAccelerator 11.0.1 KB article.