From 2c3aa395cf8f5779341685f99377774c145d6f38 Mon Sep 17 00:00:00 2001 From: "Korynkevych, RomanX" Date: Wed, 23 Nov 2016 13:33:44 +0000 Subject: [PATCH] rdtmon: Use pqos callback to redirect pqos library messages to collectd. Change-Id: I142e8940878926adf7752eabbad34a6c37cca1d4 Signed-off-by: Korynkevych, RomanX --- src/intel_rdt.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/intel_rdt.c b/src/intel_rdt.c index 2ef65f57..d1a0c51d 100644 --- a/src/intel_rdt.c +++ b/src/intel_rdt.c @@ -460,6 +460,10 @@ static int rdt_config_cgroups(oconfig_item_t *item) { return (0); } +static void rdt_pqos_log(void *context, const size_t size, const char *msg) { + DEBUG(RDT_PLUGIN ": %s", msg); +} + static int rdt_preinit(void) { int ret; @@ -478,11 +482,12 @@ static int rdt_preinit(void) { * call fini and ignore return code. */ pqos_fini(); - /* TODO: - * stdout should not be used here. Will be reworked when support of log - * callback is added to PQoS library. - */ - ret = pqos_init(&(struct pqos_config){.fd_log = STDOUT_FILENO}); + struct pqos_config pqos = {.fd_log = -1, + .callback_log = rdt_pqos_log, + .context_log = NULL, + .verbose = 0}; + + ret = pqos_init(&pqos); if (ret != PQOS_RETVAL_OK) { ERROR(RDT_PLUGIN ": Error initializing PQoS library!"); goto rdt_preinit_error1; -- 2.11.0