<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.yoctoproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jay7</id>
	<title>Yocto Project - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.yoctoproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jay7"/>
	<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/Special:Contributions/Jay7"/>
	<updated>2026-04-16T02:23:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1431</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1431"/>
		<updated>2011-04-27T17:02:58Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Discussion with pidge/Jay7/ka6sox on #yocto-buildstats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build statistics visualization use cases ==&lt;br /&gt;
&lt;br /&gt;
* I want to see 20111109 and 20111110 and compare the time it took to build foo&lt;br /&gt;
* I want to see 20111109 and 20111110 and compare the time it took to do_rootfs&lt;br /&gt;
* I want to see 20111109 and 20111110 and 20090404 and compare the time it took to do everything that took more than 4 seconds&lt;br /&gt;
* I just want to see a graph similar to the pybootchart graph of 20110101 of every bitbake task that took more than 8 seconds &lt;br /&gt;
* I want to run this standalone. I want this to be an easy setup so I can look at http://localhost/buildstats, have it configured to look at my buildstats dir and be able to get graphs on that.&lt;br /&gt;
* I want to be able to run this using my autobuilder.&lt;br /&gt;
* I want to have the option of allowing others to upload their buildstats (for OE mainly) similar to how OEStats does it&lt;br /&gt;
&lt;br /&gt;
== Use cases ==&lt;br /&gt;
* Alice is started build on home machine. It fails and show URL where full error info is located. Alice show this URL on irc channel/ML and got help. If Alice doing build offline she may run some tool (push-build-results) when online to upload stats and errors to server and get that URL.&lt;br /&gt;
* Bob is a developer. He is started build which is failed on some package. He is going to Yocto buildstats server to check what builds of that package was succeeded (if any).&lt;br /&gt;
* Claudia have strong machine that mostly idling. She want to allow Yocto project to run builds on her machine when it is idle (at night e.g.).&lt;br /&gt;
* Daniel is core developer but have slow machine under his hands. So he is going to Yocto&#039;s build server and requesting build from his git repo/branch and some special build environment. Build master rearrange tasks and put his task to start of queue. After build it sends build short info to Daniel via email/jabber/irc.&lt;br /&gt;
* Elizabeth is sysadmin at some big company which doing some products based on Yocto. Company have large buildfarm. Elizabeth want to manage large set of builds from her workstation or notebook. She have installed build slaves on farm nodes and setup build master on some server. So how she may control it over web interface - add/remove/change builds parameters, wire some builds to nodes, look at build results.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
# LAVA https://wiki.linaro.org/Platform/Validation/LAVA&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion with asac on #linaro ===&lt;br /&gt;
[03:36] &amp;lt;Jay7&amp;gt; seems you are working on build stats tools as well :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] * Jay7 have doing some prototype for Yocto/OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; here are my ideas&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:38] &amp;lt;asac&amp;gt; Jay7: our stuff is a cloud setup ... and assume eversything is cross build ... so we dont need slaves querying for new builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; we just spin up an instance, build, kill it&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; oh its build-testing ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; hehe&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; nevermind&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] * asac cannot read&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;Jay7&amp;gt; there is a lot of things combined&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; building/testing/collecting statistics/etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: whats the status of that project?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: sure, building is often part of testing/validation&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; asac: 3 different clients, 2 different dead servers and no master/slave :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; lol&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; seems we are starting from scratch&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: who is leading that effort?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: why dont you join lava ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; lava?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; thats our testing/validation infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; feels quite similar&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; I&#039;m slowly trying to prototype this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; there are 2 people around as well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; we currently focus on image testing, benchmarking etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;Jay7&amp;gt; asac: where I can read about lava? :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: we have a team of 6 ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: https://wiki.linaro.org/Platform/Validation/LAVA&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; asac: your team are paid to work on this I suspect ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; but i think building could be rather done with something like our build service and then injected into the test farm. focus is realyl about executing tests/benchmarks on various images on various boards etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; Jay7: yes, thats why i think its better to join here&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; pidge have talk on ELC about this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; pidge == Elisabeth Flanagan&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; from Yocto side&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; funny&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; plars also talks about LAVA there ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; cool&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; I should say pidge about this :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; is she the projet owner?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; i think we should discuss, yes.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; we build it for android and ubuntu on ARM atm&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; so adding another thing would be just &amp;quot;one&amp;quot; more&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;Jay7&amp;gt; asac: yes, it would be great imho&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Discussion with pidge/Jay7/ka6sox on #yocto-buildstats ===&lt;br /&gt;
* Now talking on #yocto-buildstats&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; so, the first thing I want to hash out is what we want this to look like. It should be stand alone, which, IMHO, simplifies this quite a bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I can set up a repo for it this PM yocto-buildstats or something like that&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I&#039;d like to be able to see a graphic representation of: build/package comparisions based on various metrics we collect so we can compare builds. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; the metric bit should be configurable so as we add collected data the website automagically picks up that we&#039;ve added, say, disk io&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I would like to keep this python-esque, since we all deal with it anyhow. No sense doing it in java or something.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; Jay: ping&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; pong :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; I&#039;m here&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay that works for me....&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; how does this sound to you (since I&#039;m hoping *grin* that you&#039;re going to be doing a lot of this)&amp;lt;br&amp;gt;&lt;br /&gt;
* pidge &#039;s web-foo isn&#039;t strong&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; hehe :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; the issue of how and when we collect the stats has to be integrated into a task that isn&#039; there now.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; so we have to write that already&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; what we collect and how we use it are separate IMHO.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; those need to be flexible.&amp;lt;br&amp;gt;&lt;br /&gt;
* Jay7 is looking into pidge&#039;s email&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; yocto already does this. I think porting buildstats.bbclass would be straight forward&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; elizabeth.flanagan@intel.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; I mean letter :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; there is some topic list&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; yes, thats what I think that we need to backport into OE.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; btw, I wrote little use cases for buildstats&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; Jay7: I&#039;d like to see that. I&#039;ll get you set up on the git repo asap. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; moment, I&#039;m uploading from notebook&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ok&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay other than pass/fail and log information what else do you want to look at for metrics?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; well, right now, I want disk io. I have that partially done. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I also want image size without extra space&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; one of the things I want to do (and this I&#039;m still trying to figure out if it&#039;ll work or not) is strip out the elf headers and do a diff on the objcopy. Anything with more than %1 or so diff is noted. This will have to be configurable as it would slow things down substantially.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions#Use_cases&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ka6sox-farfarawa: anything you can think  of?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; that is from where requirements come&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; I fear we are at other sides of this task :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; I&#039;m more at user/devel side&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; you - at infrastructure side :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; Jay7, thats why I want you here...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; we need different things but I want to make sure we have all of it when we need it&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; hrm. I want to avoid uploads of buildstats. ka6sox was telling me how that was slowing down his network and I&#039;d like to avoid that here. I would like to see this be standalone so people can make comparative statistics but, for me, I don&#039;t care if Alice takes 20 hours to build on her 486. What I do care about is if Alice was taking 20 hours and after a git fetch is taking 40 hours. If it&#039;s stand alone, alice can run this on her &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; machine and identify they issue herself as opposed to us providing all this infrastructure around helping alice.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge, I want scratch build size, time to build, pass/fail for a particular set.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; and logs of the build available.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; we have the last two.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; we need scratch&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; also since we aren&#039;t regressing individual packages but a &amp;quot;set&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; scratch == image size without extra space, correct?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; yes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; we have pass/fail for each recipe and image set&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge, I don&#039;t mind collecting @ the end of *each* package.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; and also for the entire build.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; so for example: I want to know about how binutils built...and also the entire build.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ok, so, hold on a sec.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; if you look here:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; http://autobuilder.yoctoproject.org/nightly/20110325-1/buildstats/buildstats/poky-image-sato-qemuarm/201103251400/base-passwd-3.5.22-r0/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; pidge: OE build stats problem was caused by wrong design&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; and here:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; http://autobuilder.yoctoproject.org/nightly/20110325-1/buildstats/buildstats/poky-image-sato-qemuarm/201103251400/build_stats&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; did you want to not collect stats from users at all?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; no. if they want to collect their statistics, I want to enable that.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; but I want to avoid having a central server to collect everyone&#039;s build statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; yes, we want to do that on a package and user basis&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; at least for now&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; because one recipe can have 4 or 5 patches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; pidge: what about Bob&#039;s case?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; That one I want to support, however, we don&#039;t build every git push. So if he has master cloned out of a commit we didn&#039;t build, he may not get that info.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; it would help him though if he has a git hash between something that passed and something that didn&#039;t&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; ah, you still considering only your autobuilder :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge, for the nightly&#039;s we can use that factory...how do you want to handle the testing builds?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; right, because in order for me to get somewhat valid statistics (time, cpu and disk) the hardware should be static. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; what did you call them?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; fuzz?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; fuzz builds... hrmm. Since they&#039;re always different, buildstats for them are worthless.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; nice stats logged btw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; they&#039;re just smoke tests&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ty&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; really useful&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; hrmm... or maybe they aren&#039;t&amp;lt;br&amp;gt;&lt;br /&gt;
* pidge thinks&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; its important&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; well.. let&#039;s talk about autobuilder things then right now&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; w/o considering other builders&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; we need to know if you add patches #889, 994 and 1100 that they don&#039;t blow up&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; right&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; that&#039;s what fuzz is&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; we&#039;re going to be building from staging&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; once fuzz passes, it&#039;ll send a PULL to the list saying &amp;quot;Hey, these passed a fuzz test!&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; it&#039;s not 100% that they won&#039;t break, but it&#039;s more than what some developers do&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; what repos/branches/arches/distros you will test?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; so, if fuzz builds core-image-sato on qemumips and it passes, it sends out info based on that&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; for fuzz it&#039;ll be:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; with oe-core we will have LOT of arch&#039;es and distros&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; well, with meta-oe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I&#039;m setting it to build off of a branch right now&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; Jay7, for oe-core I only have 4: qemu-mips, qemu-arm, qemu-ppc, qemu-x86&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; all the arches we support x all the images the arch supports.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; thats all&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; qemux86_64 as well&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay 5...sorrgy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; still IA but we get some fails between the two&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; that&#039;s why I&#039;m talking about other builders :)&amp;lt;br&amp;gt;&lt;br /&gt;
* pidge has three new servers coming on line&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; maybe more&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; or you should have very large set of build nodes in datacenter&amp;lt;br&amp;gt;&lt;br /&gt;
* pidge smiles. I&#039;m working on it. I think once I get my new sys admin up to speed, we can do some long needed maintence, fix our disk IO issue and then run two slaves per machine. Which will come out to 10 machines&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt;  doh, kicked out my video cable&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; so, I think we have a general idea of what we&#039;re looking for?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; well.. master + large set of slaves&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; + interface to&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; that&#039;s autobuilder. I would like this to stand alone so it&#039;ll take any buildstats dir from anything (local builder, autobuilder, someone being crazy and running it under hudson) and run with it&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; does that make sense?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay so for poky-master/poky-slave on 1 box too?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; yes, this may help but we should not care about this very much at this stage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; sure. it should be utterly agnostic as to where it get&#039;s the data&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; Jay7: agreed.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; so let&#039;s define feature set for october?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; sure&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; 1. visual graph with configurable x/y&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; graphs :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I want to see 20111109 and 20111110 and compare the time it took to build foo&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt;  I want to see 20111109 and 20111110 and compare the time it took to do_rootfs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt;  I want to see 20111109 and 20111110 and 20090404 and compare the time it took to do everything that took more than 4 seconds&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I just want to see a graph similar to the pybootchart graph of 20110101 of every bitbake task that took more than 8 seconds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; all use cases&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I want to be able to git clone this thing we&#039;re building, set a location to my buildstats dir and run it. I should go to http://localhost/buildstats and see this page&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; I want to see that bootchart + cpu + disk io + something else on same chart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; yes!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; to see where we are slow :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; or too hungry&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; exactly&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ok, I think we&#039;re on the same page&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; package build results cube is nice to see too..&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; yes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; well..&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I think we&#039;ve got a general path forward here. The question I have is. What do you want to use framework wise?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; django?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; twisted?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; outside of my realm of expertise. I&#039;ve only done servlets within the past 2 years&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; if we will use HTTP only django is enough&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; if we need plain tcp/udp/xmpp/irc or something else - then twisted&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; I am a simple guy..and html is about the limit of my web stuff&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I think HTTP is ok for now&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; I&#039;d rather just start with twisted if I am going to have to learn anyways.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I think django should be fine. this is visualization, not reporting&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; http is good for posting data from behind the proxy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay any of that is fine...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; first thing is to get the data collected...then we can show it.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; thats only advangate though&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; brb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; phone&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; but may be using stand alone collector is good idea&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; we need to make it so that we can collect it for later analysis...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; analyze what we can now and collect for later analysis once we figure it out.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; but size of data is amazing..&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I&#039;m cool with a standalone collector. But yeah, the data does get unwieldy. I&#039;m thinking of putting in some flags like BSTATS_DISK BSTATS_CPU, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; make it so people don&#039;t have to collect everything if they don&#039;t want to&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; well...can we bzip it before we send it?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; send is easy task&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; sending it? &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; processing is hard :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; why are we sending it.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; slave -&amp;gt; collector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge, not yocto...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; we are thinking later&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; but making it flexible.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ahh&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; or client -&amp;gt; collector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; right that method.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; in my case we are going to have a &amp;quot;master&amp;quot; which will control builds with &amp;quot;slaves&amp;quot; in the LF rack I think&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; so &amp;quot;sending it&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; is across Gb wire&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; hehe.. you are experienced :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; so its 20&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; but for OE builds (using same method)  the are distributed.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; since buildbot doesn&#039;t expect FT connections and will live nicely behind FWs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge, do you care about / package or just / entire build?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; hm.. are buildbot slaves contacting master?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; I am still confusec&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; or master contacting slaves?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; slaves call master&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I care about both&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; &amp;quot;I&#039;m available for work&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; in buildbot, they do both IIRC&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; ah, that&#039;s work then&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; right&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; it will work for both close and distributed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; slave alerts master to it&#039;s presence, master sends instructions to slave&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; right...but the master doesn&#039;t freak out if slave disappears for a while.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; and goes off to work.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; its a variable timeout&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; pidge the waterfall, when you click on a particular package build, does it show you the stats?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; right, master just says &amp;quot;whoops, slave ain&#039;t there&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; no&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; for stats you have to kind of know where to go&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; so will we use buildbot later?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; for now, yes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; I&#039;m putting in a lot of work the next 6 months to make it not suck&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; ah, well&amp;lt;br&amp;gt;&lt;br /&gt;
* pidge writes note to add stats linking to package build IO&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; the problem is, nothing else meets the requirements that bb meets&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; do you pushing changes to upstream? :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; ah&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; and it was long neglected&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; this is answer :)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; so many of the changes are oe/yocto specific&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; then we may just use our own fork&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; really are things best handled in the config file&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; currently, it&#039;s a master of bb 0.83*&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; keeping it like that and upstreaming when we find something that is flat out broken (and not much is) is optimal&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; we need to use the p2 release as it has fix for git-poller&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; for fuzz builds&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ka6sox: we do&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; yeah, 0.83 for slaves 0.83p2 for master... or reverse. I forget which one is which&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; it use to be master and slave was the same tarball. they split that up in... 0.82?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; something like that&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; okay so we have 0.83p2...good&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pidge&amp;gt; ok, folks. I&#039;m late for a meeting. I think we have a path forward. I say we leave this channel up and use it as a side channel from #yocto.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Jay7&amp;gt; well.. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; sounds good...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; I&#039;d like to use the irc feature too and get it to announce..here.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ka6sox-farfarawa&amp;gt; :D&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1427</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1427"/>
		<updated>2011-04-26T21:12:18Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Use cases */  add section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Use cases ==&lt;br /&gt;
* Alice is started build on home machine. It fails and show URL where full error info is located. Alice show this URL on irc channel/ML and got help. If Alice doing build offline she may run some tool (push-build-results) when online to upload stats and errors to server and get that URL.&lt;br /&gt;
* Bob is a developer. He is started build which is failed on some package. He is going to Yocto buildstats server to check what builds of that package was succeeded (if any).&lt;br /&gt;
* Claudia have strong machine that mostly idling. She want to allow Yocto project to run builds on her machine when it is idle (at night e.g.).&lt;br /&gt;
* Daniel is core developer but have slow machine under his hands. So he is going to Yocto&#039;s build server and requesting build from his git repo/branch and some special build environment. Build master rearrange tasks and put his task to start of queue. After build it sends build short info to Daniel via email/jabber/irc.&lt;br /&gt;
* Elizabeth is sysadmin at some big company which doing some products based on Yocto. Company have large buildfarm. Elizabeth want to manage large set of builds from her workstation or notebook. She have installed build slaves on farm nodes and setup build master on some server. So how she may control it over web interface - add/remove/change builds parameters, wire some builds to nodes, look at build results.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
# LAVA https://wiki.linaro.org/Platform/Validation/LAVA&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion with asac on #linaro ===&lt;br /&gt;
[03:36] &amp;lt;Jay7&amp;gt; seems you are working on build stats tools as well :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] * Jay7 have doing some prototype for Yocto/OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; here are my ideas&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:38] &amp;lt;asac&amp;gt; Jay7: our stuff is a cloud setup ... and assume eversything is cross build ... so we dont need slaves querying for new builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; we just spin up an instance, build, kill it&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; oh its build-testing ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; hehe&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; nevermind&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] * asac cannot read&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;Jay7&amp;gt; there is a lot of things combined&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; building/testing/collecting statistics/etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: whats the status of that project?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: sure, building is often part of testing/validation&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; asac: 3 different clients, 2 different dead servers and no master/slave :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; lol&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; seems we are starting from scratch&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: who is leading that effort?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: why dont you join lava ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; lava?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; thats our testing/validation infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; feels quite similar&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; I&#039;m slowly trying to prototype this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; there are 2 people around as well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; we currently focus on image testing, benchmarking etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;Jay7&amp;gt; asac: where I can read about lava? :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: we have a team of 6 ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: https://wiki.linaro.org/Platform/Validation/LAVA&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; asac: your team are paid to work on this I suspect ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; but i think building could be rather done with something like our build service and then injected into the test farm. focus is realyl about executing tests/benchmarks on various images on various boards etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; Jay7: yes, thats why i think its better to join here&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; pidge have talk on ELC about this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; pidge == Elisabeth Flanagan&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; from Yocto side&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; funny&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; plars also talks about LAVA there ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; cool&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; I should say pidge about this :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; is she the projet owner?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; i think we should discuss, yes.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; we build it for android and ubuntu on ARM atm&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; so adding another thing would be just &amp;quot;one&amp;quot; more&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;Jay7&amp;gt; asac: yes, it would be great imho&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1016</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1016"/>
		<updated>2011-03-22T01:05:39Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Technical part */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
# LAVA https://wiki.linaro.org/Platform/Validation/LAVA&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion with asac on #linaro ===&lt;br /&gt;
[03:36] &amp;lt;Jay7&amp;gt; seems you are working on build stats tools as well :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] * Jay7 have doing some prototype for Yocto/OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; here are my ideas&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:38] &amp;lt;asac&amp;gt; Jay7: our stuff is a cloud setup ... and assume eversything is cross build ... so we dont need slaves querying for new builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; we just spin up an instance, build, kill it&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; oh its build-testing ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; hehe&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; nevermind&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] * asac cannot read&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;Jay7&amp;gt; there is a lot of things combined&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; building/testing/collecting statistics/etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: whats the status of that project?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: sure, building is often part of testing/validation&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; asac: 3 different clients, 2 different dead servers and no master/slave :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; lol&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; seems we are starting from scratch&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: who is leading that effort?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: why dont you join lava ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; lava?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; thats our testing/validation infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; feels quite similar&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; I&#039;m slowly trying to prototype this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; there are 2 people around as well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; we currently focus on image testing, benchmarking etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;Jay7&amp;gt; asac: where I can read about lava? :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: we have a team of 6 ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: https://wiki.linaro.org/Platform/Validation/LAVA&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; asac: your team are paid to work on this I suspect ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; but i think building could be rather done with something like our build service and then injected into the test farm. focus is realyl about executing tests/benchmarks on various images on various boards etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; Jay7: yes, thats why i think its better to join here&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; pidge have talk on ELC about this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; pidge == Elisabeth Flanagan&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; from Yocto side&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; funny&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; plars also talks about LAVA there ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; cool&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; I should say pidge about this :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; is she the projet owner?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; i think we should discuss, yes.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; we build it for android and ubuntu on ARM atm&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; so adding another thing would be just &amp;quot;one&amp;quot; more&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;Jay7&amp;gt; asac: yes, it would be great imho&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1015</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1015"/>
		<updated>2011-03-22T01:02:16Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Discussion with asac on #linaro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion with asac on #linaro ===&lt;br /&gt;
[03:36] &amp;lt;Jay7&amp;gt; seems you are working on build stats tools as well :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] * Jay7 have doing some prototype for Yocto/OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; here are my ideas&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:38] &amp;lt;asac&amp;gt; Jay7: our stuff is a cloud setup ... and assume eversything is cross build ... so we dont need slaves querying for new builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; we just spin up an instance, build, kill it&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; oh its build-testing ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; hehe&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; nevermind&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] * asac cannot read&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:39] &amp;lt;Jay7&amp;gt; there is a lot of things combined&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; building/testing/collecting statistics/etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: whats the status of that project?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: sure, building is often part of testing/validation&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; asac: 3 different clients, 2 different dead servers and no master/slave :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; lol&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; seems we are starting from scratch&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: who is leading that effort?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: why dont you join lava ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; lava?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; thats our testing/validation infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; feels quite similar&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; I&#039;m slowly trying to prototype this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; there are 2 people around as well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; we currently focus on image testing, benchmarking etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;Jay7&amp;gt; asac: where I can read about lava? :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: we have a team of 6 ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: https://wiki.linaro.org/Platform/Validation/LAVA&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; asac: your team are paid to work on this I suspect ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; but i think building could be rather done with something like our build service and then injected into the test farm. focus is realyl about executing tests/benchmarks on various images on various boards etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; Jay7: yes, thats why i think its better to join here&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; well&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; pidge have talk on ELC about this&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; pidge == Elisabeth Flanagan&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; from Yocto side&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; funny&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; plars also talks about LAVA there ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; cool&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; I should say pidge about this :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; is she the projet owner?&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; i think we should discuss, yes.&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; we build it for android and ubuntu on ARM atm&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; so adding another thing would be just &amp;quot;one&amp;quot; more&amp;lt;br /&amp;gt;&lt;br /&gt;
[03:45] &amp;lt;Jay7&amp;gt; asac: yes, it would be great imho&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1014</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=1014"/>
		<updated>2011-03-22T01:01:15Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Discussions */ Added discussion with asac on #linaro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion with asac on #linaro ===&lt;br /&gt;
[03:36] &amp;lt;Jay7&amp;gt; seems you are working on build stats tools as well :)&lt;br /&gt;
[03:37] * Jay7 have doing some prototype for Yocto/OE&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&lt;br /&gt;
[03:37] &amp;lt;Jay7&amp;gt; here are my ideas&lt;br /&gt;
[03:38] &amp;lt;asac&amp;gt; Jay7: our stuff is a cloud setup ... and assume eversything is cross build ... so we dont need slaves querying for new builds&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; we just spin up an instance, build, kill it&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; oh its build-testing ;)&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; hehe&lt;br /&gt;
[03:39] &amp;lt;asac&amp;gt; nevermind&lt;br /&gt;
[03:39] * asac cannot read&lt;br /&gt;
[03:39] &amp;lt;Jay7&amp;gt; there is a lot of things combined&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; building/testing/collecting statistics/etc&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: whats the status of that project?&lt;br /&gt;
[03:40] &amp;lt;asac&amp;gt; Jay7: sure, building is often part of testing/validation&lt;br /&gt;
[03:40] &amp;lt;Jay7&amp;gt; asac: 3 different clients, 2 different dead servers and no master/slave :)&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; lol&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; seems we are starting from scratch&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: who is leading that effort?&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; Jay7: why dont you join lava ;)&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; lava?&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; thats our testing/validation infrastructure&lt;br /&gt;
[03:41] &amp;lt;asac&amp;gt; feels quite similar&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; I&#039;m slowly trying to prototype this&lt;br /&gt;
[03:41] &amp;lt;Jay7&amp;gt; there are 2 people around as well&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; we currently focus on image testing, benchmarking etc.&lt;br /&gt;
[03:42] &amp;lt;Jay7&amp;gt; asac: where I can read about lava? :)&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: we have a team of 6 ;)&lt;br /&gt;
[03:42] &amp;lt;asac&amp;gt; Jay7: https://wiki.linaro.org/Platform/Validation/LAVA&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; asac: your team are paid to work on this I suspect ;)&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; but i think building could be rather done with something like our build service and then injected into the test farm. focus is realyl about executing tests/benchmarks on various images on various boards etc.&lt;br /&gt;
[03:43] &amp;lt;asac&amp;gt; Jay7: yes, thats why i think its better to join here&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; well&lt;br /&gt;
[03:43] &amp;lt;Jay7&amp;gt; pidge have talk on ELC about this&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; pidge == Elisabeth Flanagan&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; from Yocto side&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; funny&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; plars also talks about LAVA there ;)&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; cool&lt;br /&gt;
[03:44] &amp;lt;Jay7&amp;gt; I should say pidge about this :)&lt;br /&gt;
[03:44] &amp;lt;asac&amp;gt; is she the projet owner?&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; i think we should discuss, yes.&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; we build it for android and ubuntu on ARM atm&lt;br /&gt;
[03:45] &amp;lt;asac&amp;gt; so adding another thing would be just &amp;quot;one&amp;quot; more&lt;br /&gt;
[03:45] &amp;lt;Jay7&amp;gt; asac: yes, it would be great imho&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_1.1_Features&amp;diff=959</id>
		<title>Yocto 1.1 Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_1.1_Features&amp;diff=959"/>
		<updated>2011-03-16T10:29:43Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Brainstorming (Needs categorizing) */ Fix columns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Potential Yocto 1.1 Features ==&lt;br /&gt;
Yocto 1.1 - Target release = October 2011&lt;br /&gt;
&lt;br /&gt;
This page contains a list of Yocto 1.1 features.  In early March, the Yocto Architect will issue an official call for Yocto 1.1 features.  This list contains reprioritized items from 1.0 or features that came up as a result of discussions among Yocto engineers.  If you have a feature you would like to see added, send an email to the Yocto Architect with a description of the feature, its impat on the source code, and whether you are willing to help write the code to implement the feature.  The Yocto Architect will add this to the potential Yocto 1.1 Features list.  The potential Yocto 1.1 Features list will be turned into the Yocto Features List as described in the [[Program Management Plan]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto 1.1 Themes ==&lt;br /&gt;
The topics below are the themes that some members of the team have started brainstorming for Yocto 1.1.  These will grow and change with community input.&lt;br /&gt;
&lt;br /&gt;
=== Yocto 1.1 Objectives ===&lt;br /&gt;
The objectives of the Yocto 1.1 release are to grow participation in Yocto and increase the number of BSPs written for  Yocto and partner products based on Yocto.&lt;br /&gt;
&lt;br /&gt;
=== Yocto 1.1 Theme List ===&lt;br /&gt;
The Yocto 1.1 Themes towards the Objectives listed above are:&lt;br /&gt;
&lt;br /&gt;
* Multilibs &amp;amp; OE-core config - This work, which began in Yocto 1.0, needs to be completed.&lt;br /&gt;
* Improve ease of BSP creation - Document the lifecycle and process.  Possibly create walkthroughs or tutorials to integrate a new board into the linux-yocto kernel.&lt;br /&gt;
* Build performance – Get to the goal of 1 hour build time on a developer machine.&lt;br /&gt;
* Upstreaming – Submit patches to upstream projects in order to reduce the 2,000+ patches which are currently part of Yocto Project.&lt;br /&gt;
&lt;br /&gt;
== Process for Entering New Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
* Create a new entry in the appropriate feature table below (Poky, SDK, Hardware)&lt;br /&gt;
** Suggestion:  start by copying an existing request as a template&lt;br /&gt;
* Give the feature a short, descriptive name&lt;br /&gt;
* Provide a one or two sentence brief description of the feature&lt;br /&gt;
* Set the priority as appropriate (see the legend below)&lt;br /&gt;
* Set the Status to &amp;quot;Review&amp;quot;&lt;br /&gt;
* In the Source field, enter your name along with the origination of the request (e.g. OSV, OEM, Community) if applicable; provide as much detail here as you can&lt;br /&gt;
* In the Comments / Bugzilla field, provide any additional information for the request, such as a link to a bugzilla entry&lt;br /&gt;
* Preview your Entry to make sure it looks ok and then save it&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Legend&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Priority:&#039;&#039;&#039;  1 = Must Have, 2 = Nice to Have, 3 = Optional&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; Accept = Engineering agreement to include in release, Review = Under Review for Inclusion in this release, Reject = Will not be included in this release&lt;br /&gt;
== Sample Table ==&lt;br /&gt;
&lt;br /&gt;
This is a sample table to show how to submit features.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||Placeholder feature name || Placeholder description of the feature || 1, 2, or 3 || Review|| name|| Comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reprioritized from 1.0 ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| multi-lib || multi-lib support for 32-bit &amp;amp; 64-bit and capable of being installed at the same time || 1 || Review || from 1.0 || M1; Owner = Richard&lt;br /&gt;
|-&lt;br /&gt;
|| Image Creator || finish the Image Creator to add features pushed out from 1.0 || 1 || Review || from 1.0 || M2; Owner = Josh + someone else (Dave investigating someone on Jessica&#039;s team)&lt;br /&gt;
|-&lt;br /&gt;
|| Recipe-specific sysroot || || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Tracing:  perf trace scripting support || we think usability is the direction to focus on, we want to improve usability through documentation || 2 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Tracing:  tuna, oscilloscope recipes || catch up with Tom, likely to remove || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Handle old versions in WORKDIR || || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| BSP builds || Autobuilder git fetcher improvements || 2 || Review || from 1.0 || M1; Owner = Beth&lt;br /&gt;
|-&lt;br /&gt;
|| Package config option enhancement || need to plan and then implement || 2 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Implement Continuous Autobuilds || Build constantly instead of daily || 2 || Review || from 1.0 || M1; Owner = Beth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Layer Tooling || This includes the architectural work plus implementing the changes. || 1 || Review || Architect || M2; Owner = Richard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== QA Items ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||QA Framework Enhancements || &lt;br /&gt;
* Add test for unfs_qemu bootup in the sanity test framework and give Liping his patch (Jiajun)&lt;br /&gt;
* Help to define long-term flexible framework for SDK/meta-toolchain testing.. Under the test folder, we have different groups of test, such as sanity, SDK(tools), meta-toolchain. User could freely select which test cases they want to test. (Control granularity/level group? Or even a single case has a switch) (Jiajun)&lt;br /&gt;
* More test-projects into existing manual test part for meta-toolchain. We should help to find the two typical projects, one c and o C++.  (Jiajun)&lt;br /&gt;
* Transform the meta-toolchain manual testing into the unified test-framework. (Liping)&lt;br /&gt;
* Prepare a workable environment for testing all those newly added features.  (Liping)&lt;br /&gt;
* After sanity test framework is in the upstream, collect data when selecting different kinds of test components. (MeiLei)&lt;br /&gt;
|bgcolor=&amp;quot;yellow&amp;quot;| ?? || Review|| QA || &lt;br /&gt;
|-&lt;br /&gt;
|| Open Source Test Cases || Perform technical, legal, and QA steps necessary to move test cases into open source. || 3 || Review|| QA || &lt;br /&gt;
|-&lt;br /&gt;
|| Automated test infrastructure || Automate the test infrastructure&lt;br /&gt;
|| 2 || Review|| QA || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Meta-data ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Upstream our patches || We&#039;ll add this as a task in a milestone to give people time to do&lt;br /&gt;
|| 1 || Review|| Meta-data|| M2; Owner = Saul&lt;br /&gt;
|-&lt;br /&gt;
|| 3G || We have an ofono recipe but need some integration work doing  || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| btrfs ||  || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Other components? || Saul will investigate other components. || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Replacement for video/audio players currently in Yocto || Codec…&lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Investigate New UI || For demos, we would like need a reference UI that is not Sato.  Investigate possibilities that the Yocto team won&#039;t need to maintain.  OpenBox?  Gnome-desktop?  GP? LXDE? KDE Mobile? &lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Qemugl upstreaming || Opengl ES Support || 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Sync qemugl with MeeGo ||  &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Package reporting system enhancement|| &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| pam patch integration || add PAM patches throughout the system switchable via the PAM feature (Mark H)&lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| selinux patch integration || add SE Linux patches in a similar way to PAM&lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Finish LSB &amp;quot;distribution&amp;quot; work || &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| OE Comparison || Compare Yocto core set against integration work in OE and other distributions looking for bug fixes, (relevant) feature enhancements, and integration/policy hints.&lt;br /&gt;
|| 1 || Review|| Meta-data|| M1; Owner = Mark&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BSPs ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Support for AVX as in kernel 2.6.30.  - Already in 1.0 || Any toolchain support needed?&lt;br /&gt;
|| 1|| Review|| Jay || M1; Owner = Saul&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ADT ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| More test cases about toolchain in autobuilder || &lt;br /&gt;
|| 2 || Review|| ADT Team || Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Eclipse-native tools interface || not using oprofile-UI. More integrated with upstream&lt;br /&gt;
|| 2 || Review|| ADT Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Indigo update || Update to the latest Eclipse release (Indigo) || 2 || Review|| ADT Team || M2; Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Changes for Image Creator || Eclipse changes pending Image Creator || 1 || Review|| ADT Team || M2; Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Secure logging || || 2 || Review|| ADT Team || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Package Documentation Audit || Make changes defined in the package documentation audit from Yocto 1.0&lt;br /&gt;
|| 2|| Review|| from 1.0 || Owner = Saul&lt;br /&gt;
|-&lt;br /&gt;
|| Yocto Project Development Guide || This manual would be an over-arching document that frames the complete development cycle within Yocto Project.  The idea here is that the document would be an umbrella document that spawned and referenced subsequent documents.  The organization would be the first chapter overviewing the major development pieces such as recipe creation, building, debugging, publishing, fail-safing, back-door hook creation, etc.  Scoping would be about two weeks and length would probably be about 40 pages.  Overall development time would likely be a month of uniterruped time.&lt;br /&gt;
|| 2|| Review || from 1.0 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
This section contains requirements related to the build (performance, footprint, etc.)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Enhanced Performance || Also, environmental requirements/suggestions for expected performance; Goal is to build in under 1 hour || 2 || Review || from 1.0 ||&lt;br /&gt;
|-&lt;br /&gt;
|| Disk Space Reduction || &lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|-&lt;br /&gt;
|| Share gcc work directories || &lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|-&lt;br /&gt;
|| Patch Test System || Create a machine where developers can upload/test patches before submitting them to master to ensure builds won&#039;t break when patches are added.&lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Fast boot time || 2 second boot time target&lt;br /&gt;
|| 1|| Review|| Team || M2; Owner = Darren&lt;br /&gt;
|-&lt;br /&gt;
|| Build Yocto behind firewall || Darren will investigate site.conf and documentation&lt;br /&gt;
|| 2 || Review|| Dave|| &lt;br /&gt;
|-&lt;br /&gt;
|| Framework to support multiple library versions co-existing || similar to recipe specific sysroot; needs documentation&lt;br /&gt;
|| 2 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Embedded java environment or even JDK support || &lt;br /&gt;
|| 3 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Automatically generate package repos || automatically generate package repositories (and be able to &amp;quot;use them&amp;quot; -- to be defined) for both ipk and rpm/zypper combinations; NEEDS MORE DISCUSSION&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Minimal Image unique || make minimal image smaller || 3 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| BSP kernel config audit || audit kernel configs for the various BSPS&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| POSIX support || address POSIX failures found in 1.1&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorming (Needs categorizing) ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| MeeGo GPLv2 Sync || compare with Yocto, sync any patches || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| Incompatible License || || 2 || Review  || Paul || &lt;br /&gt;
|-&lt;br /&gt;
|| OE-Core || Restructuring, renaming, rebranding || 1 || Review || RP Notes || M1; Owner = Richard &lt;br /&gt;
|-&lt;br /&gt;
|| Patchwork || is it worth the overhead, are there alternatives || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| End of package revision || replace with a network service || 2 || Review || RP Notes || Owner = Jessica &lt;br /&gt;
|-&lt;br /&gt;
|| Target module build || Allow for building kernel modules on the target device || 2 || Review || RP Notes || Owner = Darren &lt;br /&gt;
|-&lt;br /&gt;
|| Live images || make live images their own image type || 2 || Review || RP Notes || Owner = Saul &lt;br /&gt;
|-&lt;br /&gt;
|| Error handling in bitbake || desc || 1 || Review || RP Notes || M2; Owner = Saul &lt;br /&gt;
|-&lt;br /&gt;
|| crazygit fetcher || TI issues with fetch2 || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| Test framework || this is a test framework that we can include in the distribution || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| multiple update-alternatives || fixed? || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| init scripts || provide an image/recipe skeleton as a canonical example || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| running post installs at rootfs gen time ||  || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| remove gnome-vfs ||  || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| gtk+ sato filechooser patch ||  || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| sato refresh ||  || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| adding eglibc config control  || this goes with the package config options || 1.5 || Review || RP Notes || M2; Owner = Mark &lt;br /&gt;
|-&lt;br /&gt;
|| Sanity checks on per recipe basis || || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| x32 || layer to support toolchain, libc, and kernel || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| User Creation at postinstall || || 1 || Review || RP Notes || M1; Owner = Mark &lt;br /&gt;
|-&lt;br /&gt;
|| Directory Ownership || || 1.5 || Review || RP Notes || M2; Owner = Mark &lt;br /&gt;
|-&lt;br /&gt;
|| Optimise Configure || || 2 || Review || RP Notes || Performance idea &lt;br /&gt;
|-&lt;br /&gt;
|| Ability to build SRPM  || || 3 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| Check SRCREV in recipe files || should work, may need dev || 2 || Review || RP Notes || &lt;br /&gt;
|-&lt;br /&gt;
|| build statistics reporting  || As someone interested in how long it takes to build different images on different hardware configurations and other assorted build metrics, I would like a web based service, that takes output generated by an extended buildstats.bbclass and stores it, to compare against different machines. The end result should be a way to visualize the collected data. See: https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&lt;br /&gt;
 || || Review || eflanagan/Jay7/ka6sox || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_1.1_Features&amp;diff=958</id>
		<title>Yocto 1.1 Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_1.1_Features&amp;diff=958"/>
		<updated>2011-03-16T10:27:46Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Brainstorming (Needs categorizing) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Potential Yocto 1.1 Features ==&lt;br /&gt;
Yocto 1.1 - Target release = October 2011&lt;br /&gt;
&lt;br /&gt;
This page contains a list of Yocto 1.1 features.  In early March, the Yocto Architect will issue an official call for Yocto 1.1 features.  This list contains reprioritized items from 1.0 or features that came up as a result of discussions among Yocto engineers.  If you have a feature you would like to see added, send an email to the Yocto Architect with a description of the feature, its impat on the source code, and whether you are willing to help write the code to implement the feature.  The Yocto Architect will add this to the potential Yocto 1.1 Features list.  The potential Yocto 1.1 Features list will be turned into the Yocto Features List as described in the [[Program Management Plan]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto 1.1 Themes ==&lt;br /&gt;
The topics below are the themes that some members of the team have started brainstorming for Yocto 1.1.  These will grow and change with community input.&lt;br /&gt;
&lt;br /&gt;
=== Yocto 1.1 Objectives ===&lt;br /&gt;
The objectives of the Yocto 1.1 release are to grow participation in Yocto and increase the number of BSPs written for  Yocto and partner products based on Yocto.&lt;br /&gt;
&lt;br /&gt;
=== Yocto 1.1 Theme List ===&lt;br /&gt;
The Yocto 1.1 Themes towards the Objectives listed above are:&lt;br /&gt;
&lt;br /&gt;
* Multilibs &amp;amp; OE-core config - This work, which began in Yocto 1.0, needs to be completed.&lt;br /&gt;
* Improve ease of BSP creation - Document the lifecycle and process.  Possibly create walkthroughs or tutorials to integrate a new board into the linux-yocto kernel.&lt;br /&gt;
* Build performance – Get to the goal of 1 hour build time on a developer machine.&lt;br /&gt;
* Upstreaming – Submit patches to upstream projects in order to reduce the 2,000+ patches which are currently part of Yocto Project.&lt;br /&gt;
&lt;br /&gt;
== Process for Entering New Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
* Create a new entry in the appropriate feature table below (Poky, SDK, Hardware)&lt;br /&gt;
** Suggestion:  start by copying an existing request as a template&lt;br /&gt;
* Give the feature a short, descriptive name&lt;br /&gt;
* Provide a one or two sentence brief description of the feature&lt;br /&gt;
* Set the priority as appropriate (see the legend below)&lt;br /&gt;
* Set the Status to &amp;quot;Review&amp;quot;&lt;br /&gt;
* In the Source field, enter your name along with the origination of the request (e.g. OSV, OEM, Community) if applicable; provide as much detail here as you can&lt;br /&gt;
* In the Comments / Bugzilla field, provide any additional information for the request, such as a link to a bugzilla entry&lt;br /&gt;
* Preview your Entry to make sure it looks ok and then save it&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Legend&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Priority:&#039;&#039;&#039;  1 = Must Have, 2 = Nice to Have, 3 = Optional&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; Accept = Engineering agreement to include in release, Review = Under Review for Inclusion in this release, Reject = Will not be included in this release&lt;br /&gt;
== Sample Table ==&lt;br /&gt;
&lt;br /&gt;
This is a sample table to show how to submit features.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||Placeholder feature name || Placeholder description of the feature || 1, 2, or 3 || Review|| name|| Comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reprioritized from 1.0 ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| multi-lib || multi-lib support for 32-bit &amp;amp; 64-bit and capable of being installed at the same time || 1 || Review || from 1.0 || M1; Owner = Richard&lt;br /&gt;
|-&lt;br /&gt;
|| Image Creator || finish the Image Creator to add features pushed out from 1.0 || 1 || Review || from 1.0 || M2; Owner = Josh + someone else (Dave investigating someone on Jessica&#039;s team)&lt;br /&gt;
|-&lt;br /&gt;
|| Recipe-specific sysroot || || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Tracing:  perf trace scripting support || we think usability is the direction to focus on, we want to improve usability through documentation || 2 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Tracing:  tuna, oscilloscope recipes || catch up with Tom, likely to remove || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Handle old versions in WORKDIR || || 3 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| BSP builds || Autobuilder git fetcher improvements || 2 || Review || from 1.0 || M1; Owner = Beth&lt;br /&gt;
|-&lt;br /&gt;
|| Package config option enhancement || need to plan and then implement || 2 || Review || from 1.0 || &lt;br /&gt;
|-&lt;br /&gt;
|| Implement Continuous Autobuilds || Build constantly instead of daily || 2 || Review || from 1.0 || M1; Owner = Beth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Layer Tooling || This includes the architectural work plus implementing the changes. || 1 || Review || Architect || M2; Owner = Richard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== QA Items ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||QA Framework Enhancements || &lt;br /&gt;
* Add test for unfs_qemu bootup in the sanity test framework and give Liping his patch (Jiajun)&lt;br /&gt;
* Help to define long-term flexible framework for SDK/meta-toolchain testing.. Under the test folder, we have different groups of test, such as sanity, SDK(tools), meta-toolchain. User could freely select which test cases they want to test. (Control granularity/level group? Or even a single case has a switch) (Jiajun)&lt;br /&gt;
* More test-projects into existing manual test part for meta-toolchain. We should help to find the two typical projects, one c and o C++.  (Jiajun)&lt;br /&gt;
* Transform the meta-toolchain manual testing into the unified test-framework. (Liping)&lt;br /&gt;
* Prepare a workable environment for testing all those newly added features.  (Liping)&lt;br /&gt;
* After sanity test framework is in the upstream, collect data when selecting different kinds of test components. (MeiLei)&lt;br /&gt;
|bgcolor=&amp;quot;yellow&amp;quot;| ?? || Review|| QA || &lt;br /&gt;
|-&lt;br /&gt;
|| Open Source Test Cases || Perform technical, legal, and QA steps necessary to move test cases into open source. || 3 || Review|| QA || &lt;br /&gt;
|-&lt;br /&gt;
|| Automated test infrastructure || Automate the test infrastructure&lt;br /&gt;
|| 2 || Review|| QA || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Meta-data ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Upstream our patches || We&#039;ll add this as a task in a milestone to give people time to do&lt;br /&gt;
|| 1 || Review|| Meta-data|| M2; Owner = Saul&lt;br /&gt;
|-&lt;br /&gt;
|| 3G || We have an ofono recipe but need some integration work doing  || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| btrfs ||  || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Other components? || Saul will investigate other components. || 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Replacement for video/audio players currently in Yocto || Codec…&lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Investigate New UI || For demos, we would like need a reference UI that is not Sato.  Investigate possibilities that the Yocto team won&#039;t need to maintain.  OpenBox?  Gnome-desktop?  GP? LXDE? KDE Mobile? &lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Qemugl upstreaming || Opengl ES Support || 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Sync qemugl with MeeGo ||  &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Package reporting system enhancement|| &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| pam patch integration || add PAM patches throughout the system switchable via the PAM feature (Mark H)&lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| selinux patch integration || add SE Linux patches in a similar way to PAM&lt;br /&gt;
|| 3 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| Finish LSB &amp;quot;distribution&amp;quot; work || &lt;br /&gt;
|| 2 || Review|| Meta-data|| &lt;br /&gt;
|-&lt;br /&gt;
|| OE Comparison || Compare Yocto core set against integration work in OE and other distributions looking for bug fixes, (relevant) feature enhancements, and integration/policy hints.&lt;br /&gt;
|| 1 || Review|| Meta-data|| M1; Owner = Mark&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BSPs ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Support for AVX as in kernel 2.6.30.  - Already in 1.0 || Any toolchain support needed?&lt;br /&gt;
|| 1|| Review|| Jay || M1; Owner = Saul&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ADT ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| More test cases about toolchain in autobuilder || &lt;br /&gt;
|| 2 || Review|| ADT Team || Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Eclipse-native tools interface || not using oprofile-UI. More integrated with upstream&lt;br /&gt;
|| 2 || Review|| ADT Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Indigo update || Update to the latest Eclipse release (Indigo) || 2 || Review|| ADT Team || M2; Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Changes for Image Creator || Eclipse changes pending Image Creator || 1 || Review|| ADT Team || M2; Owner = Jessica&lt;br /&gt;
|-&lt;br /&gt;
|| Secure logging || || 2 || Review|| ADT Team || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Package Documentation Audit || Make changes defined in the package documentation audit from Yocto 1.0&lt;br /&gt;
|| 2|| Review|| from 1.0 || Owner = Saul&lt;br /&gt;
|-&lt;br /&gt;
|| Yocto Project Development Guide || This manual would be an over-arching document that frames the complete development cycle within Yocto Project.  The idea here is that the document would be an umbrella document that spawned and referenced subsequent documents.  The organization would be the first chapter overviewing the major development pieces such as recipe creation, building, debugging, publishing, fail-safing, back-door hook creation, etc.  Scoping would be about two weeks and length would probably be about 40 pages.  Overall development time would likely be a month of uniterruped time.&lt;br /&gt;
|| 2|| Review || from 1.0 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
This section contains requirements related to the build (performance, footprint, etc.)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Enhanced Performance || Also, environmental requirements/suggestions for expected performance; Goal is to build in under 1 hour || 2 || Review || from 1.0 ||&lt;br /&gt;
|-&lt;br /&gt;
|| Disk Space Reduction || &lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|-&lt;br /&gt;
|| Share gcc work directories || &lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|-&lt;br /&gt;
|| Patch Test System || Create a machine where developers can upload/test patches before submitting them to master to ensure builds won&#039;t break when patches are added.&lt;br /&gt;
|| 2 || Review || Team ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| Fast boot time || 2 second boot time target&lt;br /&gt;
|| 1|| Review|| Team || M2; Owner = Darren&lt;br /&gt;
|-&lt;br /&gt;
|| Build Yocto behind firewall || Darren will investigate site.conf and documentation&lt;br /&gt;
|| 2 || Review|| Dave|| &lt;br /&gt;
|-&lt;br /&gt;
|| Framework to support multiple library versions co-existing || similar to recipe specific sysroot; needs documentation&lt;br /&gt;
|| 2 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Embedded java environment or even JDK support || &lt;br /&gt;
|| 3 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Automatically generate package repos || automatically generate package repositories (and be able to &amp;quot;use them&amp;quot; -- to be defined) for both ipk and rpm/zypper combinations; NEEDS MORE DISCUSSION&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| Minimal Image unique || make minimal image smaller || 3 || Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| BSP kernel config audit || audit kernel configs for the various BSPS&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|| POSIX support || address POSIX failures found in 1.1&lt;br /&gt;
|| 2|| Review|| Team || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorming (Needs categorizing) ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
||&#039;&#039;&#039;Feature Name&#039;&#039;&#039; ||&#039;&#039;&#039;Description&#039;&#039;&#039; ||&#039;&#039;&#039;Priority&#039;&#039;&#039; ||&#039;&#039;&#039;Status&#039;&#039;&#039; ||&#039;&#039;&#039;Source&#039;&#039;&#039; ||&#039;&#039;&#039;Comments / Bugzilla Links&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|| MeeGo GPLv2 Sync || compare with Yocto, sync any patches || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| Incompatible License || || 2 || Review  || Paul || ||&lt;br /&gt;
|-&lt;br /&gt;
|| OE-Core || Restructuring, renaming, rebranding || 1 || Review || RP Notes || M1; Owner = Richard ||&lt;br /&gt;
|-&lt;br /&gt;
|| Patchwork || is it worth the overhead, are there alternatives || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| End of package revision || replace with a network service || 2 || Review || RP Notes || Owner = Jessica ||&lt;br /&gt;
|-&lt;br /&gt;
|| Target module build || Allow for building kernel modules on the target device || 2 || Review || RP Notes || Owner = Darren ||&lt;br /&gt;
|-&lt;br /&gt;
|| Live images || make live images their own image type || 2 || Review || RP Notes || Owner = Saul ||&lt;br /&gt;
|-&lt;br /&gt;
|| Error handling in bitbake || desc || 1 || Review || RP Notes || M2; Owner = Saul ||&lt;br /&gt;
|-&lt;br /&gt;
|| crazygit fetcher || TI issues with fetch2 || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| Test framework || this is a test framework that we can include in the distribution || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| multiple update-alternatives || fixed? || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| init scripts || provide an image/recipe skeleton as a canonical example || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| running post installs at rootfs gen time ||  || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| remove gnome-vfs ||  || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| gtk+ sato filechooser patch ||  || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| sato refresh ||  || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| adding eglibc config control  || this goes with the package config options || 1.5 || Review || RP Notes || M2; Owner = Mark ||&lt;br /&gt;
|-&lt;br /&gt;
|| Sanity checks on per recipe basis || || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| x32 || layer to support toolchain, libc, and kernel || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| User Creation at postinstall || || 1 || Review || RP Notes || M1; Owner = Mark ||&lt;br /&gt;
|-&lt;br /&gt;
|| Directory Ownership || || 1.5 || Review || RP Notes || M2; Owner = Mark ||&lt;br /&gt;
|-&lt;br /&gt;
|| Optimise Configure || || 2 || Review || RP Notes || Performance idea ||&lt;br /&gt;
|-&lt;br /&gt;
|| Ability to build SRPM  || || 3 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| Check SRCREV in recipe files || should work, may need dev || 2 || Review || RP Notes || ||&lt;br /&gt;
|-&lt;br /&gt;
|| build statistics reporting  || As someone interested in how long it takes to build different images on different hardware configurations and other assorted build metrics, I would like a web based service, that takes output generated by an extended buildstats.bbclass and stores it, to compare against different machines. The end result should be a way to visualize the collected data. See: https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions&lt;br /&gt;
 || || Review || eflanagan/Jay7/ka6sox || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=949</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=949"/>
		<updated>2011-03-15T12:13:26Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=948</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=948"/>
		<updated>2011-03-15T12:01:44Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Master */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
* server task queue admins should have ability to change order of tasks for slave servers and attach tasks to slaves.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=947</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=947"/>
		<updated>2011-03-15T11:46:07Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even do a build offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=946</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=946"/>
		<updated>2011-03-15T11:45:43Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished. Then you may even build in offline and flush all results to server when connected to internet.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=945</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=945"/>
		<updated>2011-03-15T11:43:27Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** package build duration&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
* report overall build status after build end:&lt;br /&gt;
** build duration&lt;br /&gt;
** build status (successfull/failed, QA issues)&lt;br /&gt;
&lt;br /&gt;
Good idea to store data in persistent storage and report periodically (when?) or after build finished.&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=944</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=944"/>
		<updated>2011-03-15T11:06:24Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report build environment to server at build start:&lt;br /&gt;
** build start timestamp in UTC&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=943</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=943"/>
		<updated>2011-03-15T10:46:28Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* New build-testing/QA-testing infrastructure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients. Most loaded part.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=942</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=942"/>
		<updated>2011-03-15T10:06:33Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Details */  add section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=941</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=941"/>
		<updated>2011-03-15T10:01:10Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Slave */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* announce his capabilities (build environment) to master on connect&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* should have possibility to link slave task with build results, because results are reported by client, not by slave itself.&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=875</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=875"/>
		<updated>2011-03-05T13:19:20Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Master */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* report results (as client above)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
* control slaves&lt;br /&gt;
* collect info from clients and slaves&lt;br /&gt;
* build reports on collected data:&lt;br /&gt;
** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
** &amp;quot;matrix&amp;quot;&lt;br /&gt;
** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
* provide ability to search collected data at least by:&lt;br /&gt;
** builder name/id&lt;br /&gt;
** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
** package name&lt;br /&gt;
** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=874</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=874"/>
		<updated>2011-03-05T13:19:06Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Slave */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
* ask server for build task parameters&lt;br /&gt;
* do a build&lt;br /&gt;
* report results (as client above)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=873</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=873"/>
		<updated>2011-03-05T13:18:54Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* report data to server per-build:&lt;br /&gt;
** target MACHINE&lt;br /&gt;
** target DISTRO&lt;br /&gt;
** target IMAGE&lt;br /&gt;
** build host ARCH and DISTRO&lt;br /&gt;
** bitbake version&lt;br /&gt;
** OE metadata version&lt;br /&gt;
** builder name/id&lt;br /&gt;
** build type (clean/incremental)&lt;br /&gt;
** build status (successfull/failed)&lt;br /&gt;
* report data to server per-package&lt;br /&gt;
** package name&lt;br /&gt;
** package status (successfull/failed + on which task)&lt;br /&gt;
** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=872</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=872"/>
		<updated>2011-03-05T13:18:33Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
&lt;br /&gt;
=== Slave ===&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=871</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=871"/>
		<updated>2011-03-05T13:17:32Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* New build-testing/QA-testing infrastructure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes and some database behind.&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=870</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=870"/>
		<updated>2011-03-05T12:55:02Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* New build-testing/QA-testing infrastructure */ Provide more details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Entities we should have:&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;. This is client-side software which should report some build/QA-stats to some master server. Clien-side build may be started by human or by build slave. Should be some bitbake &#039;plugin&#039; like oe-stats.bbclass/buildstats.bbclass.&lt;br /&gt;
# &#039;&#039;&#039;Slave&#039;&#039;&#039;. Slave should periodically ask master server for new builds, fetch build params and run appropriate builds. I.e. this is client-side software for &#039;build farm&#039; nodes or for individuals, who will provide his computer to run community builds.&lt;br /&gt;
# &#039;&#039;&#039;Master&#039;&#039;&#039;. Master have 3 different purposes:&lt;br /&gt;
## &#039;&#039;&#039;Stats collector&#039;&#039;&#039;. It should accept and store reports sent by clients.&lt;br /&gt;
## &#039;&#039;&#039;Slave supervisor&#039;&#039;&#039;. It should control slaves and provide work for them.&lt;br /&gt;
## &#039;&#039;&#039;Interface&#039;&#039;&#039;. It should provide UI for looking reports from collected stats.&lt;br /&gt;
&lt;br /&gt;
NOTE: May be terminology master-slave should be replaced with something because of political correctness.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=869</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=869"/>
		<updated>2011-03-05T12:35:01Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* New build-testing/QA-testing infrastructure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
== Technical part ==&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=868</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=868"/>
		<updated>2011-03-05T12:30:50Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* New build control server */ some shuffling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build-testing/QA-testing infrastructure ==&lt;br /&gt;
&lt;br /&gt;
We need solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
=== Technical part ===&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;br /&gt;
&lt;br /&gt;
=== Discussions ===&lt;br /&gt;
&lt;br /&gt;
==== Discussion with RP on #yocto ====&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=805</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=805"/>
		<updated>2011-02-22T22:00:57Z</updated>

		<summary type="html">&lt;p&gt;Jay7: /* Requirements */ Update link to Testing page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build control server ==&lt;br /&gt;
&lt;br /&gt;
We need new solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Because of:&lt;br /&gt;
# our oestats is disabled on server side because it produces too high load (because of wrong clients internal design)&lt;br /&gt;
# oestats-client/server can&#039;t be easily adapted to do task 2 from list above&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like big table from OE&#039;s [http://wiki.openembedded.org/index.php/Testing Testing] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Technical part ===&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=804</id>
		<title>Obsolete - Yocto Buildbot Autobuilder Discussions</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Obsolete_-_Yocto_Buildbot_Autobuilder_Discussions&amp;diff=804"/>
		<updated>2011-02-22T21:36:40Z</updated>

		<summary type="html">&lt;p&gt;Jay7: Add OE&amp;#039;s proposal and requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Place to discuss changes to the Yocto Autobuilder.&lt;br /&gt;
&lt;br /&gt;
We will collaborate with OE people on this. Below is OE&#039;s proposal and requirements&lt;br /&gt;
&lt;br /&gt;
== New build control server ==&lt;br /&gt;
&lt;br /&gt;
We need new solution to:&lt;br /&gt;
# Collect and report build env and results statistics per package;&lt;br /&gt;
# Control build task execution on build slaves.&lt;br /&gt;
&lt;br /&gt;
Because of:&lt;br /&gt;
# our oestats is disabled on server side because it produces too high load (because of wrong clients internal design)&lt;br /&gt;
# oestats-client/server can&#039;t be easily adapted to do task 2 from list above&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Here we are trying to collect requirements to create such solution.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Client&#039;&#039;&#039;&lt;br /&gt;
#* report data to server per-build:&lt;br /&gt;
#** target MACHINE&lt;br /&gt;
#** target DISTRO&lt;br /&gt;
#** target IMAGE&lt;br /&gt;
#** build host ARCH and DISTRO&lt;br /&gt;
#** bitbake version&lt;br /&gt;
#** OE metadata version&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** build type (clean/incremental)&lt;br /&gt;
#** build status (successfull/failed)&lt;br /&gt;
#* report data to server per-package&lt;br /&gt;
#** package name&lt;br /&gt;
#** package status (successfull/failed + on which task)&lt;br /&gt;
#** log file(s) for failed/QA-failed package&lt;br /&gt;
# &#039;&#039;&#039;Slave server&#039;&#039;&#039;&lt;br /&gt;
#* ask server for build task parameters&lt;br /&gt;
#* do a build&lt;br /&gt;
#* report results (as client above)&lt;br /&gt;
# &#039;&#039;&#039;Master server&#039;&#039;&#039;&lt;br /&gt;
#* control slaves&lt;br /&gt;
#* collect info from clients and slaves&lt;br /&gt;
#* build reports on collected data:&lt;br /&gt;
#** &amp;quot;waterfall&amp;quot;&lt;br /&gt;
#** &amp;quot;matrix&amp;quot;&lt;br /&gt;
#** something like our big table from [[Testing]] page&lt;br /&gt;
#* provide ability to search collected data at least by:&lt;br /&gt;
#** builder name/id&lt;br /&gt;
#** target params (MACHINE/DISTRO/IMAGE)&lt;br /&gt;
#** package name&lt;br /&gt;
#** build status (failed builds)&lt;br /&gt;
&lt;br /&gt;
=== Discussion with RP on #yocto ===&lt;br /&gt;
[23:35] &amp;lt;Jay7&amp;gt; in short we (OE) are discussing now new QA- and build-testing infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; I&#039;ve collected some requirements here: http://wiki.openembedded.net/index.php/BuildStats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:36] &amp;lt;Jay7&amp;gt; from merging perspective may be good idea to collaborate on this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: Have you seen buildstats.bbclass in poy?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;Jay7&amp;gt; RP__: not yet&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:39] &amp;lt;RP__&amp;gt; Jay7: That starts to address collecting the info you&#039;re after&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; I have seen qemu runtime testing part and oestats-client in OE&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: If we collect the data, you could then feed it to an oestats style service all in one&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; Jay7: So what I&#039;m saying is that buildstats.bbclass is some effort on the Yocto side to start working on a piece of this problem&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;ka6sox&amp;gt; okay this would be after the entire build either works or fails?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;Jay7&amp;gt; RP__: well, I&#039;ll look there then&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:40] &amp;lt;RP__&amp;gt; ka6sox: Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;ka6sox&amp;gt; okay does it include the logs?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; ka6sox: At present, no&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; RP__: have it server-side part?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;Jay7&amp;gt; I mean something implemented&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:41] &amp;lt;RP__&amp;gt; Jay7: At the moment its there purely to log the data onto disk as files&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;Jay7&amp;gt; ah, ok &amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; Jay7: We have ideas about post processing it for various reasons, remote transmission is one of those things&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; and obviously what gets transmitted can be discussed&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;ka6sox&amp;gt; okay, well, since we are working on common goals comming up with a common solution would be good.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:42] &amp;lt;RP__&amp;gt; ka6sox: agreed, we should try and share what work we can&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;Jay7&amp;gt; so, you are using Buildbot as master-&amp;gt;slave and buildstats.bbclass+some server to collect data from client builds&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: currently we collect success/failure with buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;ka6sox&amp;gt; RP__, so what if we tackle the server side and you tackle the build side and we create a common dataset?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:43] &amp;lt;RP__&amp;gt; Jay7: buildstats is the start of our next generation plans&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; ah, well..&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;RP__&amp;gt; ka6sox: We&#039;re open to any help and collaboration on the stats collection/transmission&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:44] &amp;lt;Jay7&amp;gt; so have you plan to replace buildbot or integrate it with buildstats anyhow?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Jay7: I think we&#039;re moving towards collecting data separately from buildbot&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; Its UI to the data is suboptimal&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;RP__&amp;gt; its good at triggering builds at the right time and watching scms for changes&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:45] &amp;lt;ka6sox&amp;gt; RP__, do you care about console on success or only on failure?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: failure is certainly the more interesting&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;ka6sox&amp;gt; I would think so.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:46] &amp;lt;RP__&amp;gt; ka6sox: success has its uses as a reference but those could be turned off by default&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;Jay7&amp;gt; other&#039;s success is good to look when you have failure :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; What I really want to get to is being able to record what files were in a package, how big the package was, how long a task took to run etc&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; okay compression.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;RP__&amp;gt; but not all data we record has to be transmitted for any given protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:47] &amp;lt;ka6sox&amp;gt; RP__ me too...right now its each individual task or the WHOLE thing.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by package would be best..as the way its reported often is minimal, 2008.1, binutils&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;ka6sox&amp;gt; by the package.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; buildstats is simple right now but if you look at the mailing lists you&#039;ll see interesting graphs from even that data (http://tim.rpsys.net/bootchart.png)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:48] &amp;lt;RP__&amp;gt; I want to see how these things change over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; cool graph&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:49] &amp;lt;Jay7&amp;gt; I have some benchmarks but done with my own scripts :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;ka6sox&amp;gt; somewhere between &amp;quot;capture nothing&amp;quot; and &amp;quot;capture everything&amp;quot; there is capture what is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:50] &amp;lt;Jay7&amp;gt; capture everything is better than nothing and HDD is cheap now.. and some FS have deduplication feature ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; Jay7, okay if you want to keep it on the builders.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;Jay7&amp;gt; I like doing graphs from data and look on it :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:51] &amp;lt;ka6sox&amp;gt; but BW and HD space on servers that aggregate this is not.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;zeddii&amp;gt; sgw, late pong. I had to go pickup a kid from school and missed the bug scrub.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;ka6sox&amp;gt; I&#039;d like to be able to get the data if needed...but to simply throw everything across the net is wasteful.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; I hope Intel provided good infrastucture for yocto ;)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:52] &amp;lt;Jay7&amp;gt; well, but I&#039;m fine with client-only stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;Jay7&amp;gt; client-only detailed stats and server-based short stats&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;ka6sox&amp;gt; RP__, does buildbot allow clients that are behind corp FW&#039;s?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; As I said, this is what I want to write onto disk during a build, not put over the wire which should be something different&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:53] &amp;lt;RP__&amp;gt; ka6sox: I suspect not easily&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; nothing seems to.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:54] &amp;lt;ka6sox&amp;gt; the only thing I knew that worked fine with that was wanna-build.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; RP__: may be dedicate one TSC meeting to this?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; or may be non-TSC&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;ka6sox&amp;gt; at least its python...we can work with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;RP__&amp;gt; Jay7: Its fine to have a meeting, we need people who have time to do the work...&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:55] &amp;lt;Jay7&amp;gt; because OE&#039;s reaction in ML was empty&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; Jay7: We really struggled in this cycle to sort out buildstats for yocto. It is going to be assigned time for 1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;ka6sox&amp;gt; Jay7, we have 3 folks so far...we can start with that.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; pidge is the person who worked on buildstats for Yocto&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:56] &amp;lt;RP__&amp;gt; She is also our release engineer so coming up to a release is a bad time to involve her in the discussions&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; RP__ we need to know what is important both to keep and to display.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;Jay7&amp;gt; when release is planned?&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; Jay7: Start of April&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;ka6sox&amp;gt; the keeping isn&#039;t so bad its the display and collection.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:57] &amp;lt;RP__&amp;gt; We hit hard freeze on friday&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; ka6sox: I&#039;m working on the principle that we can start to collect things whilst we work on the other parts&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;RP__&amp;gt; You can see my couple of hours efforts at display :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:58] &amp;lt;ka6sox&amp;gt; Jay7, lets look @ what buildstats is today and see if OE can use that as a starting place.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; RP__ yes, I can see there is good potential there.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;Jay7&amp;gt; ok.. then let&#039;s wait for OE and Yocto releases then have continue this&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; Jay7, right, but lets familiarize ourselves with it so that we are ready to talk.&amp;lt;br /&amp;gt;&lt;br /&gt;
[23:59] &amp;lt;ka6sox&amp;gt; and ready to take action when its time.&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: The idea is we&#039;re planning to expand its scope over time&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; ka6sox: and most likely write something to convert the flat files into something xml like&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;RP__&amp;gt; (for storage/transfer purposes)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;ka6sox&amp;gt; RP__, I like the idea of xml...&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; and I dislike idea of xml :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:00] &amp;lt;Jay7&amp;gt; but now it does not matters :)&amp;lt;br /&amp;gt;&lt;br /&gt;
[00:01] &amp;lt;ka6sox&amp;gt; most important to me are the definitions of what data is important and not.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Technical part ===&lt;br /&gt;
&lt;br /&gt;
# BuildBot http://trac.buildbot.net/ (used by Yocto)&lt;br /&gt;
# Jenkins http://jenkins-ci.org/, remote access API: http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API&lt;/div&gt;</summary>
		<author><name>Jay7</name></author>
	</entry>
</feed>