Loading cmds/statsd/src/DropboxWriter.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -31,19 +31,18 @@ namespace statsd { DropboxWriter::DropboxWriter(const string& tag) : mTag(tag), mLogReport(), mBufferSize(0) { } void DropboxWriter::addStatsLogReport(const StatsLogReport& log) { mLogReport = log; flushIfNecessary(log); mBufferSize += log.ByteSize(); void DropboxWriter::addEventMetricData(const EventMetricData& eventMetricData) { flushIfNecessary(eventMetricData); EventMetricData* newEntry = mLogReport.mutable_event_metrics()->add_data(); newEntry->CopyFrom(eventMetricData); mBufferSize += eventMetricData.ByteSize(); } void DropboxWriter::flushIfNecessary(const StatsLogReport& log) { // TODO: Decide to flush depending on the serialized size of the StatsLogReport. // if (entry.ByteSize() + mBufferSize > kMaxSerializedBytes) { // flush(); // } void DropboxWriter::flushIfNecessary(const EventMetricData& eventMetricData) { if (eventMetricData.ByteSize() + mBufferSize > kMaxSerializedBytes) { flush(); } } void DropboxWriter::flush() { // now we get an exact byte size of the output Loading cmds/statsd/src/DropboxWriter.h +2 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ public: */ DropboxWriter(const string& tag); void addStatsLogReport(const StatsLogReport& log); void addEventMetricData(const EventMetricData& eventMetricData); /* Request a flush to dropbox. */ void flush(); Loading Loading @@ -61,7 +61,7 @@ private: /* Check if the buffer size exceeds the max buffer size when the new entry is added, and flush the logs to dropbox if true. */ void flushIfNecessary(const StatsLogReport& log); void flushIfNecessary(const EventMetricData& eventMetricData); }; } // namespace statsd Loading cmds/statsd/src/StatsLogProcessor.cpp +2 −6 Original line number Diff line number Diff line Loading @@ -54,12 +54,8 @@ void StatsLogProcessor::OnLogEvent(const log_msg& msg) { // dump all statsd logs to dropbox for now. // TODO: Add filtering, aggregation, etc. if (err == NO_ERROR) { StatsLogReport logReport; logReport.set_start_report_millis(entry.tv_sec * 1000 + entry.tv_nsec / 1000 / 1000); EventMetricData* eventMetricData = logReport.mutable_event_metrics()->add_data(); *eventMetricData = parse(msg); m_dropbox_writer.addStatsLogReport(logReport); EventMetricData eventMetricData = parse(msg); m_dropbox_writer.addEventMetricData(eventMetricData); } } Loading Loading
cmds/statsd/src/DropboxWriter.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -31,19 +31,18 @@ namespace statsd { DropboxWriter::DropboxWriter(const string& tag) : mTag(tag), mLogReport(), mBufferSize(0) { } void DropboxWriter::addStatsLogReport(const StatsLogReport& log) { mLogReport = log; flushIfNecessary(log); mBufferSize += log.ByteSize(); void DropboxWriter::addEventMetricData(const EventMetricData& eventMetricData) { flushIfNecessary(eventMetricData); EventMetricData* newEntry = mLogReport.mutable_event_metrics()->add_data(); newEntry->CopyFrom(eventMetricData); mBufferSize += eventMetricData.ByteSize(); } void DropboxWriter::flushIfNecessary(const StatsLogReport& log) { // TODO: Decide to flush depending on the serialized size of the StatsLogReport. // if (entry.ByteSize() + mBufferSize > kMaxSerializedBytes) { // flush(); // } void DropboxWriter::flushIfNecessary(const EventMetricData& eventMetricData) { if (eventMetricData.ByteSize() + mBufferSize > kMaxSerializedBytes) { flush(); } } void DropboxWriter::flush() { // now we get an exact byte size of the output Loading
cmds/statsd/src/DropboxWriter.h +2 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ public: */ DropboxWriter(const string& tag); void addStatsLogReport(const StatsLogReport& log); void addEventMetricData(const EventMetricData& eventMetricData); /* Request a flush to dropbox. */ void flush(); Loading Loading @@ -61,7 +61,7 @@ private: /* Check if the buffer size exceeds the max buffer size when the new entry is added, and flush the logs to dropbox if true. */ void flushIfNecessary(const StatsLogReport& log); void flushIfNecessary(const EventMetricData& eventMetricData); }; } // namespace statsd Loading
cmds/statsd/src/StatsLogProcessor.cpp +2 −6 Original line number Diff line number Diff line Loading @@ -54,12 +54,8 @@ void StatsLogProcessor::OnLogEvent(const log_msg& msg) { // dump all statsd logs to dropbox for now. // TODO: Add filtering, aggregation, etc. if (err == NO_ERROR) { StatsLogReport logReport; logReport.set_start_report_millis(entry.tv_sec * 1000 + entry.tv_nsec / 1000 / 1000); EventMetricData* eventMetricData = logReport.mutable_event_metrics()->add_data(); *eventMetricData = parse(msg); m_dropbox_writer.addStatsLogReport(logReport); EventMetricData eventMetricData = parse(msg); m_dropbox_writer.addEventMetricData(eventMetricData); } } Loading