* [Webhob] task types and outcomes @ 2013-05-28 16:16 Barros Pena, Belen 2013-05-28 16:24 ` Paul Eggleton 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-28 16:16 UTC (permalink / raw) To: Richard Purdie, Paul Eggleton, Damian, Alexandru, Dragomir, CalinX L, Zhang, Jessica Cc: webhob@yoctoproject.org I am looking into the BitBake task-related information we'll display in Web Hob. Looking back to the agency work, it seems we identified 2 types of tasks: sstate tasks and built tasks. Sstate tasks can have 3 possible outcomes: missed, completed and failed. Built tasks can have 3 possible outcomes: previously built, completed and failed. Looking at this now, I am not sure I understand the difference between a missed sstate task and a built task, and between a previously built task and an sstate task: * Wouldn't a missed sstate task become a built task? * Wouldn't a previously built task be an sstate task? Sorry if this is a dumb question, but I am not sure if there is some subtle difference I am missing, of if we are talking about different 'stages' of a single task's life cycle (to call it something). Could anybody help me clarify this? Thanks!! Belén --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-28 16:16 [Webhob] task types and outcomes Barros Pena, Belen @ 2013-05-28 16:24 ` Paul Eggleton 2013-05-28 17:17 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Paul Eggleton @ 2013-05-28 16:24 UTC (permalink / raw) To: Barros Pena, Belen Cc: Dragomir, CalinX L, Zhang, Jessica, webhob@yoctoproject.org On Tuesday 28 May 2013 16:16:07 Barros Pena, Belen wrote: > I am looking into the BitBake task-related information we'll display in > Web Hob. Looking back to the agency work, it seems we identified 2 types > of tasks: sstate tasks and built tasks. > > Sstate tasks can have 3 possible outcomes: missed, completed and failed. Correct (although I wonder if there is a further distinction between missed completely, and missed due to some change i.e. one or more sstate packages exist for the task but the signatures are different). > Built tasks can have 3 possible outcomes: previously built, completed and > failed. Correct. > Looking at this now, I am not sure I understand the difference between a > missed sstate task and a built task, and between a previously built task > and an sstate task: > > * Wouldn't a missed sstate task become a built task? Yes. > * Wouldn't a previously built task be an sstate task? If the definition of "previously built" is "previously built within the same build directory and not subsequently cleaned", then because there is a stamp present for the task, it doesn't even need to look at sstate for the task. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-28 16:24 ` Paul Eggleton @ 2013-05-28 17:17 ` Barros Pena, Belen 2013-05-29 15:57 ` Paul Eggleton 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-28 17:17 UTC (permalink / raw) To: Paul Eggleton; +Cc: Dragomir, CalinX L, Zhang, Jessica, webhob@yoctoproject.org Thanks, Paul. I guess we need to nail down what is that we are trying to achieve by reporting sstate tasks vs. built tasks vs. previously built tasks. From what I can remember, the main questions users need answered are: * Why is this a built task when I was expecting it to reuse sstate objects? * Why is this an sstate task when I was expecting it to build from scratch? If those are indeed the main questions we need to answer, reporting missed sstate tasks and built tasks as one probably makes things easier. The metaphor would be a single task with a certain life cycle, and not 2 separate tasks. So, "BitBake detected changes in the inputs for task x and reran the task" would result in Web Hob reporting a single built task with an sstate missed flag. If we report this case through 2 separate tasks we'll need to link them to each other, so that users can reach one from the other and get a full picture of what BitBake did during the build. This is also a viable option, but it will result in a much longer table of tasks, with 2 entries for a certain task + recipe combination. Which way we report tasks impacts the way we structure the Web Hob tasks table. From this classification of tasks: * Sstate ** Missed ** Completed ** Failed * Built ** Previously built ** Completed ** Failed We would move to this one: * Completed ** Previously built ** Sstate ** Built *** Sstate missed? Y/N *** Sstae failed? Y/N * Failed ** Built The first one reflects exactly what BitBake does; I would think the second one gives me a better picture of how a certain outcome was reached. Belen On 28/05/2013 17:24, "Paul Eggleton" <paul.eggleton@linux.intel.com> wrote: >On Tuesday 28 May 2013 16:16:07 Barros Pena, Belen wrote: >> I am looking into the BitBake task-related information we'll display in >> Web Hob. Looking back to the agency work, it seems we identified 2 types >> of tasks: sstate tasks and built tasks. >> >> Sstate tasks can have 3 possible outcomes: missed, completed and failed. > >Correct (although I wonder if there is a further distinction between >missed >completely, and missed due to some change i.e. one or more sstate >packages >exist for the task but the signatures are different). > >> Built tasks can have 3 possible outcomes: previously built, completed >>and >> failed. > >Correct. > >> Looking at this now, I am not sure I understand the difference between a >> missed sstate task and a built task, and between a previously built task >> and an sstate task: >> >> * Wouldn't a missed sstate task become a built task? > >Yes. > >> * Wouldn't a previously built task be an sstate task? > >If the definition of "previously built" is "previously built within the >same >build directory and not subsequently cleaned", then because there is a >stamp >present for the task, it doesn't even need to look at sstate for the task. > >Cheers, >Paul > >-- > >Paul Eggleton >Intel Open Source Technology Centre --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-28 17:17 ` Barros Pena, Belen @ 2013-05-29 15:57 ` Paul Eggleton 2013-05-29 21:39 ` Richard Purdie 0 siblings, 1 reply; 27+ messages in thread From: Paul Eggleton @ 2013-05-29 15:57 UTC (permalink / raw) To: Barros Pena, Belen Cc: Dragomir, CalinX L, Zhang, Jessica, webhob@yoctoproject.org On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: > Thanks, Paul. I guess we need to nail down what is that we are trying to > achieve by reporting sstate tasks vs. built tasks vs. previously built > tasks. From what I can remember, the main questions users need answered > are: > > * Why is this a built task when I was expecting it to reuse sstate objects? > * Why is this an sstate task when I was expecting it to build from scratch? These are common questions yes. > If those are indeed the main questions we need to answer, reporting missed > sstate tasks and built tasks as one probably makes things easier. The > metaphor would be a single task with a certain life cycle, and not 2 > separate tasks. So, "BitBake detected changes in the inputs for task x and > reran the task" would result in Web Hob reporting a single built task with > an sstate missed flag. If we report this case through 2 separate tasks > we'll need to link them to each other, so that users can reach one from > the other and get a full picture of what BitBake did during the build. > This is also a viable option, but it will result in a much longer table of > tasks, with 2 entries for a certain task + recipe combination. > > Which way we report tasks impacts the way we structure the Web Hob tasks > table. From this classification of tasks: > > * Sstate > ** Missed > ** Completed > ** Failed > > * Built > ** Previously built > ** Completed > ** Failed > > We would move to this one: > > * Completed > ** Previously built > ** Sstate > ** Built > *** Sstate missed? Y/N > *** Sstae failed? Y/N > > * Failed > ** Built I think this is a reasonable approach. Although it does slightly obscure the details of the tasks bitbake is running it's going to be a bit easier for the user to follow with respect to the information they're most interested in. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-29 15:57 ` Paul Eggleton @ 2013-05-29 21:39 ` Richard Purdie 2013-05-30 10:57 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Richard Purdie @ 2013-05-29 21:39 UTC (permalink / raw) To: Paul Eggleton; +Cc: Dragomir, CalinX L, Zhang, Jessica, webhob@yoctoproject.org On Wed, 2013-05-29 at 16:57 +0100, Paul Eggleton wrote: > On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: > > Thanks, Paul. I guess we need to nail down what is that we are trying to > > achieve by reporting sstate tasks vs. built tasks vs. previously built > > tasks. From what I can remember, the main questions users need answered > > are: > > > > * Why is this a built task when I was expecting it to reuse sstate objects? > > * Why is this an sstate task when I was expecting it to build from scratch? > > These are common questions yes. > > > If those are indeed the main questions we need to answer, reporting missed > > sstate tasks and built tasks as one probably makes things easier. The > > metaphor would be a single task with a certain life cycle, and not 2 > > separate tasks. So, "BitBake detected changes in the inputs for task x and > > reran the task" would result in Web Hob reporting a single built task with > > an sstate missed flag. If we report this case through 2 separate tasks > > we'll need to link them to each other, so that users can reach one from > > the other and get a full picture of what BitBake did during the build. > > This is also a viable option, but it will result in a much longer table of > > tasks, with 2 entries for a certain task + recipe combination. > > > > Which way we report tasks impacts the way we structure the Web Hob tasks > > table. From this classification of tasks: > > > > * Sstate > > ** Missed > > ** Completed > > ** Failed > > > > * Built > > ** Previously built > > ** Completed > > ** Failed > > > > We would move to this one: > > > > * Completed > > ** Previously built > > ** Sstate > > ** Built > > *** Sstate missed? Y/N > > *** Sstae failed? Y/N > > > > * Failed > > ** Built > > I think this is a reasonable approach. Although it does slightly obscure the > details of the tasks bitbake is running it's going to be a bit easier for the > user to follow with respect to the information they're most interested in. Sorry about the delayed reply, as you can tell I have a bit of a backlog today :(. I hate to complicate things however there is a touch of added complexity to consider. Imagine we have tasks A which depends upon B which depends upon C. In the no sstate available case, it builds C, then B then A, easy. With sstate, it will try A first. If A is available, it will just install A from sstate and skip B/C. If A is not available, it will try B, install that and skip C. It will then build any missing pieces so it might install B from sstate, then run C. This means that giving the user meaningful numbers of tasks is hard for example. This can probably be presented in the above form fine, I just want to be clear about the subtleties involved. Ideally we do want to try and better convey to the user what happened too in this UI. It could be good if for example we could show that we didn't run C as B was from sstate and hence C wasn't needed. I think the key concept we might also need to work into the UI is "dry run". A mode where you run the build however rather than doing it, it tells you what it would do (i.e. that it would need to run X tasks, Y would be done from sstate). Combined with an indication of why something didn't match, this would be extremely powerful/useful to most users. I have no objection to the form you present above, the key detail is more the dry run concept from the user perspective and start answering questions like "what would bitbake do?". Cheers, Richard ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-29 21:39 ` Richard Purdie @ 2013-05-30 10:57 ` Barros Pena, Belen 2013-05-30 13:10 ` Dragomir, CalinX L 2013-05-30 14:21 ` Richard Purdie 0 siblings, 2 replies; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-30 10:57 UTC (permalink / raw) To: Richard Purdie, Paul Eggleton Cc: Dragomir, CalinX L, Zhang, Jessica, webhob@yoctoproject.org On 29/05/2013 22:39, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: >On Wed, 2013-05-29 at 16:57 +0100, Paul Eggleton wrote: >> On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: >> > Thanks, Paul. I guess we need to nail down what is that we are trying >>to >> > achieve by reporting sstate tasks vs. built tasks vs. previously built >> > tasks. From what I can remember, the main questions users need >>answered >> > are: >> > >> > * Why is this a built task when I was expecting it to reuse sstate >>objects? >> > * Why is this an sstate task when I was expecting it to build from >>scratch? >> >> These are common questions yes. >> >> > If those are indeed the main questions we need to answer, reporting >>missed >> > sstate tasks and built tasks as one probably makes things easier. The >> > metaphor would be a single task with a certain life cycle, and not 2 >> > separate tasks. So, "BitBake detected changes in the inputs for task >>x and >> > reran the task" would result in Web Hob reporting a single built task >>with >> > an sstate missed flag. If we report this case through 2 separate tasks >> > we'll need to link them to each other, so that users can reach one >>from >> > the other and get a full picture of what BitBake did during the build. >> > This is also a viable option, but it will result in a much longer >>table of >> > tasks, with 2 entries for a certain task + recipe combination. >> > >> > Which way we report tasks impacts the way we structure the Web Hob >>tasks >> > table. From this classification of tasks: >> > >> > * Sstate >> > ** Missed >> > ** Completed >> > ** Failed >> > >> > * Built >> > ** Previously built >> > ** Completed >> > ** Failed >> > >> > We would move to this one: >> > >> > * Completed >> > ** Previously built >> > ** Sstate >> > ** Built >> > *** Sstate missed? Y/N >> > *** Sstae failed? Y/N >> > >> > * Failed >> > ** Built >> >> I think this is a reasonable approach. Although it does slightly >>obscure the >> details of the tasks bitbake is running it's going to be a bit easier >>for the >> user to follow with respect to the information they're most interested >>in. > >Sorry about the delayed reply, as you can tell I have a bit of a backlog >today :(. > >I hate to complicate things however there is a touch of added complexity >to consider. >Imagine we have tasks A which depends upon B which depends >upon C. > >In the no sstate available case, it builds C, then B then A, easy. > >With sstate, it will try A first. If A is available, it will just >install A from sstate and skip B/C. If A is not available, it will try >B, install that and skip C. It will then build any missing pieces so it >might install B from sstate, then run C. I see. So it seems we have also 'skipped' tasks. > >This means that giving the user meaningful numbers of tasks is hard for >example. > >This can probably be presented in the above form fine, I just want to be >clear about the subtleties involved. Ideally we do want to try and >better convey to the user what happened too in this UI. It could be good >if for example we could show that we didn't run C as B was from sstate >and hence C wasn't needed. I agree we should show those as well. So, it looks like we have a few different kinds of tasks (previously built, skipped, sstate and built), but those can be grouped into tasks that build something (the 'built' kind, which we could call 'executed'), and those that don't build anything (previously built, skipped and sstate, which we could call 'not executed'). So for the 'all tasks' table, we could have a 'task type' column classifying tasks as 'executed' and 'not executed'. Then, we could have an 'outcome' column that would classify tasks as 'succeeded', 'failed', 'previously built', 'sstate' and 'skipped'. That information is enough to give me an overview of what BitBake has done, and if a task was handled in an unexpected way (I thought it would build but it didn't, for example). When I select a single task from that table, we could provide a 'task history' section that would expose the BitBake process for that task (in your example of sstate dependent tasks, for skipped task C the history would tell me that task C was brought in by skipped task B, which in turn was brought in by sstate task A. For sstate task A, the history would tell me that the checksum did not change, that task A depended on skipped task B, which path was searched to find the sstate object, and so on). Would that work? > >I think the key concept we might also need to work into the UI is "dry >run". A mode where you run the build however rather than doing it, it >tells you what it would do (i.e. that it would need to run X tasks, Y >would be done from sstate). Combined with an indication of why something >didn't match, this would be extremely powerful/useful to most users. > >I have no objection to the form you present above, the key detail is >more the dry run concept from the user perspective and start answering >questions like "what would bitbake do?". We should keep that 'dry run' mode in mind (even I can see it would be incredibly useful), but it won't happen in 1.5 :( > >Cheers, > >Richard > > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 10:57 ` Barros Pena, Belen @ 2013-05-30 13:10 ` Dragomir, CalinX L 2013-05-30 13:51 ` Barros Pena, Belen 2013-05-30 14:28 ` Richard Purdie 2013-05-30 14:21 ` Richard Purdie 1 sibling, 2 replies; 27+ messages in thread From: Dragomir, CalinX L @ 2013-05-30 13:10 UTC (permalink / raw) To: Barros Pena, Belen, Richard Purdie, Paul Eggleton Cc: Zhang, Jessica, webhob@yoctoproject.org Hi everyone, I have a couple of questions regarding the tasks if you could help me understand better what's going on in a build operation. 1. From what I've read in the e-mails so far, it seems that there are three types of tasks: built, sstate and skipped. Can you tell me what each of them mean and how are they different ? 2. It also seems that there can be multiple results for each of them. Can you detail the meaning of each final state? (failed, missed, etc.) ? 3. How can I tell what type of task is the current executed task (if it is sstate or built or anything else) ? Thank you, Calin -----Original Message----- From: Barros Pena, Belen Sent: Thursday, May 30, 2013 1:58 PM To: Richard Purdie; Paul Eggleton Cc: Damian, Alexandru; Dragomir, CalinX L; Zhang, Jessica; webhob@yoctoproject.org Subject: Re: task types and outcomes On 29/05/2013 22:39, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: >On Wed, 2013-05-29 at 16:57 +0100, Paul Eggleton wrote: >> On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: >> > Thanks, Paul. I guess we need to nail down what is that we are >> > trying >>to >> > achieve by reporting sstate tasks vs. built tasks vs. previously >> > built tasks. From what I can remember, the main questions users >> > need >>answered >> > are: >> > >> > * Why is this a built task when I was expecting it to reuse sstate >>objects? >> > * Why is this an sstate task when I was expecting it to build from >>scratch? >> >> These are common questions yes. >> >> > If those are indeed the main questions we need to answer, reporting >>missed >> > sstate tasks and built tasks as one probably makes things easier. >> > The metaphor would be a single task with a certain life cycle, and >> > not 2 separate tasks. So, "BitBake detected changes in the inputs >> > for task >>x and >> > reran the task" would result in Web Hob reporting a single built >> > task >>with >> > an sstate missed flag. If we report this case through 2 separate >> > tasks we'll need to link them to each other, so that users can >> > reach one >>from >> > the other and get a full picture of what BitBake did during the build. >> > This is also a viable option, but it will result in a much longer >>table of >> > tasks, with 2 entries for a certain task + recipe combination. >> > >> > Which way we report tasks impacts the way we structure the Web Hob >>tasks >> > table. From this classification of tasks: >> > >> > * Sstate >> > ** Missed >> > ** Completed >> > ** Failed >> > >> > * Built >> > ** Previously built >> > ** Completed >> > ** Failed >> > >> > We would move to this one: >> > >> > * Completed >> > ** Previously built >> > ** Sstate >> > ** Built >> > *** Sstate missed? Y/N >> > *** Sstae failed? Y/N >> > >> > * Failed >> > ** Built >> >> I think this is a reasonable approach. Although it does slightly >>obscure the details of the tasks bitbake is running it's going to be >>a bit easier for the user to follow with respect to the information >>they're most interested in. > >Sorry about the delayed reply, as you can tell I have a bit of a >backlog today :(. > >I hate to complicate things however there is a touch of added >complexity to consider. >Imagine we have tasks A which depends upon B which depends upon C. > >In the no sstate available case, it builds C, then B then A, easy. > >With sstate, it will try A first. If A is available, it will just >install A from sstate and skip B/C. If A is not available, it will try >B, install that and skip C. It will then build any missing pieces so it >might install B from sstate, then run C. I see. So it seems we have also 'skipped' tasks. > >This means that giving the user meaningful numbers of tasks is hard for >example. > >This can probably be presented in the above form fine, I just want to >be clear about the subtleties involved. Ideally we do want to try and >better convey to the user what happened too in this UI. It could be >good if for example we could show that we didn't run C as B was from >sstate and hence C wasn't needed. I agree we should show those as well. So, it looks like we have a few different kinds of tasks (previously built, skipped, sstate and built), but those can be grouped into tasks that build something (the 'built' kind, which we could call 'executed'), and those that don't build anything (previously built, skipped and sstate, which we could call 'not executed'). So for the 'all tasks' table, we could have a 'task type' column classifying tasks as 'executed' and 'not executed'. Then, we could have an 'outcome' column that would classify tasks as 'succeeded', 'failed', 'previously built', 'sstate' and 'skipped'. That information is enough to give me an overview of what BitBake has done, and if a task was handled in an unexpected way (I thought it would build but it didn't, for example). When I select a single task from that table, we could provide a 'task history' section that would expose the BitBake process for that task (in your example of sstate dependent tasks, for skipped task C the history would tell me that task C was brought in by skipped task B, which in turn was brought in by sstate task A. For sstate task A, the history would tell me that the checksum did not change, that task A depended on skipped task B, which path was searched to find the sstate object, and so on). Would that work? > >I think the key concept we might also need to work into the UI is "dry >run". A mode where you run the build however rather than doing it, it >tells you what it would do (i.e. that it would need to run X tasks, Y >would be done from sstate). Combined with an indication of why >something didn't match, this would be extremely powerful/useful to most users. > >I have no objection to the form you present above, the key detail is >more the dry run concept from the user perspective and start answering >questions like "what would bitbake do?". We should keep that 'dry run' mode in mind (even I can see it would be incredibly useful), but it won't happen in 1.5 :( > >Cheers, > >Richard > > ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 13:10 ` Dragomir, CalinX L @ 2013-05-30 13:51 ` Barros Pena, Belen 2013-05-30 14:28 ` Richard Purdie 1 sibling, 0 replies; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-30 13:51 UTC (permalink / raw) To: Dragomir, CalinX L, Richard Purdie, Paul Eggleton; +Cc: webhob@yoctoproject.org Hi Calin, I think I can answer 1 and 2 (see below). Hopefully Alex, Richard or Paul can help with 3. On 30/05/2013 14:10, "Dragomir, CalinX L" <calinx.l.dragomir@intel.com> wrote: >Hi everyone, > >I have a couple of questions regarding the tasks if you could help me >understand better what's going on in a build operation. > >1. From what I've read in the e-mails so far, it seems that there are >three types of tasks: built, sstate and skipped. Can you tell me what >each of them mean and how are they different ? In my last email I suggested we present 2 types of tasks: 1) Executed tasks: these are tasks that build something 2) Not executed tasks: these are tasks that do not build anything >2. It also seems that there can be multiple results for each of them. Can >you detail the meaning of each final state? (failed, missed, etc.) ? I've suggested the following results for each task type: 1) Succeeded: these are executed tasks that complete 2) Failed: these are executed tasks that fail 3) Previously built: these are not executed tasks for which BitBake finds a stamp file (I think: PaulE can correct me if I am wrong here) 4) Sstate: these are not executed tasks for which BitBake successfully uses sstate objects. If BitBake tries to use sstate objects but fails, that task will be reported as an executed task. A task history will show the failed sstate attempt. 5) Skipped: these are not executed tasks brought in by sstate tasks. I think this might cover everything. If it doesn't, let me know. >3. How can I tell what type of task is the current executed task (if it >is sstate or built or anything else) ? > >Thank you, >Calin > >-----Original Message----- >From: Barros Pena, Belen >Sent: Thursday, May 30, 2013 1:58 PM >To: Richard Purdie; Paul Eggleton >Cc: Damian, Alexandru; Dragomir, CalinX L; Zhang, Jessica; >webhob@yoctoproject.org >Subject: Re: task types and outcomes > > > >On 29/05/2013 22:39, "Richard Purdie" <richard.purdie@linuxfoundation.org> >wrote: > >>On Wed, 2013-05-29 at 16:57 +0100, Paul Eggleton wrote: >>> On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: >>> > Thanks, Paul. I guess we need to nail down what is that we are >>> > trying >>>to >>> > achieve by reporting sstate tasks vs. built tasks vs. previously >>> > built tasks. From what I can remember, the main questions users >>> > need >>>answered >>> > are: >>> > >>> > * Why is this a built task when I was expecting it to reuse sstate >>>objects? >>> > * Why is this an sstate task when I was expecting it to build from >>>scratch? >>> >>> These are common questions yes. >>> >>> > If those are indeed the main questions we need to answer, reporting >>>missed >>> > sstate tasks and built tasks as one probably makes things easier. >>> > The metaphor would be a single task with a certain life cycle, and >>> > not 2 separate tasks. So, "BitBake detected changes in the inputs >>> > for task >>>x and >>> > reran the task" would result in Web Hob reporting a single built >>> > task >>>with >>> > an sstate missed flag. If we report this case through 2 separate >>> > tasks we'll need to link them to each other, so that users can >>> > reach one >>>from >>> > the other and get a full picture of what BitBake did during the >>>build. >>> > This is also a viable option, but it will result in a much longer >>>table of >>> > tasks, with 2 entries for a certain task + recipe combination. >>> > >>> > Which way we report tasks impacts the way we structure the Web Hob >>>tasks >>> > table. From this classification of tasks: >>> > >>> > * Sstate >>> > ** Missed >>> > ** Completed >>> > ** Failed >>> > >>> > * Built >>> > ** Previously built >>> > ** Completed >>> > ** Failed >>> > >>> > We would move to this one: >>> > >>> > * Completed >>> > ** Previously built >>> > ** Sstate >>> > ** Built >>> > *** Sstate missed? Y/N >>> > *** Sstae failed? Y/N >>> > >>> > * Failed >>> > ** Built >>> >>> I think this is a reasonable approach. Although it does slightly >>>obscure the details of the tasks bitbake is running it's going to be >>>a bit easier for the user to follow with respect to the information >>>they're most interested in. >> >>Sorry about the delayed reply, as you can tell I have a bit of a >>backlog today :(. >> >>I hate to complicate things however there is a touch of added >>complexity to consider. > >>Imagine we have tasks A which depends upon B which depends upon C. >> >>In the no sstate available case, it builds C, then B then A, easy. >> >>With sstate, it will try A first. If A is available, it will just >>install A from sstate and skip B/C. If A is not available, it will try >>B, install that and skip C. It will then build any missing pieces so it >>might install B from sstate, then run C. > >I see. So it seems we have also 'skipped' tasks. > >> >>This means that giving the user meaningful numbers of tasks is hard for >>example. >> >>This can probably be presented in the above form fine, I just want to >>be clear about the subtleties involved. Ideally we do want to try and >>better convey to the user what happened too in this UI. It could be >>good if for example we could show that we didn't run C as B was from >>sstate and hence C wasn't needed. > >I agree we should show those as well. So, it looks like we have a few >different kinds of tasks (previously built, skipped, sstate and built), >but those can be grouped into tasks that build something (the 'built' >kind, which we could call 'executed'), and those that don't build >anything (previously built, skipped and sstate, which we could call 'not >executed'). > >So for the 'all tasks' table, we could have a 'task type' column >classifying tasks as 'executed' and 'not executed'. Then, we could have >an 'outcome' column that would classify tasks as 'succeeded', 'failed', >'previously built', 'sstate' and 'skipped'. That information is enough to >give me an overview of what BitBake has done, and if a task was handled >in an unexpected way (I thought it would build but it didn't, for >example). > >When I select a single task from that table, we could provide a 'task >history' section that would expose the BitBake process for that task (in >your example of sstate dependent tasks, for skipped task C the history >would tell me that task C was brought in by skipped task B, which in turn >was brought in by sstate task A. For sstate task A, the history would >tell me that the checksum did not change, that task A depended on skipped >task B, which path was searched to find the sstate object, and so on). > >Would that work? > >> >>I think the key concept we might also need to work into the UI is "dry >>run". A mode where you run the build however rather than doing it, it >>tells you what it would do (i.e. that it would need to run X tasks, Y >>would be done from sstate). Combined with an indication of why >>something didn't match, this would be extremely powerful/useful to most >>users. >> >>I have no objection to the form you present above, the key detail is >>more the dry run concept from the user perspective and start answering >>questions like "what would bitbake do?". > >We should keep that 'dry run' mode in mind (even I can see it would be >incredibly useful), but it won't happen in 1.5 :( > >> >>Cheers, >> >>Richard >> >> > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 13:10 ` Dragomir, CalinX L 2013-05-30 13:51 ` Barros Pena, Belen @ 2013-05-30 14:28 ` Richard Purdie 2013-05-31 11:49 ` Barros Pena, Belen 1 sibling, 1 reply; 27+ messages in thread From: Richard Purdie @ 2013-05-30 14:28 UTC (permalink / raw) To: Dragomir, CalinX L; +Cc: Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org On Thu, 2013-05-30 at 13:10 +0000, Dragomir, CalinX L wrote: > I have a couple of questions regarding the tasks if you could help me > understand better what's going on in a build operation. > > 1. From what I've read in the e-mails so far, it seems that there are > three types of tasks: built, sstate and skipped. Can you tell me what > each of them mean and how are they different ? > 2. It also seems that there can be multiple results for each of them. > Can you detail the meaning of each final state? (failed, missed, > etc.) ? > 3. How can I tell what type of task is the current executed task (if > it is sstate or built or anything else) ? Let me explain what bitbake actually does. How this is presented in the UI is a different question :) When you run "bitbake X", bitbake first goes through a "setscene" phase. This attempts to get the pre-built objects from the sstate cache. If does this in reverse dependency order so it will try X, then the things X depends on and so on. If it gets X, it would skip the dependencies in many cases. Bitbake then moves to the runqueue phase. If everything was obtained from sstate, great, we do nothing. If we couldn't get anything, we'd build from scratch. We also cover all the states in between. The tmp/stamps directory tells you the status of all the tasks. Each task can have a stamp or a setscene version of the stamp. Hope that helps a bit! Cheers, Richard ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 14:28 ` Richard Purdie @ 2013-05-31 11:49 ` Barros Pena, Belen 2013-05-31 12:48 ` Damian, Alexandru 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-31 11:49 UTC (permalink / raw) To: Richard Purdie, Dragomir, CalinX L, Paul Eggleton, Damian, Alexandru, Zhang, Jessica Cc: webhob@yoctoproject.org I have managed to gather answers to most questions regarding task information for Web Hob (thanks Paul, Alex and Richard for you help!). I've updated bug 4275 with a new task information set https://bugzilla.yoctoproject.org/attachment.cgi?id=1232 And a list of columns that will be available in the tasks table: https://bugzilla.yoctoproject.org/show_bug.cgi?id=4275#c2 Any questions or comments, let me know. Belen On 30/05/2013 15:28, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: >On Thu, 2013-05-30 at 13:10 +0000, Dragomir, CalinX L wrote: >> I have a couple of questions regarding the tasks if you could help me >> understand better what's going on in a build operation. >> >> 1. From what I've read in the e-mails so far, it seems that there are >> three types of tasks: built, sstate and skipped. Can you tell me what >> each of them mean and how are they different ? >> 2. It also seems that there can be multiple results for each of them. >> Can you detail the meaning of each final state? (failed, missed, >> etc.) ? >> 3. How can I tell what type of task is the current executed task (if >> it is sstate or built or anything else) ? > >Let me explain what bitbake actually does. How this is presented in the >UI is a different question :) > >When you run "bitbake X", bitbake first goes through a "setscene" phase. > >This attempts to get the pre-built objects from the sstate cache. If >does this in reverse dependency order so it will try X, then the things >X depends on and so on. > >If it gets X, it would skip the dependencies in many cases. > >Bitbake then moves to the runqueue phase. If everything was obtained >from sstate, great, we do nothing. If we couldn't get anything, we'd >build from scratch. We also cover all the states in between. > >The tmp/stamps directory tells you the status of all the tasks. Each >task can have a stamp or a setscene version of the stamp. > >Hope that helps a bit! > >Cheers, > >Richard > > > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 11:49 ` Barros Pena, Belen @ 2013-05-31 12:48 ` Damian, Alexandru 2013-05-31 13:18 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Damian, Alexandru @ 2013-05-31 12:48 UTC (permalink / raw) To: Barros Pena, Belen Cc: Dragomir, CalinX L, Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 2969 bytes --] Thank you, Belen ! Recorded here, it this is part of our specification https://wiki.yoctoproject.org/wiki/WebHob_general_architecture Do we have a similar definition for build information, that I am not aware of ? Cheers, Alex On Fri, May 31, 2013 at 12:49 PM, Barros Pena, Belen < belen.barros.pena@intel.com> wrote: > I have managed to gather answers to most questions regarding task > information for Web Hob (thanks Paul, Alex and Richard for you help!). > I've updated bug 4275 with a new task information set > > https://bugzilla.yoctoproject.org/attachment.cgi?id=1232 > > And a list of columns that will be available in the tasks table: > > https://bugzilla.yoctoproject.org/show_bug.cgi?id=4275#c2 > > Any questions or comments, let me know. > > Belen > > On 30/05/2013 15:28, "Richard Purdie" <richard.purdie@linuxfoundation.org> > wrote: > > >On Thu, 2013-05-30 at 13:10 +0000, Dragomir, CalinX L wrote: > >> I have a couple of questions regarding the tasks if you could help me > >> understand better what's going on in a build operation. > >> > >> 1. From what I've read in the e-mails so far, it seems that there are > >> three types of tasks: built, sstate and skipped. Can you tell me what > >> each of them mean and how are they different ? > >> 2. It also seems that there can be multiple results for each of them. > >> Can you detail the meaning of each final state? (failed, missed, > >> etc.) ? > >> 3. How can I tell what type of task is the current executed task (if > >> it is sstate or built or anything else) ? > > > >Let me explain what bitbake actually does. How this is presented in the > >UI is a different question :) > > > >When you run "bitbake X", bitbake first goes through a "setscene" phase. > > > >This attempts to get the pre-built objects from the sstate cache. If > >does this in reverse dependency order so it will try X, then the things > >X depends on and so on. > > > >If it gets X, it would skip the dependencies in many cases. > > > >Bitbake then moves to the runqueue phase. If everything was obtained > >from sstate, great, we do nothing. If we couldn't get anything, we'd > >build from scratch. We also cover all the states in between. > > > >The tmp/stamps directory tells you the status of all the tasks. Each > >task can have a stamp or a setscene version of the stamp. > > > >Hope that helps a bit! > > > >Cheers, > > > >Richard > > > > > > > > --------------------------------------------------------------------- > Intel Corporation (UK) Limited > Registered No. 1134945 (England) > Registered Office: Pipers Way, Swindon SN3 1RJ > VAT No: 860 2173 47 > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > [-- Attachment #2: Type: text/html, Size: 4151 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 12:48 ` Damian, Alexandru @ 2013-05-31 13:18 ` Barros Pena, Belen 0 siblings, 0 replies; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-31 13:18 UTC (permalink / raw) To: Damian, Alexandru Cc: Dragomir, CalinX L, Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org Not yet, no. Could you explain what you exactly mean by "build information"? There are 6 priority areas in the Web Hob analysis tool: build configuration, tasks, recipes, packages, image directory structure (if build target is a base image recipe) and time. When you say "build information", to which of these area(s) are you referring to? Once that's cleared, I can set to work in defining the data needed. If you want to get a high level idea of what type of information is needed for each area, you can visit: http://www.yoctoproject.org/webhob/phase3_final_web_prototype/project-build.html And go through the pages in the left navigation. Cheers Belén From: <Damian>, Alexandru <alexandru.damian@intel.com<mailto:alexandru.damian@intel.com>> Date: Friday, 31 May 2013 13:48 To: "Belen Barros Pena (Intel)" <belen.barros.pena@intel.com<mailto:belen.barros.pena@intel.com>> Cc: Richard Purdie <richard.purdie@linuxfoundation.org<mailto:richard.purdie@linuxfoundation.org>>, "Dragomir, CalinX L" <calinx.l.dragomir@intel.com<mailto:calinx.l.dragomir@intel.com>>, Paul Eggleton <paul.eggleton@linux.intel.com<mailto:paul.eggleton@linux.intel.com>>, "Zhang, Jessica" <jessica.zhang@intel.com<mailto:jessica.zhang@intel.com>>, "webhob@yoctoproject.org<mailto:webhob@yoctoproject.org>" <webhob@yoctoproject.org<mailto:webhob@yoctoproject.org>> Subject: Re: task types and outcomes Thank you, Belen ! Recorded here, it this is part of our specification https://wiki.yoctoproject.org/wiki/WebHob_general_architecture Do we have a similar definition for build information, that I am not aware of ? Cheers, Alex On Fri, May 31, 2013 at 12:49 PM, Barros Pena, Belen <belen.barros.pena@intel.com<mailto:belen.barros.pena@intel.com>> wrote: I have managed to gather answers to most questions regarding task information for Web Hob (thanks Paul, Alex and Richard for you help!). I've updated bug 4275 with a new task information set https://bugzilla.yoctoproject.org/attachment.cgi?id=1232 And a list of columns that will be available in the tasks table: https://bugzilla.yoctoproject.org/show_bug.cgi?id=4275#c2 Any questions or comments, let me know. Belen On 30/05/2013 15:28, "Richard Purdie" <richard.purdie@linuxfoundation.org<mailto:richard.purdie@linuxfoundation.org>> wrote: >On Thu, 2013-05-30 at 13:10 +0000, Dragomir, CalinX L wrote: >> I have a couple of questions regarding the tasks if you could help me >> understand better what's going on in a build operation. >> >> 1. From what I've read in the e-mails so far, it seems that there are >> three types of tasks: built, sstate and skipped. Can you tell me what >> each of them mean and how are they different ? >> 2. It also seems that there can be multiple results for each of them. >> Can you detail the meaning of each final state? (failed, missed, >> etc.) ? >> 3. How can I tell what type of task is the current executed task (if >> it is sstate or built or anything else) ? > >Let me explain what bitbake actually does. How this is presented in the >UI is a different question :) > >When you run "bitbake X", bitbake first goes through a "setscene" phase. > >This attempts to get the pre-built objects from the sstate cache. If >does this in reverse dependency order so it will try X, then the things >X depends on and so on. > >If it gets X, it would skip the dependencies in many cases. > >Bitbake then moves to the runqueue phase. If everything was obtained >from sstate, great, we do nothing. If we couldn't get anything, we'd >build from scratch. We also cover all the states in between. > >The tmp/stamps directory tells you the status of all the tasks. Each >task can have a stamp or a setscene version of the stamp. > >Hope that helps a bit! > >Cheers, > >Richard > > > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 10:57 ` Barros Pena, Belen 2013-05-30 13:10 ` Dragomir, CalinX L @ 2013-05-30 14:21 ` Richard Purdie 2013-05-31 13:50 ` Barros Pena, Belen 1 sibling, 1 reply; 27+ messages in thread From: Richard Purdie @ 2013-05-30 14:21 UTC (permalink / raw) To: Barros Pena, Belen Cc: Dragomir, CalinX L, Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org On Thu, 2013-05-30 at 10:57 +0000, Barros Pena, Belen wrote: > On 29/05/2013 22:39, "Richard Purdie" <richard.purdie@linuxfoundation.org> > wrote: > > >On Wed, 2013-05-29 at 16:57 +0100, Paul Eggleton wrote: > >> On Tuesday 28 May 2013 17:17:35 Barros Pena, Belen wrote: > >> > Thanks, Paul. I guess we need to nail down what is that we are trying > >>to > >> > achieve by reporting sstate tasks vs. built tasks vs. previously built > >> > tasks. From what I can remember, the main questions users need > >>answered > >> > are: > >> > > >> > * Why is this a built task when I was expecting it to reuse sstate > >>objects? > >> > * Why is this an sstate task when I was expecting it to build from > >>scratch? > >> > >> These are common questions yes. > >> > >> > If those are indeed the main questions we need to answer, reporting > >>missed > >> > sstate tasks and built tasks as one probably makes things easier. The > >> > metaphor would be a single task with a certain life cycle, and not 2 > >> > separate tasks. So, "BitBake detected changes in the inputs for task > >>x and > >> > reran the task" would result in Web Hob reporting a single built task > >>with > >> > an sstate missed flag. If we report this case through 2 separate tasks > >> > we'll need to link them to each other, so that users can reach one > >>from > >> > the other and get a full picture of what BitBake did during the build. > >> > This is also a viable option, but it will result in a much longer > >>table of > >> > tasks, with 2 entries for a certain task + recipe combination. > >> > > >> > Which way we report tasks impacts the way we structure the Web Hob > >>tasks > >> > table. From this classification of tasks: > >> > > >> > * Sstate > >> > ** Missed > >> > ** Completed > >> > ** Failed > >> > > >> > * Built > >> > ** Previously built > >> > ** Completed > >> > ** Failed > >> > > >> > We would move to this one: > >> > > >> > * Completed > >> > ** Previously built > >> > ** Sstate > >> > ** Built > >> > *** Sstate missed? Y/N > >> > *** Sstae failed? Y/N > >> > > >> > * Failed > >> > ** Built > >> > >> I think this is a reasonable approach. Although it does slightly > >>obscure the > >> details of the tasks bitbake is running it's going to be a bit easier > >>for the > >> user to follow with respect to the information they're most interested > >>in. > > > >Sorry about the delayed reply, as you can tell I have a bit of a backlog > >today :(. > > > >I hate to complicate things however there is a touch of added complexity > >to consider. > > >Imagine we have tasks A which depends upon B which depends > >upon C. > > > >In the no sstate available case, it builds C, then B then A, easy. > > > >With sstate, it will try A first. If A is available, it will just > >install A from sstate and skip B/C. If A is not available, it will try > >B, install that and skip C. It will then build any missing pieces so it > >might install B from sstate, then run C. > > I see. So it seems we have also 'skipped' tasks. Yes, not to be confused with "skipped" recipes during parsing which is something very different. > >This means that giving the user meaningful numbers of tasks is hard for > >example. > > > >This can probably be presented in the above form fine, I just want to be > >clear about the subtleties involved. Ideally we do want to try and > >better convey to the user what happened too in this UI. It could be good > >if for example we could show that we didn't run C as B was from sstate > >and hence C wasn't needed. > > I agree we should show those as well. So, it looks like we have a few > different kinds of tasks (previously built, skipped, sstate and built), > but those can be grouped into tasks that build something (the 'built' > kind, which we could call 'executed'), and those that don't build anything > (previously built, skipped and sstate, which we could call 'not > executed'). Yes. > So for the 'all tasks' table, we could have a 'task type' column > classifying tasks as 'executed' and 'not executed'. I'd prefer "Prebuilt" than "not executed" but yes. > Then, we could have an > 'outcome' column that would classify tasks as 'succeeded', 'failed', > 'previously built', 'sstate' and 'skipped'. That information is enough to > give me an overview of what BitBake has done, and if a task was handled in > an unexpected way (I thought it would build but it didn't, for example). > > When I select a single task from that table, we could provide a 'task > history' section that would expose the BitBake process for that task (in > your example of sstate dependent tasks, for skipped task C the history > would tell me that task C was brought in by skipped task B, which in turn > was brought in by sstate task A. For sstate task A, the history would tell > me that the checksum did not change, that task A depended on skipped task > B, which path was searched to find the sstate object, and so on). > > Would that work? I think so. > >I think the key concept we might also need to work into the UI is "dry > >run". A mode where you run the build however rather than doing it, it > >tells you what it would do (i.e. that it would need to run X tasks, Y > >would be done from sstate). Combined with an indication of why something > >didn't match, this would be extremely powerful/useful to most users. > > > >I have no objection to the form you present above, the key detail is > >more the dry run concept from the user perspective and start answering > >questions like "what would bitbake do?". > > We should keep that 'dry run' mode in mind (even I can see it would be > incredibly useful), but it won't happen in 1.5 :( FWIW, commandline bitbake does support this so its not hypothetical, its not easy to use from there though. I mention it just to ensure we keep it in mind in the design. It might not actually work out that hard to do if we have the right analysis display for a build since a dry run of a build and a real build would look very similar. Cheers, Richard ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-30 14:21 ` Richard Purdie @ 2013-05-31 13:50 ` Barros Pena, Belen 2013-05-31 13:53 ` Otavio Salvador 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-05-31 13:50 UTC (permalink / raw) To: Richard Purdie Cc: Dragomir, CalinX L, Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org On 30/05/2013 15:21, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: > >> So for the 'all tasks' table, we could have a 'task type' column >> classifying tasks as 'executed' and 'not executed'. > >I'd prefer "Prebuilt" than "not executed" but yes. Prebuilt sounds good to me, but it causes a bit of a naming issue. We have identified 3 possible 'Outcomes' for prebuilt tasks: sstate, skipped and previously built (tasks for which an stamp file exists). 'Prebuilt' and 'Previously built' are too similar, which is bound to cause confusion. Does any of you have any ideas for a better name for the 'Previously built' outcome? Thanks! Belén > > >Cheers, > >Richard > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 13:50 ` Barros Pena, Belen @ 2013-05-31 13:53 ` Otavio Salvador 2013-05-31 14:02 ` Paul Eggleton 0 siblings, 1 reply; 27+ messages in thread From: Otavio Salvador @ 2013-05-31 13:53 UTC (permalink / raw) To: Barros Pena, Belen Cc: Dragomir, CalinX L, Paul Eggleton, Zhang, Jessica, webhob@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 1006 bytes --] On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < belen.barros.pena@intel.com> wrote: > On 30/05/2013 15:21, "Richard Purdie" <richard.purdie@linuxfoundation.org> > wrote: > > > > >> So for the 'all tasks' table, we could have a 'task type' column > >> classifying tasks as 'executed' and 'not executed'. > > > >I'd prefer "Prebuilt" than "not executed" but yes. > > Prebuilt sounds good to me, but it causes a bit of a naming issue. We have > identified 3 possible 'Outcomes' for prebuilt tasks: sstate, skipped and > previously built (tasks for which an stamp file exists). 'Prebuilt' and > 'Previously built' are too similar, which is bound to cause confusion. > > Does any of you have any ideas for a better name for the 'Previously > built' outcome? > What about 'Cached'? -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 [-- Attachment #2: Type: text/html, Size: 1730 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 13:53 ` Otavio Salvador @ 2013-05-31 14:02 ` Paul Eggleton 2013-05-31 14:04 ` Dragomir, CalinX L 0 siblings, 1 reply; 27+ messages in thread From: Paul Eggleton @ 2013-05-31 14:02 UTC (permalink / raw) To: webhob; +Cc: Dragomir, CalinX L, Zhang, Jessica On Friday 31 May 2013 10:53:43 Otavio Salvador wrote: > On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < > > belen.barros.pena@intel.com> wrote: > > On 30/05/2013 15:21, "Richard Purdie" <richard.purdie@linuxfoundation.org> > > > > wrote: > > >> So for the 'all tasks' table, we could have a 'task type' column > > >> classifying tasks as 'executed' and 'not executed'. > > > > > >I'd prefer "Prebuilt" than "not executed" but yes. > > > > Prebuilt sounds good to me, but it causes a bit of a naming issue. We have > > identified 3 possible 'Outcomes' for prebuilt tasks: sstate, skipped and > > previously built (tasks for which an stamp file exists). 'Prebuilt' and > > 'Previously built' are too similar, which is bound to cause confusion. > > > > Does any of you have any ideas for a better name for the 'Previously > > built' outcome? > > What about 'Cached'? That clashes with the sstate "cache". Not that I have any better suggestion... Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 14:02 ` Paul Eggleton @ 2013-05-31 14:04 ` Dragomir, CalinX L 2013-06-03 12:32 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Dragomir, CalinX L @ 2013-05-31 14:04 UTC (permalink / raw) To: Paul Eggleton, webhob@yoctoproject.org; +Cc: Zhang, Jessica What about "Checked" ? Thanks, Calin -----Original Message----- From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] Sent: Friday, May 31, 2013 5:03 PM To: webhob@yoctoproject.org Cc: Otavio Salvador; Barros Pena, Belen; Dragomir, CalinX L; Zhang, Jessica Subject: Re: [Webhob] task types and outcomes On Friday 31 May 2013 10:53:43 Otavio Salvador wrote: > On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < > > belen.barros.pena@intel.com> wrote: > > On 30/05/2013 15:21, "Richard Purdie" > > <richard.purdie@linuxfoundation.org> > > > > wrote: > > >> So for the 'all tasks' table, we could have a 'task type' column > > >> classifying tasks as 'executed' and 'not executed'. > > > > > >I'd prefer "Prebuilt" than "not executed" but yes. > > > > Prebuilt sounds good to me, but it causes a bit of a naming issue. > > We have identified 3 possible 'Outcomes' for prebuilt tasks: sstate, > > skipped and previously built (tasks for which an stamp file exists). > > 'Prebuilt' and 'Previously built' are too similar, which is bound to cause confusion. > > > > Does any of you have any ideas for a better name for the 'Previously > > built' outcome? > > What about 'Cached'? That clashes with the sstate "cache". Not that I have any better suggestion... Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-05-31 14:04 ` Dragomir, CalinX L @ 2013-06-03 12:32 ` Barros Pena, Belen 2013-06-05 10:40 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-06-03 12:32 UTC (permalink / raw) To: Dragomir, CalinX L, Paul Eggleton, webhob@yoctoproject.org; +Cc: Zhang, Jessica So we have 'cached' and 'checked' so far. What about 'reused', 'recycled', 'restored' or something along those lines? Belen On 31/05/2013 15:04, "Dragomir, CalinX L" <calinx.l.dragomir@intel.com> wrote: >What about "Checked" ? > >Thanks, >Calin > >-----Original Message----- >From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >Sent: Friday, May 31, 2013 5:03 PM >To: webhob@yoctoproject.org >Cc: Otavio Salvador; Barros Pena, Belen; Dragomir, CalinX L; Zhang, >Jessica >Subject: Re: [Webhob] task types and outcomes > >On Friday 31 May 2013 10:53:43 Otavio Salvador wrote: >> On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < >> >> belen.barros.pena@intel.com> wrote: >> > On 30/05/2013 15:21, "Richard Purdie" >> > <richard.purdie@linuxfoundation.org> >> > >> > wrote: >> > >> So for the 'all tasks' table, we could have a 'task type' column >> > >> classifying tasks as 'executed' and 'not executed'. >> > > >> > >I'd prefer "Prebuilt" than "not executed" but yes. >> > >> > Prebuilt sounds good to me, but it causes a bit of a naming issue. >> > We have identified 3 possible 'Outcomes' for prebuilt tasks: sstate, >> > skipped and previously built (tasks for which an stamp file exists). >> > 'Prebuilt' and 'Previously built' are too similar, which is bound to >>cause confusion. >> > >> > Does any of you have any ideas for a better name for the 'Previously >> > built' outcome? >> >> What about 'Cached'? > >That clashes with the sstate "cache". Not that I have any better >suggestion... > >Cheers, >Paul > >-- > >Paul Eggleton >Intel Open Source Technology Centre --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-06-03 12:32 ` Barros Pena, Belen @ 2013-06-05 10:40 ` Barros Pena, Belen 2013-06-05 11:23 ` Dragomir, CalinX L 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-06-05 10:40 UTC (permalink / raw) To: Dragomir, CalinX L, Paul Eggleton, webhob@yoctoproject.org; +Cc: Zhang, Jessica On 03/06/2013 13:32, "Barros Pena, Belen" <belen.barros.pena@intel.com> wrote: >So we have 'cached' and 'checked' so far. What about 'reused', 'recycled', >'restored' or something along those lines? Paul Eggleton has suggested 'existing', so I think I'll use that for the time being. If anybody has a better term, let me know. Belen > >Belen > >On 31/05/2013 15:04, "Dragomir, CalinX L" <calinx.l.dragomir@intel.com> >wrote: > >>What about "Checked" ? >> >>Thanks, >>Calin >> >>-----Original Message----- >>From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >>Sent: Friday, May 31, 2013 5:03 PM >>To: webhob@yoctoproject.org >>Cc: Otavio Salvador; Barros Pena, Belen; Dragomir, CalinX L; Zhang, >>Jessica >>Subject: Re: [Webhob] task types and outcomes >> >>On Friday 31 May 2013 10:53:43 Otavio Salvador wrote: >>> On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < >>> >>> belen.barros.pena@intel.com> wrote: >>> > On 30/05/2013 15:21, "Richard Purdie" >>> > <richard.purdie@linuxfoundation.org> >>> > >>> > wrote: >>> > >> So for the 'all tasks' table, we could have a 'task type' column >>> > >> classifying tasks as 'executed' and 'not executed'. >>> > > >>> > >I'd prefer "Prebuilt" than "not executed" but yes. >>> > >>> > Prebuilt sounds good to me, but it causes a bit of a naming issue. >>> > We have identified 3 possible 'Outcomes' for prebuilt tasks: sstate, >>> > skipped and previously built (tasks for which an stamp file exists). >>> > 'Prebuilt' and 'Previously built' are too similar, which is bound to >>>cause confusion. >>> > >>> > Does any of you have any ideas for a better name for the 'Previously >>> > built' outcome? >>> >>> What about 'Cached'? >> >>That clashes with the sstate "cache". Not that I have any better >>suggestion... >> >>Cheers, >>Paul >> >>-- >> >>Paul Eggleton >>Intel Open Source Technology Centre > --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] task types and outcomes 2013-06-05 10:40 ` Barros Pena, Belen @ 2013-06-05 11:23 ` Dragomir, CalinX L 2013-06-05 17:14 ` [Webhob] Django models Paul Eggleton 0 siblings, 1 reply; 27+ messages in thread From: Dragomir, CalinX L @ 2013-06-05 11:23 UTC (permalink / raw) To: Barros Pena, Belen, Paul Eggleton, webhob@yoctoproject.org; +Cc: Zhang, Jessica I've updated the Django models information based on this. The outcome is now limited only to these five options discussed. Please find my changes here: https://wiki.yoctoproject.org/wiki/Django_models Thanks, Calin -----Original Message----- From: Barros Pena, Belen Sent: Wednesday, June 05, 2013 1:40 PM To: Dragomir, CalinX L; Paul Eggleton; webhob@yoctoproject.org Cc: Zhang, Jessica; Damian, Alexandru Subject: Re: [Webhob] task types and outcomes On 03/06/2013 13:32, "Barros Pena, Belen" <belen.barros.pena@intel.com> wrote: >So we have 'cached' and 'checked' so far. What about 'reused', >'recycled', 'restored' or something along those lines? Paul Eggleton has suggested 'existing', so I think I'll use that for the time being. If anybody has a better term, let me know. Belen > >Belen > >On 31/05/2013 15:04, "Dragomir, CalinX L" <calinx.l.dragomir@intel.com> >wrote: > >>What about "Checked" ? >> >>Thanks, >>Calin >> >>-----Original Message----- >>From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >>Sent: Friday, May 31, 2013 5:03 PM >>To: webhob@yoctoproject.org >>Cc: Otavio Salvador; Barros Pena, Belen; Dragomir, CalinX L; Zhang, >>Jessica >>Subject: Re: [Webhob] task types and outcomes >> >>On Friday 31 May 2013 10:53:43 Otavio Salvador wrote: >>> On Fri, May 31, 2013 at 10:50 AM, Barros Pena, Belen < >>> >>> belen.barros.pena@intel.com> wrote: >>> > On 30/05/2013 15:21, "Richard Purdie" >>> > <richard.purdie@linuxfoundation.org> >>> > >>> > wrote: >>> > >> So for the 'all tasks' table, we could have a 'task type' >>> > >> column classifying tasks as 'executed' and 'not executed'. >>> > > >>> > >I'd prefer "Prebuilt" than "not executed" but yes. >>> > >>> > Prebuilt sounds good to me, but it causes a bit of a naming issue. >>> > We have identified 3 possible 'Outcomes' for prebuilt tasks: >>> > sstate, skipped and previously built (tasks for which an stamp file exists). >>> > 'Prebuilt' and 'Previously built' are too similar, which is bound >>> > to >>>cause confusion. >>> > >>> > Does any of you have any ideas for a better name for the >>> > 'Previously built' outcome? >>> >>> What about 'Cached'? >> >>That clashes with the sstate "cache". Not that I have any better >>suggestion... >> >>Cheers, >>Paul >> >>-- >> >>Paul Eggleton >>Intel Open Source Technology Centre > ^ permalink raw reply [flat|nested] 27+ messages in thread
* [Webhob] Django models 2013-06-05 11:23 ` Dragomir, CalinX L @ 2013-06-05 17:14 ` Paul Eggleton 2013-06-06 9:27 ` Calin Dragomir 0 siblings, 1 reply; 27+ messages in thread From: Paul Eggleton @ 2013-06-05 17:14 UTC (permalink / raw) To: Dragomir, CalinX L; +Cc: Zhang, Jessica, webhob@yoctoproject.org Hi Calin, On Wednesday 05 June 2013 11:23:57 Dragomir, CalinX L wrote: > I've updated the Django models information based on this. > The outcome is now limited only to these five options discussed. > Please find my changes here: > https://wiki.yoctoproject.org/wiki/Django_models Some feedback on the models: * I understand task_history is meant to capture where BitBake could have accelerated the task using sstate but was unable to for some reason. Can we have a choice field which indicates this directly (e.g. sstate_result - not applicable, unavailable, failed, restored)? * I agree we want to have a sequence number to allow us to easily show the order tasks ran in within the UI where needed (is that task_number in the current model? If so do we need the order field which is also listed?) * I wonder if task_type should instead be an boolean value indicating if the task executed or not; I can't think of any other value we'd want here that isn't already covered by task_outcome. * What is the "code" field? * "py_sh" should probably be named "script_type" or similar Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] Django models 2013-06-05 17:14 ` [Webhob] Django models Paul Eggleton @ 2013-06-06 9:27 ` Calin Dragomir 2013-06-06 11:06 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Calin Dragomir @ 2013-06-06 9:27 UTC (permalink / raw) To: Paul Eggleton, webhob, Barros Pena, Belen, Damian, Alexandru [-- Attachment #1: Type: text/plain, Size: 2535 bytes --] On 05.06.2013 20:14, Paul Eggleton wrote: > Hi Calin, Hi Paul, > > On Wednesday 05 June 2013 11:23:57 Dragomir, CalinX L wrote: >> I've updated the Django models information based on this. >> The outcome is now limited only to these five options discussed. >> Please find my changes here: >> https://wiki.yoctoproject.org/wiki/Django_models > Some feedback on the models: > > * I understand task_history is meant to capture where BitBake could have > accelerated the task using sstate but was unable to for some reason. Can we > have a choice field which indicates this directly (e.g. sstate_result - not > applicable, unavailable, failed, restored)? I will change this task_history field into a CharField with only those 4 possible choices and will name it sstate_result. Belen, are you ok with this? Can you please update the info in the task table based on this? > > * I agree we want to have a sequence number to allow us to easily show the > order tasks ran in within the UI where needed (is that task_number in the > current model? If so do we need the order field which is also listed?) This is actually a question I had earlier. Task_number isn't listed in the table from bug #4275. We should drop on one of the task_number and order fields. I think order should be renamed as task_number in the table, and I will drop order in the Django model. Belen, do you agree ? > > * I wonder if task_type should instead be an boolean value indicating if the > task executed or not; I can't think of any other value we'd want here that > isn't already covered by task_outcome. Since this has only two options it acts like a boolean. I think we can make it a BooleanField. Where True means Executed, and False means Prebuilt. > > * What is the "code" field? On the agency page here ( http://www.yoctoproject.org/webhob/phase3_final_web_prototype/project-build-tasks-task.html) under the Code section I see a block of code, and this is why I have put a TextField there. On the other hand, going through the tasks tabel v4 , I see that depending on the script type, we have a path for shell and a path , function and line number for python code. Belen, what is desired here exactly? > > * "py_sh" should probably be named "script_type" or similar Yes, I agree, I'll change this accordingly. > > Cheers, > Paul > Thank you for the feedback Paul, I will update the info on the wiki shortly if you don't have other comments on these. Thanks, Calin [-- Attachment #2: Type: text/html, Size: 4174 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] Django models 2013-06-06 9:27 ` Calin Dragomir @ 2013-06-06 11:06 ` Barros Pena, Belen 2013-06-06 12:54 ` Paul Eggleton 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-06-06 11:06 UTC (permalink / raw) To: Calin Dragomir, Paul Eggleton, webhob@yoctoproject.org, Damian, Alexandru From: Calin Dragomir <calinx.l.dragomir@linux.intel.com<mailto:calinx.l.dragomir@linux.intel.com>> Date: Thursday, 6 June 2013 10:27 To: Paul Eggleton <paul.eggleton@linux.intel.com<mailto:paul.eggleton@linux.intel.com>>, "webhob@yoctoproject.org<mailto:webhob@yoctoproject.org>" <webhob@yoctoproject.org<mailto:webhob@yoctoproject.org>>, "Belen Barros Pena (Intel)" <belen.barros.pena@intel.com<mailto:belen.barros.pena@intel.com>>, "Damian, Alexandru" <alexandru.damian@intel.com<mailto:alexandru.damian@intel.com>> Subject: Re: [Webhob] Django models On 05.06.2013 20:14, Paul Eggleton wrote: Hi Calin, Hi Paul, On Wednesday 05 June 2013 11:23:57 Dragomir, CalinX L wrote: I've updated the Django models information based on this. The outcome is now limited only to these five options discussed. Please find my changes here: https://wiki.yoctoproject.org/wiki/Django_models Some feedback on the models: * I understand task_history is meant to capture where BitBake could have accelerated the task using sstate but was unable to for some reason. Can we have a choice field which indicates this directly (e.g. sstate_result - not applicable, unavailable, failed, restored)? I will change this task_history field into a CharField with only those 4 possible choices and will name it sstate_result. Belen, are you ok with this? Can you please update the info in the task table based on this? BELEN: Mmm, the question is that the history field will not only show sstate-related outcomes. It is meant to tell "the story of the task", i.e reveal the process BitBake followed to determine how to handle the task. So, for example, for an "existing" task, it will tell me that BitBake found a stamp file in location xyz, and that's why the task was not executed. For an "executed" task, it might tell me that the checksum indicates task inputs have changed and therefore the task needs to be executed, and it will also show me the output of the bitbake-diffsigs command so that I can check what changed in those inputs. For a "skipped" task, it will show me which task brings in the skipped task, and so on. So I don't think the 4 choices identified by Paul cover all the cases. We might need to block some time with Paul to work out what exactly the task history should show for each task type and outcome. * I agree we want to have a sequence number to allow us to easily show the order tasks ran in within the UI where needed (is that task_number in the current model? If so do we need the order field which is also listed?) This is actually a question I had earlier. Task_number isn't listed in the table from bug #4275. We should drop on one of the task_number and order fields. I think order should be renamed as task_number in the table, and I will drop order in the Django model. Belen, do you agree ? BELEN: Happy with that. The label used in the UI for task_number should still be 'order' though. * I wonder if task_type should instead be an boolean value indicating if the task executed or not; I can't think of any other value we'd want here that isn't already covered by task_outcome. Since this has only two options it acts like a boolean. I think we can make it a BooleanField. Where True means Executed, and False means Prebuilt. * What is the "code" field? On the agency page here ( http://www.yoctoproject.org/webhob/phase3_final_web_prototype/project-build-tasks-task.html) under the Code section I see a block of code, and this is why I have put a TextField there. On the other hand, going through the tasks tabel v4 , I see that depending on the script type, we have a path for shell and a path , function and line number for python code. Belen, what is desired here exactly? BELEN: For shell tasks, the path to the shell script. For Python tasks, the path to the shell script, the function(s) called and the start line for each of those functions. The idea of showing code was specific to failed executed tasks. For those, the idea was showing the code lines that threw the error. Can we identify those? If the answer is yes, I need to add a new information item to the list: "error code" or something like that. * "py_sh" should probably be named "script_type" or similar Yes, I agree, I'll change this accordingly. Cheers, Paul Thank you for the feedback Paul, I will update the info on the wiki shortly if you don't have other comments on these. Thanks, Calin --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] Django models 2013-06-06 11:06 ` Barros Pena, Belen @ 2013-06-06 12:54 ` Paul Eggleton 2013-06-07 11:04 ` Barros Pena, Belen 0 siblings, 1 reply; 27+ messages in thread From: Paul Eggleton @ 2013-06-06 12:54 UTC (permalink / raw) To: Barros Pena, Belen; +Cc: webhob@yoctoproject.org On Thursday 06 June 2013 11:06:39 Barros Pena, Belen wrote: > On Thursday, 6 June 2013 10:27, Calin Dragomir wrote: > > On 05.06.2013 20:14, Paul Eggleton wrote: > > > * I understand task_history is meant to capture where BitBake could have > > > accelerated the task using sstate but was unable to for some reason. Can > > > we have a choice field which indicates this directly (e.g. sstate_result > > > - not applicable, unavailable, failed, restored)? > > > I will change this task_history field into a CharField with only those 4 > > possible choices and will name it sstate_result. Belen, are you ok with > > this? Can you please update the info in the task table based on this? > > BELEN: Mmm, the question is that the history field will not only show > sstate-related outcomes. It is meant to tell "the story of the task", i.e > reveal the process BitBake followed to determine how to handle the task. > So, for example, for an "existing" task, it will tell me that BitBake found > a stamp file in location xyz, and that's why the task was not executed. Right, so we can infer that based upon the value of the task_type field. > For an "executed" task, it might tell me that the checksum indicates task > inputs have changed and therefore the task needs to be executed, and it > will also show me the output of the bitbake-diffsigs command so that I can > check what changed in those inputs. For a "skipped" task, it will show me > which task brings in the skipped task, and so on. So I don't think the 4 > choices identified by Paul cover all the cases. I think that it does. The value of my proposed field should be filled in for both sstate and executed tasks, so we can know what happened during the sstate phase. I don't want to track this separately in a free-format text field because it's effectively another specialised event log that won't be easy to search/filter on and I don't think that's what we need. > > > * I agree we want to have a sequence number to allow us to easily show > > > the order tasks ran in within the UI where needed (is that task_number > > > in the current model? If so do we need the order field which is also > > > listed?) > > > > This is actually a question I had earlier. Task_number isn't listed in the > > table from bug #4275. We should drop on one of the task_number and order > > fields. I think order should be renamed as task_number in the table, and I > > will drop order in the Django model. Belen, do you agree ? > > BELEN: Happy with that. The label used in the UI for task_number should > still be 'order' though. Since the model definition is not set in stone perhaps we would be better advised to use the same terminology in the model definition as the UI; i.e. if "order" is preferred in the UI then let's use that in the model as well. > * What is the "code" field? > > On the agency page here ( > http://www.yoctoproject.org/webhob/phase3_final_web_prototype/project-build > -tasks-task.html) under the Code section I see a block of code, and this is > why I have put a TextField there. > > On the other hand, going through the tasks tabel v4 , I see that depending > on the script type, we have a path for shell and a path , function and line > number for python code. Belen, what is desired here exactly? > > BELEN: For shell tasks, the path to the shell script. For Python tasks, the > path to the shell script, the function(s) called and the start line for > each of those functions. The idea of showing code was specific to failed > executed tasks. For those, the idea was showing the code lines that threw > the error. Can we identify those? If the answer is yes, I need to add a new > information item to the list: "error code" or something like that. "error code" won't really work, since that would normally imply an error result code (number). In any case think we need to collect this information regardless of whether the task failed or not, so that the user can inspect it. Let's keep it simple and always collect the file and starting line number for both python and shell tasks (i.e. we need extra fields for this); for shell tasks we can also collect the run.do_xyz file and place its contents in this "code" field. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] Django models 2013-06-06 12:54 ` Paul Eggleton @ 2013-06-07 11:04 ` Barros Pena, Belen 2013-06-07 11:52 ` [Webhob] Django models wiki updates Calin Dragomir 0 siblings, 1 reply; 27+ messages in thread From: Barros Pena, Belen @ 2013-06-07 11:04 UTC (permalink / raw) To: Paul Eggleton; +Cc: webhob@yoctoproject.org So this is the outcome of our conversation this morning about the task_history, order and code database fields. * Richard and Paul have a problem with the label 'skipped' as a prebuilt task outcome, because it is already used within the project in the context of recipes. Paul has suggested the label 'covered' instead, but has asked me to run it past Richard * Order: change the task_number field name to 'order' (Paul also suggested 'sequence') * Task history 1. Existing tasks 1.1 The stamp file itself has no interest. So I just need to know that a stamp file was found. That is covered by the task_type field. 1.2 I however might want to look at the task that generated that stamp file, so the interface needs to provide a link to such task. To identify it we'll use the state_checksum field 2. Covered tasks 2.1 The task history will show which task is covering the covered task and link to it. To identify the covering task, we need a new field to store the BitBake task ID (task_id). 2.2 This will require changes to BitBake to generate an event that provides the information about covering / covered tasks 3. Sstate and executed tasks: 3.1 For executed tasks, the task history will show the output of the bitbake-diffsigs command, but we have not discussed yet how we are going to store this 3.2 For executed tasks, the task history will show if a reuse from sstate was tried but generated a miss or a fail. For that we'll add a sstate_result field that has 4 possible values: not applicable (the task does not qualify for reuse, for example, do_fetch), missed (packages were not found), failed (packages were found, but could not be restored) and restored (this is a 'prebuilt' task with outcome 'sstate'). * Code 1. For both py and shell tasks, we'll be showing the path to the relevant file and the initial line number. This means we'll need to replace the code field in the database with two new fields: 1.1 One for storing the file path 1.2 One for storing the line number Or something along these lines. Calin will suggest something 2. We have decided not to store or show the content of the run file for the time being. However, this feature was covered by the high level design, so in order to make sure we don't forget about it I've opened a feature in Bugzilla marked as 'future' (https://bugzilla.yoctoproject.org/show_bug.cgi?id=4624) * Delete: 1. It looks like we are going to need delete functionality to allow users to delete information from the web hob database. 2. The minimum unit of deletion is a build (you can not delete part of the information for a build), and it was also suggested to provide date-based deletion (delete data for builds started / completed between this day and this day). 3. The question was raised of what's deleted: the information in the database only, or the build output as well? We don't have an answer yet. 4. A feature request is open, with milestone 1.5M4 (https://bugzilla.yoctoproject.org/show_bug.cgi?id=4625). Feel free to change it if needed. Belen On 06/06/2013 13:54, "Paul Eggleton" <paul.eggleton@linux.intel.com> wrote: >On Thursday 06 June 2013 11:06:39 Barros Pena, Belen wrote: >> On Thursday, 6 June 2013 10:27, Calin Dragomir wrote: >> > On 05.06.2013 20:14, Paul Eggleton wrote: >> > > * I understand task_history is meant to capture where BitBake could >>have >> > > accelerated the task using sstate but was unable to for some >>reason. Can >> > > we have a choice field which indicates this directly (e.g. >>sstate_result >> > > - not applicable, unavailable, failed, restored)? >> >> > I will change this task_history field into a CharField with only >>those 4 >> > possible choices and will name it sstate_result. Belen, are you ok >>with >> > this? Can you please update the info in the task table based on this? >> >> BELEN: Mmm, the question is that the history field will not only show >> sstate-related outcomes. It is meant to tell "the story of the task", >>i.e >> reveal the process BitBake followed to determine how to handle the task. >> So, for example, for an "existing" task, it will tell me that BitBake >>found >> a stamp file in location xyz, and that's why the task was not executed. > >Right, so we can infer that based upon the value of the task_type field. > >> For an "executed" task, it might tell me that the checksum indicates >>task >> inputs have changed and therefore the task needs to be executed, and it >> will also show me the output of the bitbake-diffsigs command so that I >>can >> check what changed in those inputs. For a "skipped" task, it will show >>me >> which task brings in the skipped task, and so on. So I don't think the >>4 >> choices identified by Paul cover all the cases. > >I think that it does. The value of my proposed field should be filled in >for >both sstate and executed tasks, so we can know what happened during the >sstate >phase. I don't want to track this separately in a free-format text field >because it's effectively another specialised event log that won't be easy >to >search/filter on and I don't think that's what we need. > >> > > * I agree we want to have a sequence number to allow us to easily >>show >> > > the order tasks ran in within the UI where needed (is that >>task_number >> > > in the current model? If so do we need the order field which is also >> > > listed?) >> > >> > This is actually a question I had earlier. Task_number isn't listed >>in the >> > table from bug #4275. We should drop on one of the task_number and >>order >> > fields. I think order should be renamed as task_number in the table, >>and I >> > will drop order in the Django model. Belen, do you agree ? >> >> BELEN: Happy with that. The label used in the UI for task_number should >> still be 'order' though. > >Since the model definition is not set in stone perhaps we would be better >advised to use the same terminology in the model definition as the UI; >i.e. if >"order" is preferred in the UI then let's use that in the model as well. > >> * What is the "code" field? >> >> On the agency page here ( >> >>http://www.yoctoproject.org/webhob/phase3_final_web_prototype/project-bui >>ld >> -tasks-task.html) under the Code section I see a block of code, and >>this is >> why I have put a TextField there. >> >> On the other hand, going through the tasks tabel v4 , I see that >>depending >> on the script type, we have a path for shell and a path , function and >>line >> number for python code. Belen, what is desired here exactly? >> >> BELEN: For shell tasks, the path to the shell script. For Python tasks, >>the >> path to the shell script, the function(s) called and the start line for >> each of those functions. The idea of showing code was specific to failed >> executed tasks. For those, the idea was showing the code lines that >>threw >> the error. Can we identify those? If the answer is yes, I need to add a >>new >> information item to the list: "error code" or something like that. > >"error code" won't really work, since that would normally imply an error >result code (number). In any case think we need to collect this >information >regardless of whether the task failed or not, so that the user can >inspect it. >Let's keep it simple and always collect the file and starting line number >for >both python and shell tasks (i.e. we need extra fields for this); for >shell >tasks we can also collect the run.do_xyz file and place its contents in >this >"code" field. > >Cheers, >Paul > >-- > >Paul Eggleton >Intel Open Source Technology Centre --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ^ permalink raw reply [flat|nested] 27+ messages in thread
* [Webhob] Django models wiki updates 2013-06-07 11:04 ` Barros Pena, Belen @ 2013-06-07 11:52 ` Calin Dragomir 2013-06-12 11:03 ` Damian, Alexandru 0 siblings, 1 reply; 27+ messages in thread From: Calin Dragomir @ 2013-06-07 11:52 UTC (permalink / raw) To: Barros Pena, Belen; +Cc: Paul Eggleton, webhob@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 1168 bytes --] Hi everyone, I've updated the info on the Wiki based on what we've discussed earlier. The updates are: * *task_type* has been replaced with a BooleanField called *task_executed* which will be True for Executed tasks and False for prebuilt. I know this is different from the UI, but having task_type in the DB with the value True / False was a bit confusing for the readers. If anyone has objections on this, I can change it back to its original state. * *task_number* has been replaced by an Integer field called *order *. * *py_sh* field has been renamed as *script_type* . * *code* field has been replaced by two fields called *file_path* and *line_number* . * *disk_io* has been made a decimal field. * *task_id* has been added to the set. * *sstate_result* field has replaced *task_history* and has the 4 options we have considered. If the current key of the choices is to be changed to numbers please let me know and I'll modify it. There are a couple of questions added at the end of the table, which should be answered. Please review my changes here: https://wiki.yoctoproject.org/wiki/Django_models Thank you, Calin [-- Attachment #2: Type: text/html, Size: 1761 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Webhob] Django models wiki updates 2013-06-07 11:52 ` [Webhob] Django models wiki updates Calin Dragomir @ 2013-06-12 11:03 ` Damian, Alexandru 0 siblings, 0 replies; 27+ messages in thread From: Damian, Alexandru @ 2013-06-12 11:03 UTC (permalink / raw) To: Calin Dragomir; +Cc: Paul Eggleton, webhob@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 1709 bytes --] Hi, My take on the questions: - primary key should be uuid and task_id. This is what the task is naturally referenced by when looked up on interrogations. We should not have an Auto field - sstate_result - yes, the value stored in the table should be a small number. ditto for all choice fields - dependent tasks - this should be another table mapping task -> task. - text field Alex On Fri, Jun 7, 2013 at 12:52 PM, Calin Dragomir < calinx.l.dragomir@linux.intel.com> wrote: > Hi everyone, > > I've updated the info on the Wiki based on what we've discussed earlier. > The updates are: > > * *task_type* has been replaced with a BooleanField called *task_executed*which will be True for Executed tasks and False for prebuilt. I know this > is different from the UI, but having task_type in the DB with the value > True / False was a bit confusing for the readers. If anyone has objections > on this, I can change it back to its original state. > * *task_number* has been replaced by an Integer field called *order *. > * *py_sh* field has been renamed as *script_type* . > * *code* field has been replaced by two fields called *file_path* and * > line_number* . > * *disk_io* has been made a decimal field. > * *task_id* has been added to the set. > * *sstate_result* field has replaced *task_history* and has the 4 options > we have considered. If the current key of the choices is to be changed to > numbers please let me know and I'll modify it. > > There are a couple of questions added at the end of the table, which > should be answered. > > Please review my changes here: > https://wiki.yoctoproject.org/wiki/Django_models > > Thank you, > Calin > [-- Attachment #2: Type: text/html, Size: 2540 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2013-06-12 11:03 UTC | newest] Thread overview: 27+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-05-28 16:16 [Webhob] task types and outcomes Barros Pena, Belen 2013-05-28 16:24 ` Paul Eggleton 2013-05-28 17:17 ` Barros Pena, Belen 2013-05-29 15:57 ` Paul Eggleton 2013-05-29 21:39 ` Richard Purdie 2013-05-30 10:57 ` Barros Pena, Belen 2013-05-30 13:10 ` Dragomir, CalinX L 2013-05-30 13:51 ` Barros Pena, Belen 2013-05-30 14:28 ` Richard Purdie 2013-05-31 11:49 ` Barros Pena, Belen 2013-05-31 12:48 ` Damian, Alexandru 2013-05-31 13:18 ` Barros Pena, Belen 2013-05-30 14:21 ` Richard Purdie 2013-05-31 13:50 ` Barros Pena, Belen 2013-05-31 13:53 ` Otavio Salvador 2013-05-31 14:02 ` Paul Eggleton 2013-05-31 14:04 ` Dragomir, CalinX L 2013-06-03 12:32 ` Barros Pena, Belen 2013-06-05 10:40 ` Barros Pena, Belen 2013-06-05 11:23 ` Dragomir, CalinX L 2013-06-05 17:14 ` [Webhob] Django models Paul Eggleton 2013-06-06 9:27 ` Calin Dragomir 2013-06-06 11:06 ` Barros Pena, Belen 2013-06-06 12:54 ` Paul Eggleton 2013-06-07 11:04 ` Barros Pena, Belen 2013-06-07 11:52 ` [Webhob] Django models wiki updates Calin Dragomir 2013-06-12 11:03 ` Damian, Alexandru
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.