diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index f9ea4bc9f..bc3952b06 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -1,7 +1,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -ENVOY_COMMIT = "c34b82f261be45f60a4df8e40937f4066d20797b" # March 18th, 2020 -ENVOY_SHA = "e64eeffce4d29cde2ca6b74956c0142cbe3b80259a754810001e19d841b64b99" +ENVOY_COMMIT = "631a009406c15c778a5571cde99eb8a3039ba7b1" # March 26th, 2020 +ENVOY_SHA = "926fb5875b88a82b58653b6511129aaa5665ab04e1deb70d3afc9ad99866744d" RULES_PYTHON_COMMIT = "dd7f9c5f01bafbfea08c44092b6b0c8fc8fcb77f" # Feb 22nd, 2020 RULES_PYTHON_SHA = "0aa9ec790a58053e3ab5af397879b267a625955f8297c239b2d8559c6773397b" diff --git a/include/nighthawk/client/factories.h b/include/nighthawk/client/factories.h index d2e6b35a5..56d619029 100644 --- a/include/nighthawk/client/factories.h +++ b/include/nighthawk/client/factories.h @@ -27,7 +27,7 @@ class BenchmarkClientFactory { virtual BenchmarkClientPtr create(Envoy::Api::Api& api, Envoy::Event::Dispatcher& dispatcher, Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManagerPtr& cluster_manager, - Envoy::Tracing::HttpTracerPtr& http_tracer, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, absl::string_view cluster_name, RequestSource& request_generator) const PURE; }; diff --git a/source/client/benchmark_client_impl.cc b/source/client/benchmark_client_impl.cc index 8a1bc425f..6b816bc00 100644 --- a/source/client/benchmark_client_impl.cc +++ b/source/client/benchmark_client_impl.cc @@ -95,7 +95,7 @@ BenchmarkClientHttpImpl::BenchmarkClientHttpImpl( StatisticPtr&& connect_statistic, StatisticPtr&& response_statistic, StatisticPtr&& response_header_size_statistic, StatisticPtr&& response_body_size_statistic, bool use_h2, Envoy::Upstream::ClusterManagerPtr& cluster_manager, - Envoy::Tracing::HttpTracerPtr& http_tracer, absl::string_view cluster_name, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, absl::string_view cluster_name, RequestGenerator request_generator, const bool provide_resource_backpressure) : api_(api), dispatcher_(dispatcher), scope_(scope.createScope("benchmark.")), connect_statistic_(std::move(connect_statistic)), diff --git a/source/client/benchmark_client_impl.h b/source/client/benchmark_client_impl.h index 69c580eb6..2a42aebdf 100644 --- a/source/client/benchmark_client_impl.h +++ b/source/client/benchmark_client_impl.h @@ -120,7 +120,7 @@ class BenchmarkClientHttpImpl : public BenchmarkClient, StatisticPtr&& response_header_size_statistic, StatisticPtr&& response_body_size_statistic, bool use_h2, Envoy::Upstream::ClusterManagerPtr& cluster_manager, - Envoy::Tracing::HttpTracerPtr& http_tracer, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, absl::string_view cluster_name, RequestGenerator request_generator, const bool provide_resource_backpressure); void setConnectionLimit(uint32_t connection_limit) { connection_limit_ = connection_limit; } @@ -178,7 +178,7 @@ class BenchmarkClientHttpImpl : public BenchmarkClient, bool measure_latencies_{}; BenchmarkClientStats benchmark_client_stats_; Envoy::Upstream::ClusterManagerPtr& cluster_manager_; - Envoy::Tracing::HttpTracerPtr& http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr& http_tracer_; std::string cluster_name_; const RequestGenerator request_generator_; const bool provide_resource_backpressure_; diff --git a/source/client/client_worker_impl.cc b/source/client/client_worker_impl.cc index e1eae9c08..e4231bc87 100644 --- a/source/client/client_worker_impl.cc +++ b/source/client/client_worker_impl.cc @@ -20,7 +20,7 @@ ClientWorkerImpl::ClientWorkerImpl(Envoy::Api::Api& api, Envoy::ThreadLocal::Ins const RequestSourceFactory& request_generator_factory, Envoy::Stats::Store& store, const int worker_number, const Envoy::MonotonicTime starting_time, - Envoy::Tracing::HttpTracerPtr& http_tracer, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, const HardCodedWarmupStyle hardcoded_warmup_style) : WorkerImpl(api, tls, store), time_source_(std::make_unique(*dispatcher_)), diff --git a/source/client/client_worker_impl.h b/source/client/client_worker_impl.h index ded0a9d9b..05f2fcb35 100644 --- a/source/client/client_worker_impl.h +++ b/source/client/client_worker_impl.h @@ -34,7 +34,7 @@ class ClientWorkerImpl : public WorkerImpl, virtual public ClientWorker { const RequestSourceFactory& request_generator_factory, Envoy::Stats::Store& store, const int worker_number, const Envoy::MonotonicTime starting_time, - Envoy::Tracing::HttpTracerPtr& http_tracer, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, const HardCodedWarmupStyle hardcoded_warmup_style); StatisticPtrMap statistics() const override; @@ -58,7 +58,7 @@ class ClientWorkerImpl : public WorkerImpl, virtual public ClientWorker { Envoy::Stats::ScopePtr worker_scope_; Envoy::Stats::ScopePtr worker_number_scope_; const int worker_number_; - Envoy::Tracing::HttpTracerPtr& http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr& http_tracer_; RequestSourcePtr request_generator_; BenchmarkClientPtr benchmark_client_; PhasePtr phase_; diff --git a/source/client/factories_impl.cc b/source/client/factories_impl.cc index 2c7ac533b..fe8516cc4 100644 --- a/source/client/factories_impl.cc +++ b/source/client/factories_impl.cc @@ -27,8 +27,9 @@ BenchmarkClientFactoryImpl::BenchmarkClientFactoryImpl(const Options& options) BenchmarkClientPtr BenchmarkClientFactoryImpl::create( Envoy::Api::Api& api, Envoy::Event::Dispatcher& dispatcher, Envoy::Stats::Scope& scope, - Envoy::Upstream::ClusterManagerPtr& cluster_manager, Envoy::Tracing::HttpTracerPtr& http_tracer, - absl::string_view cluster_name, RequestSource& request_generator) const { + Envoy::Upstream::ClusterManagerPtr& cluster_manager, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, absl::string_view cluster_name, + RequestSource& request_generator) const { StatisticFactoryImpl statistic_factory(options_); // While we lack options to configure which statistic backend goes where, we directly pass // StreamingStatistic for the stats that track response sizes. Ideally we would have options diff --git a/source/client/factories_impl.h b/source/client/factories_impl.h index 3605739f5..928b63f99 100644 --- a/source/client/factories_impl.h +++ b/source/client/factories_impl.h @@ -30,7 +30,7 @@ class BenchmarkClientFactoryImpl : public OptionBasedFactoryImpl, public Benchma BenchmarkClientPtr create(Envoy::Api::Api& api, Envoy::Event::Dispatcher& dispatcher, Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManagerPtr& cluster_manager, - Envoy::Tracing::HttpTracerPtr& http_tracer, + Envoy::Tracing::HttpTracerSharedPtr& http_tracer, absl::string_view cluster_name, RequestSource& request_generator) const override; }; diff --git a/source/client/process_impl.h b/source/client/process_impl.h index 9d0420990..c5226ef99 100644 --- a/source/client/process_impl.h +++ b/source/client/process_impl.h @@ -127,7 +127,7 @@ class ProcessImpl : public Process, public Envoy::Logger::Loggable runtime_singleton_; Envoy::Init::WatcherImpl init_watcher_; - Tracing::HttpTracerPtr http_tracer_; + Tracing::HttpTracerSharedPtr http_tracer_; Envoy::Server::ValidationAdmin admin_; Envoy::ProtobufMessage::ProdValidationContextImpl validation_context_; bool shutdown_{true}; diff --git a/source/client/stream_decoder.h b/source/client/stream_decoder.h index e0a178227..9608bbc66 100644 --- a/source/client/stream_decoder.h +++ b/source/client/stream_decoder.h @@ -43,7 +43,7 @@ class StreamDecoder : public Envoy::Http::ResponseDecoder, Statistic& latency_statistic, Statistic& response_header_sizes_statistic, Statistic& response_body_sizes_statistic, HeaderMapPtr request_headers, bool measure_latencies, uint32_t request_body_size, std::string x_request_id, - Envoy::Tracing::HttpTracerPtr& http_tracer) + Envoy::Tracing::HttpTracerSharedPtr& http_tracer) : dispatcher_(dispatcher), time_source_(time_source), decoder_completion_callback_(decoder_completion_callback), caller_completion_callback_(std::move(caller_completion_callback)), @@ -110,7 +110,7 @@ class StreamDecoder : public Envoy::Http::ResponseDecoder, const uint32_t request_body_size_; Envoy::Tracing::EgressConfigImpl config_; Envoy::StreamInfo::StreamInfoImpl stream_info_; - Envoy::Tracing::HttpTracerPtr& http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr& http_tracer_; Envoy::Tracing::SpanPtr active_span_; Envoy::StreamInfo::UpstreamTiming upstream_timing_; }; diff --git a/test/benchmark_http_client_test.cc b/test/benchmark_http_client_test.cc index d7b7073c7..ee70c66f2 100644 --- a/test/benchmark_http_client_test.cc +++ b/test/benchmark_http_client_test.cc @@ -154,7 +154,7 @@ class BenchmarkClientHttpTest : public Test { NiceMock stream_encoder_; Envoy::Upstream::MockThreadLocalCluster thread_local_cluster_; Envoy::Upstream::ClusterInfoConstSharedPtr cluster_info_; - Envoy::Tracing::HttpTracerPtr http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr http_tracer_; std::string response_code_; RequestGenerator request_generator_; }; diff --git a/test/client_worker_test.cc b/test/client_worker_test.cc index 6867ceb82..21240f234 100644 --- a/test/client_worker_test.cc +++ b/test/client_worker_test.cc @@ -102,7 +102,7 @@ class ClientWorkerTest : public Test { Envoy::Init::MockManager init_manager_; NiceMock validation_visitor_; Envoy::Upstream::ClusterManagerPtr cluster_manager_ptr_; - Envoy::Tracing::HttpTracerPtr http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr http_tracer_; }; TEST_F(ClientWorkerTest, BasicTest) { diff --git a/test/factories_test.cc b/test/factories_test.cc index 966e472f5..2f82f96e5 100644 --- a/test/factories_test.cc +++ b/test/factories_test.cc @@ -29,7 +29,7 @@ class FactoriesTest : public Test { Envoy::Stats::MockIsolatedStatsStore stats_store_; Envoy::Event::MockDispatcher dispatcher_; MockOptions options_; - Envoy::Tracing::HttpTracerPtr http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr http_tracer_; }; TEST_F(FactoriesTest, CreateBenchmarkClient) { diff --git a/test/mocks/client/mock_benchmark_client_factory.h b/test/mocks/client/mock_benchmark_client_factory.h index b3b69b708..d67db595c 100644 --- a/test/mocks/client/mock_benchmark_client_factory.h +++ b/test/mocks/client/mock_benchmark_client_factory.h @@ -17,7 +17,7 @@ class MockBenchmarkClientFactory : public BenchmarkClientFactory { MOCK_CONST_METHOD7(create, BenchmarkClientPtr(Envoy::Api::Api&, Envoy::Event::Dispatcher&, Envoy::Stats::Scope&, Envoy::Upstream::ClusterManagerPtr&, - Envoy::Tracing::HttpTracerPtr&, absl::string_view, + Envoy::Tracing::HttpTracerSharedPtr&, absl::string_view, RequestSource& request_generator)); }; diff --git a/test/stream_decoder_test.cc b/test/stream_decoder_test.cc index 8a80e232b..b1703d01d 100644 --- a/test/stream_decoder_test.cc +++ b/test/stream_decoder_test.cc @@ -53,7 +53,7 @@ class StreamDecoderTest : public Test, public StreamDecoderCompletionCallback { HeaderMapPtr request_headers_; uint64_t stream_decoder_completion_callbacks_{0}; uint64_t pool_failures_{0}; - Envoy::Tracing::HttpTracerPtr http_tracer_; + Envoy::Tracing::HttpTracerSharedPtr http_tracer_; Envoy::Http::ResponseHeaderMapPtr test_header_; Envoy::Http::ResponseTrailerMapPtr test_trailer_; };