ksysguardd, whilst good, has a few problems
The code is a bit archaic, it relies on a polling API, which is overhead
for infrequently changed values or where setting up a monitor has a big
overhead.
It also moves the problem of translations into the daemon, allowing for
better extensibility without requiring client side changes.
The daemon is based around a typical OO model. Plugins have lists of
objects, those objects have properties using common Qt patterns. A
property also has various metadata.
For full compatibility ksgrd is wrapped and the plan is to land with the
bridge, then slowly land patches that use the new API natively.
An nvidia plugin is also added to show the API being used in another
format.
This is all consumed by the new API posted in D28141