Merge lp:~victored/cerbere/improvements into lp:~elementary-pantheon/cerbere/cerbere
Status: | Merged |
---|---|
Approved by: | Allen Lowe |
Approved revision: | 24 |
Merged at revision: | 21 |
Proposed branch: | lp:~victored/cerbere/improvements |
Merge into: | lp:~elementary-pantheon/cerbere/cerbere |
Diff against target: |
618 lines (+329/-195) 8 files modified
INSTALL (+2/-1) org.pantheon.cerbere.gschema.xml (+13/-15) src/CMakeLists.txt (+9/-4) src/Cerbere.vala (+33/-50) src/ProcessInfo.vala (+152/-0) src/ProcessTimer.vala (+0/-48) src/SettingsManager.vala (+52/-0) src/Watchdog.vala (+68/-77) |
To merge this branch: | bzr merge lp:~victored/cerbere/improvements |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sergey "Shnatsel" Davidoff (community) | Approve | ||
Review via email: mp+109762@code.launchpad.net |
Description of the change
I've been testing the performance and reliability of the current Cerbere and I'm not satisfied with the results. Here's what I found:
1) Some processes are not respawned correctly. For instance, wingpanel is not even respawned most of the time!
2) Processes are spawned sequentially (this increases the startup time of the Pantheon desktop.)
3) The process' crash-count is increased even if the crashes didn't occur consecutively, resulting in that process not being monitored anymore. This is likely to happen after many days of activity.
4) No support for command-line arguments. This prevents us from adding stuff like 'slingshot --silent' to the process monitor.
5) Settings are only read during startup. If you change something, you need to restart cerbere (for most users this is a "logout" -> "login" operation) in order to use the new settings. What should happen:
- The keys "crash-time" and "crash-
- If the values of "desktop-
- If a program was removed from the list, stop monitoring it right away
- If a new program was added to the list, launch it and start monitoring it immediately
While these issues don't seem to be important, they certainly are when you have your computer turned on for more than 10 days (based on the crash frequency of some components).
Other issues:
6) Settings are located under org.pantheon.
7) Cerbere is more like a multi-purpose app, since you can pretty much add anything to it. Therefore, the processes key should be renamed from "desktop-
8) Inconvenient variant types on keys "crash-time" and "max-crashes". (Should be uint instead of int, since setting negative values breaks cerbere)
This branch fixes all of the issues mentioned above.
This is great! I've been looking forward to this for so long! I've copied the older Cerbere into testing PPA just in case this version breaks anything. Let's merge this ASAP!