Internal QUICHE change
PiperOrigin-RevId: 243129330
Change-Id: If138c05a357c9db30160e31b0238a7d29992ff0f
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 01d6feb..d857572 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -16,6 +16,7 @@
#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_map_util.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_server_stats.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_stack_trace.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_str_cat.h"
@@ -288,10 +289,30 @@
<< ", " << message;
}
+// static
+void QuicSession::RecordConnectionCloseAtServer(QuicErrorCode error,
+ ConnectionCloseSource source) {
+ if (error != QUIC_NO_ERROR) {
+ if (source == ConnectionCloseSource::FROM_SELF) {
+ QUIC_SERVER_HISTOGRAM_ENUM(
+ "quic_server_connection_close_errors", error, QUIC_LAST_ERROR,
+ "QuicErrorCode for server-closed connections.");
+ } else {
+ QUIC_SERVER_HISTOGRAM_ENUM(
+ "quic_client_connection_close_errors", error, QUIC_LAST_ERROR,
+ "QuicErrorCode for client-closed connections.");
+ }
+ }
+}
+
void QuicSession::OnConnectionClosed(QuicErrorCode error,
const std::string& error_details,
ConnectionCloseSource source) {
DCHECK(!connection_->connected());
+ if (perspective() == Perspective::IS_SERVER) {
+ RecordConnectionCloseAtServer(error, source);
+ }
+
if (error_ == QUIC_NO_ERROR) {
error_ = error;
}