Merge branch 'master' into UpdateOtelApiToAddStatus

pull/35659/head
Yash Tibrewal 1 year ago
commit 07d3f41b8a
  1. 189
      CMakeLists.txt
  2. 12
      bazel/experiments.bzl
  3. 143
      build_autogenerated.yaml
  4. 3
      include/grpcpp/ext/csm_observability.h
  5. 2
      src/core/lib/experiments/experiments.cc
  6. 3
      src/core/lib/experiments/experiments.h
  7. 12
      src/core/lib/experiments/experiments.yaml
  8. 2
      src/core/lib/experiments/rollouts.yaml
  9. 3
      src/cpp/ext/csm/csm_observability.cc
  10. 12
      src/objective-c/BoringSSL-GRPC.podspec
  11. 20
      templates/src/objective-c/BoringSSL-GRPC.podspec.template
  12. 9
      test/cpp/ext/csm/csm_observability_test.cc
  13. 11
      test/cpp/ext/filters/census/stats_plugin_end2end_test.cc
  14. 3
      test/cpp/interop/xds_interop_client.cc
  15. 3
      test/cpp/interop/xds_interop_server.cc
  16. 1
      tools/buildgen/extract_metadata_from_bazel_xml.py
  17. 54
      tools/run_tests/generated/tests.json

189
CMakeLists.txt generated

@ -823,12 +823,6 @@ protobuf_generate_grpc_cpp_with_import_path_correction(
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/wrr_locality.proto src/proto/grpc/testing/xds/v3/wrr_locality.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
test/core/end2end/fuzzers/api_fuzzer.proto test/core/end2end/fuzzers/api_fuzzer.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
test/core/end2end/fuzzers/fuzzer_input.proto test/core/end2end/fuzzers/fuzzer_input.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto
)
@ -841,9 +835,6 @@ protobuf_generate_grpc_cpp_with_import_path_correction(
protobuf_generate_grpc_cpp_with_import_path_correction(
test/core/util/fuzz_config_vars.proto test/core/util/fuzz_config_vars.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
test/core/util/fuzzing_channel_args.proto test/core/util/fuzzing_channel_args.proto
)
if(gRPC_BUILD_TESTS)
add_custom_target(buildtests_c)
@ -1344,12 +1335,6 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx server_context_test_spouse_test)
add_dependencies(buildtests_cxx server_early_return_test)
add_dependencies(buildtests_cxx server_finishes_request_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx server_fuzzer_chaotic_good)
endif()
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx server_fuzzer_chttp2)
endif()
add_dependencies(buildtests_cxx server_interceptors_end2end_test)
add_dependencies(buildtests_cxx server_registered_method_bad_client_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@ -26061,180 +26046,6 @@ target_link_libraries(server_finishes_request_test
)
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(server_fuzzer_chaotic_good
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.grpc.pb.h
src/core/ext/transport/chaotic_good/frame.cc
src/core/ext/transport/chaotic_good/frame_header.cc
src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc
src/core/ext/transport/chaotic_good/settings_metadata.cc
src/core/lib/transport/promise_endpoint.cc
test/core/end2end/fuzzers/fuzzing_common.cc
test/core/end2end/fuzzers/network_input.cc
test/core/end2end/fuzzers/server_fuzzer.cc
test/core/end2end/fuzzers/server_fuzzer_chaotic_good.cc
test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
test/core/util/cmdline.cc
test/core/util/fuzz_config_vars.cc
test/core/util/fuzz_config_vars_helpers.cc
test/core/util/fuzzer_corpus_test.cc
test/core/util/fuzzer_util.cc
test/core/util/fuzzing_channel_args.cc
test/core/util/grpc_profiler.cc
test/core/util/histogram.cc
test/core/util/mock_endpoint.cc
test/core/util/parse_hexstring.cc
test/core/util/passthru_endpoint.cc
test/core/util/resolve_localhost_ip46.cc
test/core/util/slice_splitter.cc
test/core/util/tracer_util.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
target_compile_definitions(server_fuzzer_chaotic_good
PRIVATE
"GPR_DLL_IMPORTS"
"GRPC_DLL_IMPORTS"
)
endif()
endif()
target_compile_features(server_fuzzer_chaotic_good PUBLIC cxx_std_14)
target_include_directories(server_fuzzer_chaotic_good
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(server_fuzzer_chaotic_good
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
${_gRPC_PROTOBUF_LIBRARIES}
grpc_test_util
grpc++_test_config
)
endif()
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(server_fuzzer_chttp2
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/api_fuzzer.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/end2end/fuzzers/fuzzer_input.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzz_config_vars.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.pb.h
${_gRPC_PROTO_GENS_DIR}/test/core/util/fuzzing_channel_args.grpc.pb.h
src/core/ext/transport/chaotic_good/frame_header.cc
test/core/end2end/fuzzers/fuzzing_common.cc
test/core/end2end/fuzzers/network_input.cc
test/core/end2end/fuzzers/server_fuzzer.cc
test/core/end2end/fuzzers/server_fuzzer_chttp2.cc
test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
test/core/util/cmdline.cc
test/core/util/fuzz_config_vars.cc
test/core/util/fuzz_config_vars_helpers.cc
test/core/util/fuzzer_corpus_test.cc
test/core/util/fuzzer_util.cc
test/core/util/fuzzing_channel_args.cc
test/core/util/grpc_profiler.cc
test/core/util/histogram.cc
test/core/util/mock_endpoint.cc
test/core/util/parse_hexstring.cc
test/core/util/passthru_endpoint.cc
test/core/util/resolve_localhost_ip46.cc
test/core/util/slice_splitter.cc
test/core/util/tracer_util.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
target_compile_definitions(server_fuzzer_chttp2
PRIVATE
"GPR_DLL_IMPORTS"
"GRPC_DLL_IMPORTS"
)
endif()
endif()
target_compile_features(server_fuzzer_chttp2 PUBLIC cxx_std_14)
target_include_directories(server_fuzzer_chttp2
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(server_fuzzer_chttp2
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
${_gRPC_PROTOBUF_LIBRARIES}
grpc_test_util
grpc++_test_config
)
endif()
endif()
if(gRPC_BUILD_TESTS)

@ -218,9 +218,6 @@ EXPERIMENTS = {
"bad_client_test": [
"rfc_max_concurrent_streams",
],
"cancel_ares_query_test": [
"event_engine_dns",
],
"compression_test": [
"v3_compression_filter",
],
@ -257,9 +254,6 @@ EXPERIMENTS = {
"logging_test": [
"promise_based_server_call",
],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"resource_quota_test": [
"free_large_allocator",
"unconstrained_max_quota_buffer_size",
@ -270,6 +264,9 @@ EXPERIMENTS = {
],
},
"on": {
"cancel_ares_query_test": [
"event_engine_dns",
],
"core_end2end_test": [
"event_engine_listener",
],
@ -290,6 +287,9 @@ EXPERIMENTS = {
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"surface_registered_method_lookup": [
"registered_method_lookup_in_transport",
],

@ -15358,149 +15358,6 @@ targets:
- grpc_authorization_provider
- grpc_unsecure
- grpc_test_util
- name: server_fuzzer_chaotic_good
gtest: true
build: test
language: c++
headers:
- src/core/ext/transport/chaotic_good/frame.h
- src/core/ext/transport/chaotic_good/frame_header.h
- src/core/ext/transport/chaotic_good/server/chaotic_good_server.h
- src/core/ext/transport/chaotic_good/settings_metadata.h
- src/core/lib/promise/event_engine_wakeup_scheduler.h
- src/core/lib/promise/inter_activity_latch.h
- src/core/lib/promise/wait_set.h
- src/core/lib/transport/promise_endpoint.h
- test/core/end2end/fuzzers/fuzzing_common.h
- test/core/end2end/fuzzers/network_input.h
- test/core/end2end/fuzzers/server_fuzzer.h
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h
- test/core/util/cmdline.h
- test/core/util/evaluate_args_test_util.h
- test/core/util/fuzz_config_vars.h
- test/core/util/fuzz_config_vars_helpers.h
- test/core/util/fuzzer_util.h
- test/core/util/fuzzing_channel_args.h
- test/core/util/grpc_profiler.h
- test/core/util/histogram.h
- test/core/util/mock_authorization_endpoint.h
- test/core/util/mock_endpoint.h
- test/core/util/parse_hexstring.h
- test/core/util/passthru_endpoint.h
- test/core/util/resolve_localhost_ip46.h
- test/core/util/slice_splitter.h
- test/core/util/tracer_util.h
src:
- test/core/end2end/fuzzers/api_fuzzer.proto
- test/core/end2end/fuzzers/fuzzer_input.proto
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto
- test/core/util/fuzz_config_vars.proto
- test/core/util/fuzzing_channel_args.proto
- src/core/ext/transport/chaotic_good/frame.cc
- src/core/ext/transport/chaotic_good/frame_header.cc
- src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc
- src/core/ext/transport/chaotic_good/settings_metadata.cc
- src/core/lib/transport/promise_endpoint.cc
- test/core/end2end/fuzzers/fuzzing_common.cc
- test/core/end2end/fuzzers/network_input.cc
- test/core/end2end/fuzzers/server_fuzzer.cc
- test/core/end2end/fuzzers/server_fuzzer_chaotic_good.cc
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
- test/core/util/cmdline.cc
- test/core/util/fuzz_config_vars.cc
- test/core/util/fuzz_config_vars_helpers.cc
- test/core/util/fuzzer_corpus_test.cc
- test/core/util/fuzzer_util.cc
- test/core/util/fuzzing_channel_args.cc
- test/core/util/grpc_profiler.cc
- test/core/util/histogram.cc
- test/core/util/mock_endpoint.cc
- test/core/util/parse_hexstring.cc
- test/core/util/passthru_endpoint.cc
- test/core/util/resolve_localhost_ip46.cc
- test/core/util/slice_splitter.cc
- test/core/util/tracer_util.cc
deps:
- gtest
- protobuf
- grpc_test_util
- grpc++_test_config
args:
- test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus
- -runs=20000
- -max_total_time=300
- --directory=test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus
platforms:
- linux
- posix
- mac
uses_polling: false
- name: server_fuzzer_chttp2
gtest: true
build: test
language: c++
headers:
- src/core/ext/transport/chaotic_good/frame_header.h
- test/core/end2end/fuzzers/fuzzing_common.h
- test/core/end2end/fuzzers/network_input.h
- test/core/end2end/fuzzers/server_fuzzer.h
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h
- test/core/util/cmdline.h
- test/core/util/evaluate_args_test_util.h
- test/core/util/fuzz_config_vars.h
- test/core/util/fuzz_config_vars_helpers.h
- test/core/util/fuzzer_util.h
- test/core/util/fuzzing_channel_args.h
- test/core/util/grpc_profiler.h
- test/core/util/histogram.h
- test/core/util/mock_authorization_endpoint.h
- test/core/util/mock_endpoint.h
- test/core/util/parse_hexstring.h
- test/core/util/passthru_endpoint.h
- test/core/util/resolve_localhost_ip46.h
- test/core/util/slice_splitter.h
- test/core/util/tracer_util.h
src:
- test/core/end2end/fuzzers/api_fuzzer.proto
- test/core/end2end/fuzzers/fuzzer_input.proto
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto
- test/core/util/fuzz_config_vars.proto
- test/core/util/fuzzing_channel_args.proto
- src/core/ext/transport/chaotic_good/frame_header.cc
- test/core/end2end/fuzzers/fuzzing_common.cc
- test/core/end2end/fuzzers/network_input.cc
- test/core/end2end/fuzzers/server_fuzzer.cc
- test/core/end2end/fuzzers/server_fuzzer_chttp2.cc
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
- test/core/util/cmdline.cc
- test/core/util/fuzz_config_vars.cc
- test/core/util/fuzz_config_vars_helpers.cc
- test/core/util/fuzzer_corpus_test.cc
- test/core/util/fuzzer_util.cc
- test/core/util/fuzzing_channel_args.cc
- test/core/util/grpc_profiler.cc
- test/core/util/histogram.cc
- test/core/util/mock_endpoint.cc
- test/core/util/parse_hexstring.cc
- test/core/util/passthru_endpoint.cc
- test/core/util/resolve_localhost_ip46.cc
- test/core/util/slice_splitter.cc
- test/core/util/tracer_util.cc
deps:
- gtest
- protobuf
- grpc_test_util
- grpc++_test_config
args:
- test/core/end2end/fuzzers/server_fuzzer_chttp2_corpus
- -runs=20000
- -max_total_time=300
- --directory=test/core/end2end/fuzzers/server_fuzzer_chttp2_corpus
platforms:
- linux
- posix
- mac
uses_polling: false
- name: server_interceptors_end2end_test
gtest: true
build: test

@ -90,8 +90,6 @@ class CsmObservabilityBuilder {
std::unique_ptr<grpc::internal::OpenTelemetryPluginBuilderImpl> builder_;
};
} // namespace experimental
/// Creates an OpenTelemetryPluginOption that would add additional labels on
/// gRPC metrics to enhance observability for CSM users.
///
@ -102,6 +100,7 @@ class CsmObservabilityBuilder {
/// .BuildAndRegisterGlobal();
std::unique_ptr<OpenTelemetryPluginOption> MakeCsmOpenTelemetryPluginOption();
} // namespace experimental
} // namespace grpc
#endif // GRPCPP_EXT_CSM_OBSERVABILITY_H

@ -717,7 +717,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"event_engine_client", description_event_engine_client,
additional_constraints_event_engine_client, nullptr, 0, false, true},
{"event_engine_dns", description_event_engine_dns,
additional_constraints_event_engine_dns, nullptr, 0, false, false},
additional_constraints_event_engine_dns, nullptr, 0, true, false},
{"event_engine_listener", description_event_engine_listener,
additional_constraints_event_engine_listener, nullptr, 0, true, true},
{"free_large_allocator", description_free_large_allocator,

@ -195,7 +195,8 @@ inline bool IsCanaryClientPrivacyEnabled() { return false; }
inline bool IsClientIdlenessEnabled() { return true; }
inline bool IsClientPrivacyEnabled() { return false; }
inline bool IsEventEngineClientEnabled() { return false; }
inline bool IsEventEngineDnsEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
inline bool IsEventEngineDnsEnabled() { return true; }
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
inline bool IsEventEngineListenerEnabled() { return true; }
inline bool IsFreeLargeAllocatorEnabled() { return false; }

@ -41,7 +41,7 @@
description:
Avoid overriding call status of successfully finished calls if it races with
cancellation.
expiry: 2024/01/01
expiry: 2024/04/01
owner: vigneshbabu@google.com
test_tags: []
- name: canary_client_privacy
@ -123,7 +123,7 @@
If set, the max sizes of frames sent to lower layers is controlled based
on the peer's memory pressure which is reflected in its max http2 frame
size.
expiry: 2024/01/01
expiry: 2024/08/01
owner: vigneshbabu@google.com
test_tags: ["flow_control_test"]
- name: pending_queue_cap
@ -200,7 +200,7 @@
test_tags: [flow_control_test]
- name: schedule_cancellation_over_write
description: Allow cancellation op to be scheduled over a write
expiry: 2024/01/01
expiry: 2024/04/01
owner: vigneshbabu@google.com
test_tags: []
- name: server_privacy
@ -216,17 +216,17 @@
TCP would not indicate completion of a read operation until a specified
number of bytes have been read over the socket.
Buffers are also allocated according to estimated RPC sizes.
expiry: 2024/01/01
expiry: 2024/08/01
owner: vigneshbabu@google.com
test_tags: ["endpoint_test", "flow_control_test"]
- name: tcp_rcv_lowat
description: Use SO_RCVLOWAT to avoid wakeups on the read path.
expiry: 2024/01/01
expiry: 2024/08/01
owner: vigneshbabu@google.com
test_tags: ["endpoint_test", "flow_control_test"]
- name: trace_record_callops
description: Enables tracing of call batch initiation and completion.
expiry: 2024/01/01
expiry: 2024/04/01
owner: vigneshbabu@google.com
test_tags: []
- name: unconstrained_max_quota_buffer_size

@ -60,7 +60,7 @@
default:
# not tested on iOS at all
ios: broken
posix: false
posix: true
# TODO(yijiem): resolve when the WindowsEventEngine DNS Resolver is
# implemented
windows: broken

@ -144,10 +144,9 @@ absl::StatusOr<CsmObservability> CsmObservabilityBuilder::BuildAndRegister() {
return CsmObservability();
}
} // namespace experimental
std::unique_ptr<OpenTelemetryPluginOption> MakeCsmOpenTelemetryPluginOption() {
return std::make_unique<grpc::internal::CsmOpenTelemetryPluginOption>();
}
} // namespace experimental
} // namespace grpc

@ -124,7 +124,7 @@ Pod::Spec.new do |s|
ss.header_mappings_dir = 'src'
ss.resource_bundles = {
s.module_name => 'src/objective-c/PrivacyInfo.xcprivacy'
s.module_name => 'src/PrivacyInfo.xcprivacy'
}
ss.source_files = 'src/ssl/*.{h,c,cc}',
@ -691,6 +691,16 @@ Pod::Spec.new do |s|
zwQA
EOF
# PrivacyInfo.xcprivacy is not part of BoringSSL repo, inject it during pod installation
base64 --decode $opts <<EOF | gunzip > src/PrivacyInfo.xcprivacy
H4sICAAAAAAC/1ByaXZhY3lJbmZvLnhjcHJpdmFjeQC1kl9PwjAUxZ/Hp6h9Z1di/JsxAhskJAQXGQ8+
Nt0VG7a1aRuw395OHUhE8UHflrNzzj2/pNHgpSrJBrURsu7TXnhOCdZcFqJe9ekyn3Rv6CDuRGfpfZI/
ZmOiSmEsyZaj2TQhtAswVKpEgDRPSTabLnLiOwDGc0ros7XqDmC73YascYVcVo3RQKalQm3dzJd1fSAs
bEH9mff2gzleLQS3cSeI1uji+SLTYsO4yzXja78ygkb2f59YaRC++BJZlsgtFimzLHcKzS7BtGYOvm1O
ZcVEfdI+5ByNwWKYTY/U+4+gBQh+TrZBbzNW+wFHnQmzuJLaTUSJuajQWFapCD4SJ488IDNyDxV8mrm/
m1z1rsPeYSnscaDl+RewhTMWq5GUtsH7Y7KLy8ntL8h2WqtE8PY0484rAb5xoDEDAAA=
EOF
# We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists
find . -type f \\( -path '*.h' -or -path '*.cc' -or -path '*.c' \\) -print0 | xargs -0 -L1 sed -E -i'.grpc_back' 's;#include <openssl/;#include <openssl_grpc/;g'

@ -17,13 +17,14 @@
# bytes from this file, then delete the intermediate file.
#
# TODO(mxyan): move to python3 style gzip compression when possible
def compress_boringssl_prefix_header():
def compress_and_encode_file(filepath):
gzip_filepath = filepath + '.gz'
import gzip, shutil, os, base64
with open('src/boringssl/boringssl_prefix_symbols.h', 'rb') as f_in, gzip.GzipFile('src/boringssl/boringssl_prefix_symbols.h.gz', 'w', mtime=0.0) as f_out:
with open(filepath, 'rb') as f_in, gzip.GzipFile(gzip_filepath, 'w', mtime=0.0) as f_out:
shutil.copyfileobj(f_in, f_out)
with open('src/boringssl/boringssl_prefix_symbols.h.gz', 'rb') as f_in:
with open(gzip_filepath, 'rb') as f_in:
prefix_gz = f_in.read()
os.remove('src/boringssl/boringssl_prefix_symbols.h.gz')
os.remove(gzip_filepath)
prefix_gz_b64 = base64.b64encode(prefix_gz)
WRAP_LENGTH=80
prefix_gz_b64_wrapped = [prefix_gz_b64[i:i+WRAP_LENGTH] for i in range(0, len(prefix_gz_b64), WRAP_LENGTH)]
@ -154,7 +155,7 @@
ss.header_mappings_dir = 'src'
ss.resource_bundles = {
s.module_name => 'src/objective-c/PrivacyInfo.xcprivacy'
s.module_name => 'src/PrivacyInfo.xcprivacy'
}
ss.source_files = 'src/ssl/*.{h,c,cc}',
@ -205,7 +206,14 @@
*) opts="--ignore-garbage" ;;
esac
base64 --decode $opts <<EOF | gunzip > src/include/openssl/boringssl_prefix_symbols.h
% for line in compress_boringssl_prefix_header():
% for line in compress_and_encode_file('src/boringssl/boringssl_prefix_symbols.h'):
${line.decode('utf-8')}
% endfor
EOF
# PrivacyInfo.xcprivacy is not part of BoringSSL repo, inject it during pod installation
base64 --decode $opts <<EOF | gunzip > src/PrivacyInfo.xcprivacy
% for line in compress_and_encode_file('src/objective-c/PrivacyInfo.xcprivacy'):
${line.decode('utf-8')}
% endfor
EOF

@ -64,10 +64,11 @@ TEST(CsmChannelTargetSelectorTest, XdsTargetsWithTDAuthority) {
}
TEST(CsmPluginOptionTest, Basic) {
EXPECT_EQ(OpenTelemetryPluginBuilder()
.AddPluginOption(MakeCsmOpenTelemetryPluginOption())
.BuildAndRegisterGlobal(),
absl::OkStatus());
EXPECT_EQ(
OpenTelemetryPluginBuilder()
.AddPluginOption(experimental::MakeCsmOpenTelemetryPluginOption())
.BuildAndRegisterGlobal(),
absl::OkStatus());
}
} // namespace

@ -32,6 +32,7 @@
#include <grpc++/grpc++.h>
#include <grpcpp/opencensus.h>
#include "src/core/lib/experiments/experiments.h"
#include "src/cpp/ext/filters/census/context.h"
#include "src/cpp/ext/filters/census/grpc_plugin.h"
#include "src/cpp/ext/filters/census/open_census_call_tracer.h"
@ -662,8 +663,14 @@ TEST_F(StatsPluginEnd2EndTest,
auto sent_span_data =
GetSpanByName(recorded_spans, absl::StrCat("Sent.", client_method_name_));
ASSERT_NE(sent_span_data, recorded_spans.end());
EXPECT_TRUE(
IsAnnotationPresent(sent_span_data, "Delayed name resolution complete."));
// TODO(yijiem): the EventEngine DNS resolver might be faster in getting the
// result before TryCheckResolution and the call would not be queued:
// https://github.com/grpc/grpc/blob/master/src/core/ext/filters/client_channel/client_channel.cc#L2340.
// We could use a FakeResolver and introduce a delay to deflake this test.
if (!grpc_core::IsEventEngineDnsEnabled()) {
EXPECT_TRUE(IsAnnotationPresent(sent_span_data,
"Delayed name resolution complete."));
}
// Check presence of trace annotation for removal from channel's pending
// lb pick queue.
auto attempt_span_data = GetSpanByName(

@ -404,7 +404,8 @@ void EnableCsmObservability() {
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
assert(grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(grpc::MakeCsmOpenTelemetryPluginOption())
.AddPluginOption(
grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal()
.ok());

@ -55,7 +55,8 @@ void EnableCsmObservability() {
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
assert(grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(grpc::MakeCsmOpenTelemetryPluginOption())
.AddPluginOption(
grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal()
.ok());

@ -904,6 +904,7 @@ def _exclude_unwanted_cc_tests(tests: List[str]) -> List[str]:
# we don't need to generate fuzzers outside of bazel
tests = [test for test in tests if not test.endswith("_fuzzer")]
tests = [test for test in tests if "_fuzzer_" not in test]
return tests

@ -9043,60 +9043,6 @@
],
"uses_polling": true
},
{
"args": [
"test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus",
"-runs=20000",
"-max_total_time=300",
"--directory=test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus"
],
"benchmark": false,
"ci_platforms": [
"linux",
"mac",
"posix"
],
"cpu_cost": 1.0,
"exclude_configs": [],
"exclude_iomgrs": [],
"flaky": false,
"gtest": true,
"language": "c++",
"name": "server_fuzzer_chaotic_good",
"platforms": [
"linux",
"mac",
"posix"
],
"uses_polling": false
},
{
"args": [
"test/core/end2end/fuzzers/server_fuzzer_chttp2_corpus",
"-runs=20000",
"-max_total_time=300",
"--directory=test/core/end2end/fuzzers/server_fuzzer_chttp2_corpus"
],
"benchmark": false,
"ci_platforms": [
"linux",
"mac",
"posix"
],
"cpu_cost": 1.0,
"exclude_configs": [],
"exclude_iomgrs": [],
"flaky": false,
"gtest": true,
"language": "c++",
"name": "server_fuzzer_chttp2",
"platforms": [
"linux",
"mac",
"posix"
],
"uses_polling": false
},
{
"args": [],
"benchmark": false,

Loading…
Cancel
Save