|
Bugzilla – Full Text Bug Listing |
| Summary: | kiwi: performs very slowly, while kiwi in shell is fast | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.3 | Reporter: | Francis Giannaros <francis> |
| Component: | YaST2 | Assignee: | Marcus Schaefer <ms> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | jsuchome, ms |
| Version: | RC 1 | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
patch for /usr/share/YaST2/modules/Kiwi.ycp
screenshot patch alternative version of the patch |
||
|
Description
Francis Giannaros
2007-09-25 19:15:37 UTC
The problem might be in reading the kiwi output or in placing the text which is too big to the YaST widget. Possible solution might be to show only last n (100?) lines of the output in that window, but I'm not sure if users wouldn't complain that some information is lost. Maybe some better solution could be found. From IRC: 12:21:54 < benJIman> ^ that'll be string concatenations and rich-text being slow probably *shrug* Yes, that's possible. Created attachment 174707 [details]
patch for /usr/share/YaST2/modules/Kiwi.ycp
If you have time for experiments, you can test this patch for /usr/share/YaST2/modules/Kiwi.ycp (you need to run 'ycpc -c usr/share/YaST2/modules/Kiwi.ycp' after applying the patch).
But it's just a quick try, I have no idea if it helps (it could even make it even slower). Tommorow I'll look into it deeper.
I think I've got a solution for this. What's slow is when the text starts getting a lot longer so, why not just show the normal KIWI output (without --logfile terminal) and have a button at the end saying "Save/View Full Logfile" (which would have all the gory details). Furthermore, if there is an error from the longer log, display it in the bottom pane. This way the user doesn't lose out on anything, still gets an idea of progress, and things are fast because only a little amount of text is displayed in yast2 kiwi. What do you think? Created attachment 175710 [details]
screenshot
unfortunatelly, it looks pretty ugly
The problem is, that without --logfile terminal, it prints all the color "done/failed" strings that mangle the output when it is read by YaST and shown in the window. Marcus, would it be possible to run kiwi without --logfile terminal option, but also without writing those special characters that mangle the output? See comment 6. We could always pipe it without a cut, at worst, no? Huh - do you mean without or with? Cut the last chunk of the line? In reply to comment #8: No :) next versions of kiwi will provide a log socket you can access and query. Well, I appreciate that next versions will provide new way of logging, but for now it would be sufficient to have an option that would make the output look like the "fileLog" tag is set. Which means, make the log output brief (just like when kiwi is called from command line, not like when it is redirected to file) with the possibility to show a full log later (which would be YaST task, reading the log file that is created anyway). It doesn't look impossible. I thought about something like this: (patch for /usr/sbin/kiwi) 106a107 > our $nocolor; # do not used colored output (done/failed messages) 147c148,150 < --- > if (defined $nocolor) { > $kiwi -> setLogFile (undef); > } 741a745 > "nocolor" => \$nocolor, (patch for KiwiLog.pm) 495a496,500 > if (!defined $file) { > $this->{fileLog} = 1; > return $this; > } could you make that as a unified diff attachment ? I will include it to svn then Thanks Created attachment 176338 [details]
patch
Well, it's more a hack - I rely on the fact that "fileLog" tag is used only for that debugging in functions like done etc. Maybe it would be better to introduce another key.
Created attachment 176339 [details]
alternative version of the patch
Not using "fileLog" but own "nocolor" key.
fixed in v1.65 Thanks! |