parent
4b54c0b3cd
commit
a07060b24b
4 changed files with 2 additions and 82 deletions
@ -1,47 +0,0 @@ |
||||
#ifndef _GNU_SOURCE |
||||
#define _GNU_SOURCE |
||||
#endif |
||||
|
||||
#include "common/statlog.h" |
||||
#include "common/util.h" |
||||
|
||||
#include <cstdarg> |
||||
#include <stdio.h> |
||||
#include <mutex> |
||||
#include <zmq.h> |
||||
|
||||
class StatlogState : public LogState { |
||||
public: |
||||
StatlogState() : LogState("ipc:///tmp/stats") {} |
||||
}; |
||||
|
||||
static StatlogState s = {}; |
||||
|
||||
static void log(const char* metric_type, const char* metric, const char* fmt, ...) { |
||||
std::lock_guard lk(s.lock); |
||||
if (!s.initialized) s.initialize(); |
||||
|
||||
char* value_buf = nullptr; |
||||
va_list args; |
||||
va_start(args, fmt); |
||||
int ret = vasprintf(&value_buf, fmt, args); |
||||
va_end(args); |
||||
|
||||
if (ret > 0 && value_buf) { |
||||
char* line_buf = nullptr; |
||||
ret = asprintf(&line_buf, "%s:%s|%s", metric, value_buf, metric_type); |
||||
if (ret > 0 && line_buf) { |
||||
zmq_send(s.sock, line_buf, ret, ZMQ_NOBLOCK); |
||||
free(line_buf); |
||||
} |
||||
free(value_buf); |
||||
} |
||||
} |
||||
|
||||
void statlog_log(const char* metric_type, const char* metric, int value) { |
||||
log(metric_type, metric, "%d", value); |
||||
} |
||||
|
||||
void statlog_log(const char* metric_type, const char* metric, float value) { |
||||
log(metric_type, metric, "%f", value); |
||||
} |
@ -1,10 +0,0 @@ |
||||
#pragma once |
||||
|
||||
#define STATLOG_GAUGE "g" |
||||
#define STATLOG_SAMPLE "sa" |
||||
|
||||
void statlog_log(const char* metric_type, const char* metric, int value); |
||||
void statlog_log(const char* metric_type, const char* metric, float value); |
||||
|
||||
#define statlog_gauge(metric, value) statlog_log(STATLOG_GAUGE, metric, value) |
||||
#define statlog_sample(metric, value) statlog_log(STATLOG_SAMPLE, metric, value) |
Loading…
Reference in new issue