int exa_perf_instance_static_init(void) { const char *perf_config; exaperf_err_t err; eh = exaperf_alloc(); if (eh == NULL) { exalog_error("Failed initializing exaperf"); return -ENOMEM; } perf_config = getenv("EXANODES_PERF_CONFIG"); if (perf_config == NULL) { exalog_debug("No perf config set"); return 0; } /* initialize the component */ err = exaperf_init(eh, perf_config, exa_perf_instance_print); switch (err) { case EXAPERF_SUCCESS: exalog_info("Loaded perf config '%s'", perf_config); return 0; case EXAPERF_CONF_FILE_OPEN_FAILED: exalog_warning("Perf config '%s' not found, ignored", perf_config); exaperf_free(eh); eh = NULL; return 0; default: /* FIXME Use error string instead of error code */ exalog_error("Failed loading perf config '%s' (%d)", perf_config, err); return -EINVAL; } }
void exa_perf_instance_static_clean(void) { exaperf_free(eh); eh = NULL; }
void __serverd_perf_cleanup(void) { exaperf_free(eh); eh = NULL; }