static rstatus_t stats_add_header(struct stats *st) { rstatus_t status; struct stats_buffer *buf; int64_t cur_ts, uptime; buf = &st->buf; buf->data[0] = '{'; buf->len = 1; cur_ts = (int64_t)time(NULL); uptime = cur_ts - st->start_ts; status = stats_add_string(st, &st->service_str, &st->service); if (status != NC_OK) { return status; } status = stats_add_string(st, &st->source_str, &st->source); if (status != NC_OK) { return status; } status = stats_add_string(st, &st->version_str, &st->version); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->uptime_str, uptime); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->timestamp_str, cur_ts); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->ntotal_conn_str, conn_ntotal_conn()); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->ncurr_conn_str, conn_ncurr_conn()); if (status != NC_OK) { return status; } return NC_OK; }
static rstatus_t stats_add_header(struct stats *st) { rstatus_t status; struct stats_buffer *buf; int64_t cur_ts, uptime; buf = &st->buf; buf->data[0] = '{'; buf->len = 1; cur_ts = (int64_t)time(NULL); uptime = cur_ts - st->start_ts; status = stats_add_string(st, &st->service_str, &st->service); if (status != DN_OK) { return status; } status = stats_add_string(st, &st->source_str, &st->source); if (status != DN_OK) { return status; } status = stats_add_string(st, &st->version_str, &st->version); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->uptime_str, uptime); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->timestamp_str, cur_ts); if (status != DN_OK) { return status; } status = stats_add_string(st, &st->rack_str, &st->rack); if (status != DN_OK) { return status; } status = stats_add_string(st, &st->dc_str, &st->dc); if (status != DN_OK) { return status; } //latency histogram status = stats_add_num(st, &st->latency_max_str, st->latency_histo.val_max); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->latency_999th_str, st->latency_histo.val_999th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->latency_99th_str, st->latency_histo.val_99th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->latency_95th_str, st->latency_histo.val_95th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->latency_mean_str, st->latency_histo.mean); if (status != DN_OK) { return status; } //payload size histogram status = stats_add_num(st, &st->payload_size_max_str, st->payload_size_histo.val_max); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->payload_size_999th_str, st->payload_size_histo.val_999th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->payload_size_99th_str, st->payload_size_histo.val_99th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->payload_size_95th_str, st->payload_size_histo.val_95th); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->payload_size_mean_str, st->payload_size_histo.mean); if (status != DN_OK) { return status; } status = stats_add_num(st, &st->alloc_msgs_str, st->alloc_msgs); if (status != DN_OK) { return status; } return DN_OK; }
static rstatus_t stats_add_header(struct stats *st) { rstatus_t status; struct stats_buffer *buf; int64_t cur_ts, uptime; struct rusage ru; buf = &st->buf; buf->data[0] = '{'; buf->len = 1; cur_ts = (int64_t)time(NULL); uptime = cur_ts - st->start_ts; getrusage(RUSAGE_SELF, &ru); status = stats_add_string(st, &st->service_str, &st->service); if (status != NC_OK) { return status; } status = stats_add_string(st, &st->source_str, &st->source); if (status != NC_OK) { return status; } status = stats_add_string(st, &st->version_str, &st->version); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->uptime_str, uptime); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->timestamp_str, cur_ts); if (status != NC_OK) { return status; } status = stats_add_float(st, &st->used_cpu_user_str, (float)ru.ru_utime.tv_sec + (float)ru.ru_utime.tv_usec/100000); if (status != NC_OK) { return status; } status = stats_add_float(st, &st->used_cpu_sys_str, (float)ru.ru_stime.tv_sec + (float)ru.ru_stime.tv_usec/1000000); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->voluntary_switches_str, ru.ru_nvcsw); if (status != NC_OK) { return status; } status = stats_add_num(st, &st->involuntary_switches_str, ru.ru_nivcsw); if (status != NC_OK) { return status; } return NC_OK; }