From 8a0f0b428c9930909c45fc622684cc7236074570 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Wed, 8 May 2019 12:40:22 -0400 Subject: [PATCH 1/2] http: minor perf fix not copying strings Signed-off-by: Alyssa Wilk --- source/common/router/router.cc | 19 ++++++------------- .../transport_sockets/tls/ssl_socket_test.cc | 6 ++---- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/source/common/router/router.cc b/source/common/router/router.cc index 64659d4c87c40..ddf7d4903da14 100644 --- a/source/common/router/router.cc +++ b/source/common/router/router.cc @@ -216,10 +216,6 @@ void Filter::chargeUpstreamCode(uint64_t response_status_code, const bool internal_request = internal_request_header && internal_request_header->value() == "true"; - // TODO(mattklein123): Remove copy when G string compat issues are fixed. - const std::string zone_name = config_.local_info_.zoneName(); - const std::string upstream_zone = upstreamZone(upstream_host); - Http::CodeStats::ResponseStatInfo info{config_.scope_, cluster_->statsScope(), EMPTY_STRING, @@ -228,8 +224,8 @@ void Filter::chargeUpstreamCode(uint64_t response_status_code, route_entry_->virtualHost().name(), request_vcluster_ ? request_vcluster_->name() : EMPTY_STRING, - zone_name, - upstream_zone, + config_.local_info_.zoneName(), + upstreamZone(upstream_host), is_canary}; Http::CodeStats& code_stats = httpContext().codeStats(); @@ -239,8 +235,8 @@ void Filter::chargeUpstreamCode(uint64_t response_status_code, Http::CodeStats::ResponseStatInfo info{config_.scope_, cluster_->statsScope(), alt_stat_prefix_, response_status_code, internal_request, EMPTY_STRING, - EMPTY_STRING, zone_name, - upstream_zone, is_canary}; + EMPTY_STRING, config_.local_info_.zoneName(), + upstreamZone(upstream_host), is_canary}; code_stats.chargeResponseStat(info); } @@ -884,9 +880,6 @@ void Filter::onUpstreamComplete(UpstreamRequest& upstream_request) { const bool internal_request = internal_request_header && internal_request_header->value() == "true"; - // TODO(mattklein123): Remove copy when G string compat issues are fixed. - const std::string zone_name = config_.local_info_.zoneName(); - Http::CodeStats& code_stats = httpContext().codeStats(); Http::CodeStats::ResponseTimingInfo info{config_.scope_, cluster_->statsScope(), @@ -897,7 +890,7 @@ void Filter::onUpstreamComplete(UpstreamRequest& upstream_request) { route_entry_->virtualHost().name(), request_vcluster_ ? request_vcluster_->name() : EMPTY_STRING, - zone_name, + config_.local_info_.zoneName(), upstreamZone(upstream_request.upstream_host_)}; code_stats.chargeResponseTiming(info); @@ -911,7 +904,7 @@ void Filter::onUpstreamComplete(UpstreamRequest& upstream_request) { internal_request, EMPTY_STRING, EMPTY_STRING, - zone_name, + config_.local_info_.zoneName(), upstreamZone(upstream_request.upstream_host_)}; code_stats.chargeResponseTiming(info); diff --git a/test/extensions/transport_sockets/tls/ssl_socket_test.cc b/test/extensions/transport_sockets/tls/ssl_socket_test.cc index 9709e63a066aa..376fed7c658ef 100644 --- a/test/extensions/transport_sockets/tls/ssl_socket_test.cc +++ b/test/extensions/transport_sockets/tls/ssl_socket_test.cc @@ -538,13 +538,11 @@ const std::string testUtilV2(const TestUtilOptionsV2& options) { Network::MockConnectionCallbacks server_connection_callbacks; EXPECT_CALL(callbacks, onAccept_(_, _)) .WillOnce(Invoke([&](Network::ConnectionSocketPtr& socket, bool) -> void { - // TODO(htuch): remove std::string(..) wrappers when Google's string - // implementation converges with std::string. std::string sni = options.transportSocketOptions() != NULL && options.transportSocketOptions()->serverNameOverride().has_value() - ? std::string(options.transportSocketOptions()->serverNameOverride().value()) - : std::string(options.clientCtxProto().sni()); + ? options.transportSocketOptions()->serverNameOverride().value() + : options.clientCtxProto().sni(); socket->setRequestedServerName(sni); Network::ConnectionPtr new_connection = dispatcher->createServerConnection( std::move(socket), server_ssl_socket_factory.createTransportSocket(nullptr)); From f86847c4f3b9f46df407660a90d0b0d30ed29187 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Wed, 8 May 2019 15:48:04 -0400 Subject: [PATCH 2/2] format Signed-off-by: Alyssa Wilk --- source/common/router/router.cc | 15 ++++++++++----- .../transport_sockets/tls/ssl_socket_test.cc | 9 ++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/source/common/router/router.cc b/source/common/router/router.cc index ddf7d4903da14..bac7d181bef6f 100644 --- a/source/common/router/router.cc +++ b/source/common/router/router.cc @@ -232,11 +232,16 @@ void Filter::chargeUpstreamCode(uint64_t response_status_code, code_stats.chargeResponseStat(info); if (!alt_stat_prefix_.empty()) { - Http::CodeStats::ResponseStatInfo info{config_.scope_, cluster_->statsScope(), - alt_stat_prefix_, response_status_code, - internal_request, EMPTY_STRING, - EMPTY_STRING, config_.local_info_.zoneName(), - upstreamZone(upstream_host), is_canary}; + Http::CodeStats::ResponseStatInfo info{config_.scope_, + cluster_->statsScope(), + alt_stat_prefix_, + response_status_code, + internal_request, + EMPTY_STRING, + EMPTY_STRING, + config_.local_info_.zoneName(), + upstreamZone(upstream_host), + is_canary}; code_stats.chargeResponseStat(info); } diff --git a/test/extensions/transport_sockets/tls/ssl_socket_test.cc b/test/extensions/transport_sockets/tls/ssl_socket_test.cc index 376fed7c658ef..2a3bdaf227edf 100644 --- a/test/extensions/transport_sockets/tls/ssl_socket_test.cc +++ b/test/extensions/transport_sockets/tls/ssl_socket_test.cc @@ -538,11 +538,10 @@ const std::string testUtilV2(const TestUtilOptionsV2& options) { Network::MockConnectionCallbacks server_connection_callbacks; EXPECT_CALL(callbacks, onAccept_(_, _)) .WillOnce(Invoke([&](Network::ConnectionSocketPtr& socket, bool) -> void { - std::string sni = - options.transportSocketOptions() != NULL && - options.transportSocketOptions()->serverNameOverride().has_value() - ? options.transportSocketOptions()->serverNameOverride().value() - : options.clientCtxProto().sni(); + std::string sni = options.transportSocketOptions() != NULL && + options.transportSocketOptions()->serverNameOverride().has_value() + ? options.transportSocketOptions()->serverNameOverride().value() + : options.clientCtxProto().sni(); socket->setRequestedServerName(sni); Network::ConnectionPtr new_connection = dispatcher->createServerConnection( std::move(socket), server_ssl_socket_factory.createTransportSocket(nullptr));