# Client Performance Monitoring

**URL:** <https://forum.inductiveautomation.com/t/client-performance-monitoring/12227>\
**Category:** Ignition\
**Created:** [October 12, 2016, 4:19pm UTC](https://forum.inductiveautomation.com/t/client-performance-monitoring/12227 "2016-10-12T16:19:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ErikG](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@ErikG](https://forum.inductiveautomation.com/u/ErikG)\
**Post date:** [October 12, 2016, 4:19pm UTC](https://forum.inductiveautomation.com/t/client-performance-monitoring/12227/1 "2016-10-12T16:19:23Z")

</div>

Has anyone made a successful attempt at getting client app (or PC) metrics?  
Ideally, we would have a screen that would show all connected clients and their respective CPU%, Memory, Ping Time, etc.

The client diagnostics are available locally, at the client, with the Client Diagnostics window. But as far as I can tell, this information is not retrievable.

I’m not against running a python script to gather the information on a timer script at each client, but I haven’t been able to find a Jython friendly library to use.

---

<div class="post-metadata">

**Author:** ![camatt3](https://avatars.discourse-cdn.com/v4/letter/c/22d042/32.png) [@camatt3](https://forum.inductiveautomation.com/u/camatt3)\
**Post date:** [May 7, 2019, 12:00am UTC](https://forum.inductiveautomation.com/t/client-performance-monitoring/12227/2 "2019-05-07T00:00:05Z")

</div>

I’m wondering about this too.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 7, 2019, 12:23pm UTC](https://forum.inductiveautomation.com/t/client-performance-monitoring/12227/3 "2019-05-07T12:23:57Z")

</div>

Java is jython-friendly. And provides a plethora of such information. Start [here](https://docs.oracle.com/javase/8/docs/technotes/guides/management/index.html). You’ll end up with something like this in a client timer script:

```auto
from java.lang.management import ManagementFactory

sysmx = ManagementFactory.getOperatingSystemMXBean()
payload = {'id': system.util.getClientId(),
    'cpus': sysmx.availableProcessors,
    'load': sysmx.systemLoadAverage}

system.util.sendMessage('myStatsProject', 'myClientStatsHndlr', payload, 'G')

```
