From ed9a13a10b69946194564ac96dafeb49247d0aea Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Wed, 18 Oct 2017 16:08:59 +0000 Subject: [PATCH] The onlp-snmpd daemon now exports the current utilization via domain socket. --- .../onlp_snmp/module/src/onlp_snmp_platform.c | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/base/any/onlp-snmpd/builds/src/onlp_snmp/module/src/onlp_snmp_platform.c b/packages/base/any/onlp-snmpd/builds/src/onlp_snmp/module/src/onlp_snmp_platform.c index c97a3972..8b4aebfa 100644 --- a/packages/base/any/onlp-snmpd/builds/src/onlp_snmp/module/src/onlp_snmp_platform.c +++ b/packages/base/any/onlp-snmpd/builds/src/onlp_snmp/module/src/onlp_snmp_platform.c @@ -259,9 +259,29 @@ us_to_next_update(void) return MIN(period - deltat, period); } +#include + +static int +cpu_utilization_handler__(int fd, void* cookie) +{ + char svalue[64]; + resources_t *curr = get_curr_resources(); + sprintf(svalue, "%d", curr->utilization_percent); + write(fd, svalue, strlen(svalue)); + close(fd); + return 0; +} + static void * do_update(void *arg) { + onlp_file_uds_t* uds; + if(ONLP_SUCCESS(onlp_file_uds_create(&uds))) { + onlp_file_uds_add(uds, + "/var/run/onl/cpu-utilization", + cpu_utilization_handler__, NULL); + } + for (;;) { resource_update(); usleep(us_to_next_update());