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)};