]> git.sesse.net Git - cubemap/blobdiff - stats.cpp
Add suppor for raw (non-Metacube) inputs over HTTP. Only really useful for TS.
[cubemap] / stats.cpp
index b0765ed32a4e22a0b0059144f3bd7ce321c3ccdd..661a17bf9100b1ea4c044e89ddeba667942f7894 100644 (file)
--- a/stats.cpp
+++ b/stats.cpp
@@ -17,7 +17,7 @@ using namespace std;
 
 extern ServerPool *servers;
 
-StatsThread::StatsThread(const std::string &stats_file, int stats_interval)
+StatsThread::StatsThread(const string &stats_file, int stats_interval)
        : stats_file(stats_file),
          stats_interval(stats_interval)
 {
@@ -59,7 +59,7 @@ void StatsThread::do_work()
 
                client_stats = servers->get_client_stats();
                for (size_t i = 0; i < client_stats.size(); ++i) {
-                       fprintf(fp, "%s %d %d %s %d %llu %llu %llu\n",
+                       fprintf(fp, "%s %d %d %s %d %llu %llu %llu \"%s\" \"%s\"\n",
                                client_stats[i].remote_addr.c_str(),
                                client_stats[i].sock,
                                0,  // Used to be fwmark.
@@ -67,7 +67,9 @@ void StatsThread::do_work()
                                int(now.tv_sec - client_stats[i].connect_time.tv_sec),  // Rather coarse.
                                (long long unsigned)(client_stats[i].bytes_sent),
                                (long long unsigned)(client_stats[i].bytes_lost),
-                               (long long unsigned)(client_stats[i].num_loss_events));
+                               (long long unsigned)(client_stats[i].num_loss_events),
+                               client_stats[i].referer.c_str(),
+                               client_stats[i].user_agent.c_str());
                }
                if (fclose(fp) == EOF) {
                        log_perror("fclose");