Move the histograms that records the release time offset from QuicGsoBatchWriter to QuicBatchWriterBase.
PiperOrigin-RevId: 329583621
Change-Id: I83db4ae90ac0bd7f875b6ffd130d1b1cde13323b
diff --git a/quic/core/batch_writer/quic_batch_writer_base.cc b/quic/core/batch_writer/quic_batch_writer_base.cc
index ade94a7..29cbccc 100644
--- a/quic/core/batch_writer/quic_batch_writer_base.cc
+++ b/quic/core/batch_writer/quic_batch_writer_base.cc
@@ -8,6 +8,7 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_export.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_server_stats.h"
namespace quic {
@@ -39,9 +40,23 @@
return WriteResult(WRITE_STATUS_MSG_TOO_BIG, EMSGSIZE);
}
- ReleaseTime release_time = SupportsReleaseTime()
- ? GetReleaseTime(options)
- : ReleaseTime{0, QuicTime::Delta::Zero()};
+ ReleaseTime release_time{0, QuicTime::Delta::Zero()};
+ if (SupportsReleaseTime()) {
+ release_time = GetReleaseTime(options);
+ if (release_time.release_time_offset >= QuicTime::Delta::Zero()) {
+ QUIC_SERVER_HISTOGRAM_TIMES(
+ "batch_writer_positive_release_time_offset",
+ release_time.release_time_offset.ToMicroseconds(), 1, 100000, 50,
+ "Duration from ideal release time to actual "
+ "release time, in microseconds.");
+ } else {
+ QUIC_SERVER_HISTOGRAM_TIMES(
+ "batch_writer_negative_release_time_offset",
+ -release_time.release_time_offset.ToMicroseconds(), 1, 100000, 50,
+ "Duration from actual release time to ideal "
+ "release time, in microseconds.");
+ }
+ }
const CanBatchResult can_batch_result =
CanBatch(buffer, buf_len, self_address, peer_address, options,
diff --git a/quic/core/batch_writer/quic_gso_batch_writer.cc b/quic/core/batch_writer/quic_gso_batch_writer.cc
index bda5fe2..d83b83b 100644
--- a/quic/core/batch_writer/quic_gso_batch_writer.cc
+++ b/quic/core/batch_writer/quic_gso_batch_writer.cc
@@ -120,18 +120,6 @@
const uint64_t actual_release_time = buffered_writes().back().release_time;
const int64_t offset_ns = actual_release_time - ideal_release_time;
- if (offset_ns >= 0) {
- QUIC_SERVER_HISTOGRAM_TIMES("gso_writer_positive_release_time_offset",
- offset_ns / 1000, 1, 100000, 50,
- "Duration from ideal release time to actual "
- "release time, in microseconds.");
- } else {
- QUIC_SERVER_HISTOGRAM_TIMES("gso_writer_negative_release_time_offset",
- -offset_ns / 1000, 1, 100000, 50,
- "Duration from actual release time to ideal "
- "release time, in microseconds.");
- }
-
ReleaseTime result{actual_release_time,
QuicTime::Delta::FromMicroseconds(offset_ns / 1000)};