D28333: Add a new daemon for stats monitoring

2020-05-06 Thread David Edmundson
This revision was automatically updated to reflect the committed changes.
Closed by commit R106:75333fc13159: Add a new daemon for stats monitoring 
(authored by davidedmundson).

REPOSITORY
  R106 KSysguard

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D28333?vs=81871=82105

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h

To: davidedmundson, #plasma, mart, ngraham, ahiemstra
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-05-06 Thread Arjen Hiemstra
ahiemstra accepted this revision.
ahiemstra added a comment.


  Let's do this.

REPOSITORY
  R106 KSysguard

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma, mart, ngraham, ahiemstra
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-05-04 Thread David Edmundson
davidedmundson updated this revision to Diff 81871.
davidedmundson marked an inline comment as done.
davidedmundson added a comment.


  Clear up plugin loading

REPOSITORY
  R106 KSysguard

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D28333?vs=81087=81871

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h

To: davidedmundson, #plasma
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-04-24 Thread David Edmundson
davidedmundson marked an inline comment as done.
davidedmundson added inline comments.

INLINE COMMENTS

> mart wrote in ksysguarddaemon.cpp:58
> needs to be always polling every half a second? could it be somewhat 
> adjustable (maybe depending on ac/on battery?)

Indeed, the current code is every 2s. I ramped it up to expose any issues.

I would quite like it to be somewhat container specific. 
i.e disk storage doesn't change much, CPU is more volatile.

I'll change it, and then maybe we can revisit this topic once some more things 
are ported.

> ahiemstra wrote in SensorContainer.cpp:64
> Uh, so shouldn't we fix this?

Seems like a plan :)

> ahiemstra wrote in SensorContainer.h:56
> Maybe move this to private with `friend class SensorObject`? Though I don't 
> really see why this is internal only. Also probably should rename it to 
> `addObject`?

It was just to explicitly enforce the memory management combined with the tree 
management.

I'll go with private, then we can change if we find we need to

> mart wrote in ksgrdiface.cpp:378
> maybe mapping on a config file?

Plan (with some pending code) is to just move these in natively into a more 
readable plugin

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-04-24 Thread David Edmundson
davidedmundson updated this revision to Diff 81087.
davidedmundson marked 23 inline comments as done.
davidedmundson added a comment.


  all the changes

REPOSITORY
  R106 KSysguard

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D28333?vs=78977=81087

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrd.json
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h
  plugins/global/nvidia/nvidiaplugin.json

To: davidedmundson, #plasma
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-04-22 Thread Arjen Hiemstra
ahiemstra added inline comments.

INLINE COMMENTS

> client.cpp:45
> +{
> +for (auto sensor : m_subscribedSensors) {
> +sensor->unsubscribe();

This should probably use `qAsConst`.

> ksysguarddaemon.cpp:76
> +auto factory = qobject_cast(plugin);
> +if (!factory) {
> +return;

Should we do some error logging here? Might help future plugin development.

> ksysguarddaemon.cpp:93
> +m_providers.append(provider);
> +for (auto container : provider->containers()) {
> +m_containers[container->id()] = container;

const auto containers = provider->containers();
  for(auto container : containers) {

> ksysguarddaemon.cpp:111
> +SensorInfoMap sensors;
> +for (auto c : m_containers) {
> +for(auto o : c->objects()) {

`qAsConst(m_containers)`

> ksysguarddaemon.cpp:112
> +for (auto c : m_containers) {
> +for(auto o : c->objects()) {
> +for (auto p : o->sensors()) {

Like above, objects() should be in a const variable. (Also for sensors on the 
line below).

> ksysguarddaemon.cpp:201
> +
> +for (auto client: m_clients) {
> +client->sendFrame();

`qAsConst(m_clients)`

> mart wrote in AggregateSensor.cpp:199
> if this timer is needed for compression, shouldn't be the same timer always 
> restarted?
> if i call singleshot 10 times, iirc that slot will be invoked delayed 10 times

It's guarded with "m_dataChangeQueued" which only gets reset after the timer 
triggers.

> SensorContainer.cpp:64
> +connect(object, ::destroyed, this, [object, this]() {
> +emit objectRemoved(object); //FIXME this is going to crash
> +});

Uh, so shouldn't we fix this?

> SensorContainer.h:56
> + */
> +void addSubObject(SensorObject *object);
> +Q_SIGNALS:

Maybe move this to private with `friend class SensorObject`? Though I don't 
really see why this is internal only. Also probably should rename it to 
`addObject`?

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: ahiemstra, ivan, mart, zzag, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, 
ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol


D28333: Add a new daemon for stats monitoring

2020-04-21 Thread Ivan Čukić
ivan added inline comments.

INLINE COMMENTS

> client.cpp:65-66
> +m_connections.insertMulti(sensor, connect(sensor, 
> ::sensorInfoChanged, this, [this, sensor]() {
> +auto newInfo = sensor->info();
> +m_pendingMetaDataChanges[sensor->path()] = newInfo;
> +}));

... = sensor->info();

> client.cpp:79-80
> +for (const QString  : sensorPaths) {
> +auto sensor = m_subscribedSensors.take(sensorPath);
> +if (sensor) {
> +disconnect(m_connections.take(sensor));

if (auto sensor = ...)

> ksysguarddaemon.cpp:74
> +auto pluginObjects = KPluginLoader::instantiatePlugins("ksysguard", 
> nullptr, this);
> +std::for_each(pluginObjects.constBegin(), pluginObjects.constEnd(), 
> [=](QObject *plugin) {
> +auto factory = qobject_cast(plugin);

`[=]` is evil

> ksysguarddaemon.cpp:111-113
> +for (auto c : m_containers) {
> +for(auto o : c->objects()) {
> +for (auto p : o->sensors()) {

clang-format

> ksysguarddaemon.cpp:161
> +if (SensorProperty *sensorProperty = findSensor(sensorId)) {
> +const QVariant value = sensorProperty->value();
> +if (value.isValid()) {

I'm not going to be bold enough to propose

  if (const auto variant = ...; variant.isValid()) { }

> ksysguarddaemon.cpp:172-173
> +{
> +int subsystemIndex = path.indexOf('/');
> +int propertyIndex = path.lastIndexOf('/');
> +

const int, const int

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: ivan, mart, zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, 
jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra


D28333: Add a new daemon for stats monitoring

2020-04-21 Thread Ivan Čukić
ivan added inline comments.

INLINE COMMENTS

> main.cpp:45
> +m_property1->setMin(0);
> +m_property1->setMin(100);
> +m_property1->setShortName("Some Sensor 1");

`setMax`?

> client.cpp:38
> +{
> +connect(m_daemon, ::sensorRemoved, this, [=](const 
> QString ) {
> +m_subscribedSensors.remove(sensor);

s/=/this/

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html

> client.cpp:56
> +auto sensor = m_daemon->findSensor(sensorPath);
> +if (sensor) {
> +m_connections[sensor] = connect(sensor, 
> ::valueChanged, this, [this, sensor]() {

Maybe:

  if(auto sensor = m_daemon->findSensor(sensorPath)) {
  ...
  }

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: ivan, mart, zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, 
jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra


D28333: Add a new daemon for stats monitoring

2020-04-21 Thread Marco Martin
mart added inline comments.

INLINE COMMENTS

> ksysguard_iface.xml:23
> +
> +  
> +  

since this is array in/array out, could consistence of naming be improved?
either
sensorsIds/sensorsInfos
or
sensorIds/sensorInfos

> ksysguarddaemon.cpp:58
> +auto timer = new QTimer(this);
> +timer->setInterval(500);
> +connect(timer, ::timeout, this, ::sendFrame);

needs to be always polling every half a second? could it be somewhat adjustable 
(maybe depending on ac/on battery?)

> ksysguarddaemon.cpp:86
> +
> +if(pluginObjects.isEmpty()) {
> +qWarning() << "No plugins found";

if (

> main.cpp:1
> +#include 
> +#include 

copyright?

> main.cpp:57
> +
> +//TODO human readable flag
> +//we then get the relevant sensorInfo for what we subscribe to and cache 
> that

what's the commandline option missing?

> AggregateSensor.cpp:199
> +m_dataChangeQueued = true;
> +QTimer::singleShot(m_dataCompressionDuration, [this]() {
> +Q_EMIT valueChanged();

if this timer is needed for compression, shouldn't be the same timer always 
restarted?
if i call singleshot 10 times, iirc that slot will be invoked delayed 10 times

> ksgrdiface.cpp:185
> +auto type = newSensorInfo.at(1);
> +if (type == QLatin1String("logfile"))
> +continue; // logfile data type not currently supported

if () {
}

> ksgrdiface.cpp:378
> +{
> +// TODO: This is pretty ugly, but it is really hard to add this 
> information to ksysguardd.
> +// So for now, we just map sensor ids to short names and return that.

maybe mapping on a config file?

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: mart, zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, 
jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra


D28333: Add a new daemon for stats monitoring

2020-03-31 Thread David Edmundson
davidedmundson updated this revision to Diff 78977.
davidedmundson added a comment.


  Register bus name after loading plugins

REPOSITORY
  R106 KSysguard

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D28333?vs=78658=78977

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrd.json
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h
  plugins/global/nvidia/nvidiaplugin.json

To: davidedmundson, #plasma
Cc: zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, 
zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart


D28333: Add a new daemon for stats monitoring

2020-03-27 Thread David Edmundson
davidedmundson updated this revision to Diff 78658.
davidedmundson added a comment.


  Drop object library, it was too cool for some cmake versions

REPOSITORY
  R106 KSysguard

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D28333?vs=78625=78658

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrd.json
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h
  plugins/global/nvidia/nvidiaplugin.json

To: davidedmundson, #plasma
Cc: zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, 
zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart


D28333: Add a new daemon for stats monitoring

2020-03-27 Thread Vlad Zahorodnii
zzag added inline comments.

INLINE COMMENTS

> nvidia.cpp:2-3
> +/*
> +Copyright (c) 2019 David Edmundson 
> +Copyright (c) 2020 David Edmundson 
> +

Typo?

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: zzag, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, 
zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart


D28333: Add a new daemon for stats monitoring

2020-03-27 Thread David Edmundson
davidedmundson added inline comments.

INLINE COMMENTS

> nvidiaplugin.json:1
> +{
> +"KPlugin": {

To address this, I don't use the json at all, as it's itself a factory class 
which provides metadata.

But I couldnt' get rid of it without error.

REPOSITORY
  R106 KSysguard

REVISION DETAIL
  https://phabricator.kde.org/D28333

To: davidedmundson, #plasma
Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, 
fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart


D28333: Add a new daemon for stats monitoring

2020-03-27 Thread David Edmundson
davidedmundson created this revision.
davidedmundson added a reviewer: Plasma.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
davidedmundson requested review of this revision.

REVISION SUMMARY
  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 


TEST PLAN
  Unit test
  Used with the new library to create a new suite of applet (upcoming patch)
  Used in a ported ksysguard

REPOSITORY
  R106 KSysguard

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D28333

AFFECTED FILES
  CMakeLists.txt
  kstats/CMakeLists.txt
  kstats/autotests/CMakeLists.txt
  kstats/autotests/main.cpp
  kstats/client.cpp
  kstats/client.h
  kstats/ksysguard_iface.xml
  kstats/ksysguarddaemon.cpp
  kstats/ksysguarddaemon.h
  kstats/main.cpp
  kstats/test/CMakeLists.txt
  kstats/test/README.txt
  kstats/test/main.cpp
  libkstats/AggregateSensor.cpp
  libkstats/AggregateSensor.h
  libkstats/CMakeLists.txt
  libkstats/SensorContainer.cpp
  libkstats/SensorContainer.h
  libkstats/SensorObject.cpp
  libkstats/SensorObject.h
  libkstats/SensorPlugin.cpp
  libkstats/SensorPlugin.h
  libkstats/SensorProperty.cpp
  libkstats/SensorProperty.h
  libkstats/types.h
  plugins/CMakeLists.txt
  plugins/global/ksgrd/CMakeLists.txt
  plugins/global/ksgrd/ksgrd.json
  plugins/global/ksgrd/ksgrdiface.cpp
  plugins/global/ksgrd/ksgrdiface.h
  plugins/global/nvidia/CMakeLists.txt
  plugins/global/nvidia/nvidia.cpp
  plugins/global/nvidia/nvidia.h
  plugins/global/nvidia/nvidiaplugin.json

To: davidedmundson, #plasma
Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, 
fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart