Event information model for Toaster
From Yocto Project
(Redirected from Web Hob Event information)
Jump to navigationJump to search
This is the information we need for completing the tables of the Toaster database.
BUILD
- uuid : DONE : unique task id
- target : N/A : # OneToMany to the targets table
- machine : DONE : # index into all the machines that we support ? # we can ask bitbake for the MACHINE variable
- distro : DONE : # variable - DISTRO
- distro_version : DONE : # variable - DISTRO_VERSION
- started_on : DONE # use BuildStarted event
- completed_on DONE # use BuildCompleted event
- outcome : DONE # We can grab this at the end of all commands by checking the errors number or the return value.
- number_of_errors DONE # total number of log events with level of ERROR (see knotty)
- number_of_warnings DONE # total number of log events with level of WARNING (see knotty)
- cpu_usage : N/A # it's in the build stats; we don't have a meaning
- disk_io : N/A # it's in the build stats; we don't have a meaning
- cooker_log_path : DONE # main cooker log - composed of all log events over the set log level (see knotty)
- build_name : DONE # variable - BUILDNAME
- bitbake_version : DONE # variable - BB_VERSION
! This has been removed for the moment -> output : N/A # list of generated files; downloads - please check how Hob does this
TASK
- uuid : DONE -> generated at the beginning of each build.
- order : DONE -> counted on each TaskStarted event
- task_executed : DONE -> set to True for each TaskStarted event
- outcome : DONE -> get from TaskFailed / TaskSucceeded
- sstate_checksum : N/A
- path_to_sstate_obj : N/A
- recipe : DONE -> retrieved from event._package
- task_name : DONE -> retrieved from event._task
- index on recipe / task_name
- source_url : N/A
- log_file: DONE -> TaskFailed event reports this, need to do same for TaskSucceeded OR report it on TaskStarted
- work_directory : DONE -> WORKDIR variable for recipe
- script_type : N/A
- file_path : N/A
- line_number : N/A
- py_stack_trace : N/A
- disk_io : DONE -> gather from buildstats
- cpu_usage : DONE -> gather from buildstats
- elapsed_time : DONE -> difference between started and finished time
- errors_no : N/A
- warnings_no : N/A
- error : N/A
- warning : N/A
- sstate_result : DONE -> get from result of setscene task execution (mapped using sstate_name of task as defined in the metadata)
- diffsigs : N/A [drop this]
TASK DEPENDENCY
- task : N/A
- depends_on : N/A # still a task_id
TARGET
- build : N/A # of build that generated the image
- is_image : N/A
! TBC
ARTIFACT
- build : N/A
- target_id : N/A
- file_name : N/A
- file_size : N/A
PACKAGE IN IMAGE
- package : N/A -> gather from buildhistory?
- target : N/A -> gather from buildhistory?
PACKAGE
- recipe : DONE -> gather from pkgdata # recipe that generated this package
- name : DONE -> gather from pkgdata
- version : DONE -> gather from pkgdata
- size : DONE -> gather from pkgdata
PACKAGE DEPENDENCY
- package : DONE -> gather from buildhistory?
- depends_on : DONE -> gather from buildhistory?
FILELIST
- package : DONE # id in the list of packages
- complete_file_path : DONE -> pkgdata has this
- file_size : DONE -> this will need to be gathered at package time. Perhaps pkgdata should be extended to reformat the file listing such that we can also include sizes.
RECIPE
- This information will need to be read in the same manner that hob reads it
- name : N/A
- version : N/A
- layer : DONE -> determine from longest path match in BBLAYERS
- summary : N/A
- description : N/A
- section : N/A ?
- license : N/A
- licensing info: N/A ?
- homepage : N/A ?
- bugtracker : N/A ?
- author : N/A # drop this, it's not consistently available
- file_path : N/A ?
RECIPE DEPENDENCY
- recipe : DONE -> FK to recipe
- depends_on : N/A -> determine from DEPENDS variable (see above)
LAYER
- name : DONE -> just take the directory name
- local_path : DONE -> get from BBLAYERS or look at how do_show_layers works in bitbake-layers
- layer_index_url: DONE -> we may have to guess this based on the name if we must include it since this info is not stored explicitly anywhere
! TBC
BUILD_LAYER
- build : DONE -> FK to build
- layer : DONE -> FK to layer (auto-created if it doesn't exist)
- branch : DONE -> will need to query git for this (as get_layers_branch_rev() in classes/base.bbclass does)
- commit : DONE -> see above
- priority : DONE -> look at how do_show_layers works in bitbake-layers
VARIABLE
- build : DONE -> FK to build
- variable_name : DONE -> need to run equivalent of bitbake -e
- variable_value : DONE -> need to run equivalent of bitbake -e
- file : DONE -> need to run equivalent of bitbake -e with history enabled # a single file name where the variable is set
- changed : N/A # needs design clarification - it's not really practical to calculate this as a boolean
- human_readable_name : DONE -> get from documentation.conf (will need updating)
- description : N/A # Drop this, we will provide a link to the variable glossary in the manual based on the name
MACHINE
- name : N/A -> MACHINE variable
- description : DONE -> probably need to extract this from the machine .conf file as the OE layer index does