gfe-relnote: In GFE, export number of QUIC packets written per write operation. Protected by FLAGS_quic_export_server_num_packets_per_write_histogram.
PiperOrigin-RevId: 249251940
Change-Id: Ie92306bb1d10dec11c2801353026b363f3046d81
diff --git a/quic/core/quic_packet_generator.cc b/quic/core/quic_packet_generator.cc
index f490900..6f578f5 100644
--- a/quic/core/quic_packet_generator.cc
+++ b/quic/core/quic_packet_generator.cc
@@ -14,6 +14,7 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_server_stats.h"
namespace quic {
@@ -317,6 +318,9 @@
void QuicPacketGenerator::AttachPacketFlusher() {
flusher_attached_ = true;
+ if (!write_start_packet_number_.IsInitialized()) {
+ write_start_packet_number_ = packet_creator_.NextSendingPacketNumber();
+ }
}
void QuicPacketGenerator::Flush() {
@@ -324,6 +328,17 @@
packet_creator_.Flush();
SendRemainingPendingPadding();
flusher_attached_ = false;
+ if (GetQuicFlag(FLAGS_quic_export_server_num_packets_per_write_histogram)) {
+ if (!write_start_packet_number_.IsInitialized()) {
+ QUIC_BUG << "write_start_packet_number is not initialized";
+ return;
+ }
+ QUIC_SERVER_HISTOGRAM_COUNTS(
+ "quic_server_num_written_packets_per_write",
+ packet_creator_.NextSendingPacketNumber() - write_start_packet_number_,
+ 1, 200, 50, "Number of QUIC packets written per write operation");
+ }
+ write_start_packet_number_.Clear();
}
void QuicPacketGenerator::FlushAllQueuedFrames() {