Hello Belen,

Pushed achaudhary/errors_warnings_ondashboard_v2

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=achaudhary/errors_warnings_ondashboard_v2&id=89f5fa173857d582d6631f3fc151dcabde9968f9

It fixes the first problem of zero errors being displayed, when no errors are present, thanks for the test data, that helped. 

If there are no warnings in a build, the build dashboard is showing a 
warnings section saying '0 warnings'. Instead, the warnings section should 
not exist when there are no warnings. 

Yes, this should be an easy fix. I should’ve noticed this on other prototype pages :), thanks for pointing this out.

Should not show zero warnings anymore.

>From an interface standpoint, this is looking pretty good. I am however 
>seeing some mismatch between the number of warnings and the number of 
>messages shown in the warnings section. It looks like the number of 
>warnings is displaying the overall number of entries in the orm_logmessage 
>table. 
> 
>The number of warnings should be the number of entries in the 
>orm_logmessage table with level = 1. The number of errors should be the 
>number of entries with level = 2. 
> 

>Any chance you could verify is this what's is being shown in the 
>interface? 

Yes, there is a problem, I will take a look.

This appears to be a problem rooted in the way the table is being read, I have one error in my log file that doesn’t get picked up.

ERROR: Nothing PROVIDES 'core-image-install'. Close matches:  

core-image-minimal

core-image-sato

core-image-rt

Could it be that certain type of errors are not supposed to be picked up? for example the one above occurs while the build is being launched (It is in the bitbake command parameter itself that launches the build). There is code as well that seems to be doing something about it, in lib/bb/ui/toastergui.py

            if isinstance(event, bb.event.NoProvider):
                return_value = 1
                errors = errors + 1
                if event._runtime:
                    r = "R"
                else:
                    r = “"

Investigating this right now. Also, is it possible you could send me the log file using which you saw the errors and warnings number mismatch, that will give me more cases to better make sense of the code and the problem as well. (The log file I am talking about is build/tmp/log/cooker/qemux86/20140213121357.log for me)

Thanks!

—amit


—amit


> 
>Thanks! 
> 
>Belén 
> 
> 
>> 
>> 
>>Thanks! 
>> 
>> 
>>-- 
>>Amit Kumar Chaudhary 
>> 
>> 
>> 
>>On 24 February 2014 at 8:46:21 pm, Amit Kumar Chaudhary 
>>(amit@floatingpondtech.com <mailto://amit@floatingpondtech.com>) wrote: 
>> 
>>Thanks Alex, 
>> 
>> 
>>"The LogMessage table is designed to hold logs coming from the build 
>>process itself² 
>> 
>> 
>>This is the part I was trying to figure out. I have got the handle on how 
>>to retrieve the messages from the table, (how those were put in there in 
>>the first place is still a mystery), 
>> I have added the following code to 'builddashboard(request, build_id)¹ 
>>function defined in toastergui/views.py 
>> 
>> 
>> context = { 
>> 'build' : Build.objects.filter(pk=build_id)[0], 
>>- 'recipecount' : 
>>Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter( 
>>b 
>>uild=build_id)).count() 
>>+ 'recipecount' : 
>>Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter( 
>>b 
>>uild=build_id)).count(), 
>>+ 'logmessages': LogMessage.objects.filter(build=build_id), 
>> } 
>> return render(request, template, context) 
>> 
>> 
>>now I can use the logmessages in 
>>toastergui/templates/builddashboard.html, using the html code I was 
>>trying to re-use below. I have a patch that nearly works, I will clean 
>>that up a bit and post it for giving a better picture. 
>> 
>> 
>>Thanks for all the insights. 
>> 
>> 
>>-- 
>>Amit Kumar Chaudhary 
>> 
>> 
>> 
>>On 20 February 2014 at 8:34:36 pm, Damian, Alexandru 
>>(alexandru.damian@intel.com <mailto://alexandru.damian@intel.com>) wrote: 
>> 
>>Hello, 
>> 
>> 
>>The LogMessage table is designed to hold logs coming from the build 
>>process itself, and not logs that result from normal task execution. 
>>It is the difference between the output displayed from the bitbake 
>>command, and the output from the "make" command in a "do_compile" task. 
>> 
>> 
>>For the latter case, we currently do not hold/save the content of such 
>>log files. We do not have yet a strategy on determining what log files 
>>are important, and saving everything may be 
>> a prohibitive cost in terms of storage. 
>> 
>> 
>>Hope this helps, 
>>Alex 
>> 
>> 
>> 
>>On Thu, Feb 20, 2014 at 11:18 AM, Amit Kumar Chaudhary 
>><amit@floatingpondtech.com> wrote: 
>> 
>>Hello, 
>> 
>> 
>>I am just beginning with the toaster and web apps in general, and I am 
>>trying to add errors and warning listing to the build dashboard page, as 
>>prototyped at 
>> 
>> 
>>https://www.yoctoproject.org/toaster/build-dashboard-failed.html#errors 
>> 
>> 
>>I am trying to re-use the following code -- 
>> 
>> 
>> 
>><td>{{build.errors_no}}:{% if build.errors_no %}{% for error in logs 
>>%}{% if error.build == build %}{% if error.level == 2 
>>%}<p>{{error.message}}</p>{% endif %}{% endif %}{% endfor %}{% else 
>>%}None{% endif %}</td> 
>> 
>> 
>>from 
>>~/poky-contrib/bitbake/lib/toaster/bldviewer/templates/simple_build.html. 
>> 
>> 
>>And, I am expecting the logs, for example at 
>>~/poky-contrib/build/tmp/log/cooker/qemux86/20140213120738.log 
>> 
>> 
>>to be read via LogMessage class below 
>> 
>> 
>>class LogMessage(models.Model): 
>> INFO = 0 
>> WARNING = 1 
>> ERROR = 2 
>> 
>> 
>> LOG_LEVEL = ( (INFO, "info"), 
>> (WARNING, "warn"), 
>> (ERROR, "error") ) 
>> 
>> 
>> build = models.ForeignKey(Build) 
>> level = models.IntegerField(choices=LOG_LEVEL, default=INFO) 
>>‹> message=models.CharField(max_length=240) 
>> pathname = models.FilePathField(max_length=255, blank=True) 
>> lineno = models.IntegerField(null=True) 
>> 
>> 
>>implemented in ~/poky-contrib/bitbake/lib/toaster/orm/models.py. 
>> 
>> 
>>But, I can¹t seem to find the code that does it, reading from the log 
>>file to the sqlite table. Could someone please point me to the files/path 
>>that might contain this code, or such code for other tables. 
>> 
>> 
>>Thanks! 
>> 
>> 
>> 
>>-- 
>>Amit Kumar Chaudhary 
>> 
>> 
>> 
>> 
>>_______________________________________________ 
>>toaster mailing list 
>>toaster@yoctoproject.org 
>>https://lists.yoctoproject.org/listinfo/toaster 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>-- 
>>Alex Damian 
>>Yocto Project 
>> 
>>SSG / OTC 
>> 
>> 
>> 
>> 
>> 
>> 
>>_______________________________________________ 
>>toaster mailing list 
>>toaster@yoctoproject.org 
>>https://lists.yoctoproject.org/listinfo/toaster 
>> 
>> 
>> 
>> 
> 
>_______________________________________________ 
>toaster mailing list 
>toaster@yoctoproject.org 
>https://lists.yoctoproject.org/listinfo/toaster 

_______________________________________________ 
toaster mailing list 
toaster@yoctoproject.org 
https://lists.yoctoproject.org/listinfo/toaster