#include <vector>
#include "client.h"
+#include "log.h"
#include "serverpool.h"
#include "stats.h"
char *filename = strdup((stats_file + ".new.XXXXXX").c_str());
fd = mkostemp(filename, O_WRONLY);
if (fd == -1) {
- perror(filename);
+ log_perror(filename);
free(filename);
goto sleep;
}
fp = fdopen(fd, "w");
if (fp == NULL) {
- perror("fdopen");
+ log_perror("fdopen");
close(fd);
unlink(filename);
free(filename);
now = time(NULL);
client_stats = servers->get_client_stats();
for (size_t i = 0; i < client_stats.size(); ++i) {
- fprintf(fp, "%s %s %d %llu %llu %llu\n",
+ fprintf(fp, "%s %d %d %s %d %llu %llu %llu\n",
client_stats[i].remote_addr.c_str(),
+ client_stats[i].sock,
+ client_stats[i].fwmark,
client_stats[i].stream_id.c_str(),
int(now - client_stats[i].connect_time),
(long long unsigned)(client_stats[i].bytes_sent),
(long long unsigned)(client_stats[i].num_loss_events));
}
if (fclose(fp) == EOF) {
- perror("fclose");
+ log_perror("fclose");
unlink(filename);
free(filename);
goto sleep;
}
if (rename(filename, stats_file.c_str()) == -1) {
- perror("rename");
+ log_perror("rename");
unlink(filename);
}
break;
}
if (nfds == -1) {
- perror("poll");
+ log_perror("poll");
usleep(100000);
continue;
}