<table><tr><td style="">ahiemstra created this revision.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />ahiemstra requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D23342">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This adds a ksysguard process plugin that provides information about<br />
how much data is being used by a certain process. Since there is no<br />
unpriviledged API available (yet?) for this information, a small<br />
helper application is used that uses libpcap to capture packet sizes,<br />
which is then mapped to individual processes by comparing sockets to<br />
entries in /proc.</p>

<p>The helper application is intentionally kept small and should not<br />
require anything else than <tt style="background: #ebebeb; font-size: 13px;">cap_net_raw</tt>.</p>

<p>Depends on <a href="https://phabricator.kde.org/D23287" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D23287</a></p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Ensure ksgrd_network_helper has cap_net_raw set, by running <br />
<tt style="background: #ebebeb; font-size: 13px;">setcap cap_net_raw+ep ksgrd_network_helper</tt>. After that, start<br />
ksysguard. The "upload" and "download" columns should be<br />
automatically enabled and display network traffic for a certain<br />
process.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R106 KSysguard</div></div></div><br /><div><strong>BRANCH</strong><div><div>network_plugin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D23342">https://phabricator.kde.org/D23342</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
cmake/FindLibcap.cmake<br />
cmake/Findlibpcap.cmake<br />
plugins/CMakeLists.txt<br />
plugins/process/network/CMakeLists.txt<br />
plugins/process/network/README.md<br />
plugins/process/network/helper/Accumulator.cpp<br />
plugins/process/network/helper/Accumulator.h<br />
plugins/process/network/helper/CMakeLists.txt<br />
plugins/process/network/helper/Capture.cpp<br />
plugins/process/network/helper/Capture.h<br />
plugins/process/network/helper/ConnectionMapping.cpp<br />
plugins/process/network/helper/ConnectionMapping.h<br />
plugins/process/network/helper/Packet.cpp<br />
plugins/process/network/helper/Packet.h<br />
plugins/process/network/helper/TimeStamps.h<br />
plugins/process/network/helper/main.cpp<br />
plugins/process/network/network.cpp<br />
plugins/process/network/network.h<br />
plugins/process/network/networkplugin.json</div></div></div><br /><div><strong>To: </strong>ahiemstra<br /><strong>Cc: </strong>plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>