Merge remote-tracking branch 'upstream/master' into grpc_error_attribute_cleanup

pull/36523/head
Mark D. Roth 8 months ago
commit 323c3b7534
  1. 4
      .gitattributes
  2. 8
      .github/workflows/pr-auto-fix.yaml
  3. 16
      BUILD
  4. 191
      CMakeLists.txt
  5. 18
      Makefile
  6. 44
      Package.swift
  7. 6
      bazel/experiments.bzl
  8. 9
      bazel/grpc_build_system.bzl
  9. 212
      build_autogenerated.yaml
  10. 1
      cmake/gRPCConfig.cmake.in
  11. 21
      config.m4
  12. 21
      config.w32
  13. 10
      examples/cpp/otel/BUILD
  14. 11
      examples/cpp/otel/CMakeLists.txt
  15. 124
      examples/cpp/otel/Makefile
  16. 88
      examples/cpp/otel/greeter_callback_client.cc
  17. 56
      examples/cpp/otel/greeter_callback_server.cc
  18. 44
      examples/cpp/otel/ostream/BUILD
  19. 85
      examples/cpp/otel/ostream/CMakeLists.txt
  20. 127
      examples/cpp/otel/ostream/Makefile
  21. 79
      examples/cpp/otel/ostream/greeter_callback_client.cc
  22. 78
      examples/cpp/otel/ostream/greeter_callback_server.cc
  23. 139
      examples/cpp/otel/util.cc
  24. 2
      examples/cpp/otel/util.h
  25. 52
      gRPC-C++.podspec
  26. 70
      gRPC-Core.podspec
  27. 44
      grpc.gemspec
  28. 4
      include/grpcpp/impl/call_op_set.h
  29. 44
      package.xml
  30. 2
      setup.py
  31. 34
      src/core/BUILD
  32. 2
      src/core/channelz/channel_trace.h
  33. 2
      src/core/channelz/channelz.cc
  34. 2
      src/core/channelz/channelz.h
  35. 4
      src/core/channelz/channelz_registry.cc
  36. 2
      src/core/client_channel/client_channel_filter.cc
  37. 2
      src/core/client_channel/client_channel_filter.h
  38. 2
      src/core/client_channel/client_channel_internal.h
  39. 6
      src/core/client_channel/client_channel_service_config.h
  40. 2
      src/core/client_channel/retry_service_config.cc
  41. 6
      src/core/client_channel/retry_service_config.h
  42. 4
      src/core/client_channel/subchannel.cc
  43. 1
      src/core/ext/filters/backend_metrics/backend_metric_filter.cc
  44. 6
      src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h
  45. 2
      src/core/ext/filters/http/message_compress/compression_filter.cc
  46. 35
      src/core/ext/filters/logging/logging_filter.cc
  47. 6
      src/core/ext/filters/message_size/message_size_filter.h
  48. 4
      src/core/ext/filters/rbac/rbac_service_config_parser.cc
  49. 2
      src/core/ext/filters/rbac/rbac_service_config_parser.h
  50. 6
      src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h
  51. 5
      src/core/ext/transport/binder/transport/binder_transport.cc
  52. 1
      src/core/ext/transport/binder/transport/binder_transport.h
  53. 1
      src/core/ext/transport/chaotic_good/client_transport.h
  54. 3
      src/core/ext/transport/chaotic_good/server_transport.h
  55. 14
      src/core/ext/transport/chttp2/transport/chttp2_transport.cc
  56. 2
      src/core/ext/transport/chttp2/transport/chttp2_transport.h
  57. 2
      src/core/ext/transport/chttp2/transport/context_list_entry.h
  58. 6
      src/core/ext/transport/chttp2/transport/hpack_parser.cc
  59. 2
      src/core/ext/transport/chttp2/transport/hpack_parser.h
  60. 5
      src/core/ext/transport/chttp2/transport/internal.h
  61. 2
      src/core/ext/transport/chttp2/transport/parsing.cc
  62. 6
      src/core/ext/transport/chttp2/transport/writing.cc
  63. 1
      src/core/ext/transport/cronet/transport/cronet_transport.cc
  64. 2
      src/core/ext/transport/inproc/inproc_transport.cc
  65. 3
      src/core/ext/transport/inproc/legacy_inproc_transport.cc
  66. 4
      src/core/handshaker/security/security_handshaker.cc
  67. 2
      src/core/lib/channel/channel_stack.h
  68. 13
      src/core/lib/debug/trace_flags.cc
  69. 19
      src/core/lib/debug/trace_flags.h
  70. 0
      src/core/lib/debug/trace_flags.yaml
  71. 9
      src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc
  72. 2
      src/core/lib/experiments/experiments.cc
  73. 3
      src/core/lib/experiments/experiments.h
  74. 4
      src/core/lib/experiments/rollouts.yaml
  75. 4
      src/core/lib/gprpp/work_serializer.cc
  76. 4
      src/core/lib/iomgr/call_combiner.cc
  77. 8
      src/core/lib/iomgr/ev_epoll1_linux.cc
  78. 42
      src/core/lib/iomgr/ev_poll_posix.cc
  79. 4
      src/core/lib/iomgr/iocp_windows.cc
  80. 4
      src/core/lib/iomgr/tcp_posix.cc
  81. 6
      src/core/lib/promise/context.h
  82. 8
      src/core/lib/promise/detail/promise_like.h
  83. 4
      src/core/lib/security/authorization/rbac_translator.cc
  84. 4
      src/core/lib/security/certificate_provider/certificate_provider_factory.h
  85. 4
      src/core/lib/security/credentials/channel_creds_registry.h
  86. 6
      src/core/lib/security/credentials/channel_creds_registry_init.cc
  87. 6
      src/core/lib/security/credentials/external/aws_external_account_credentials.cc
  88. 4
      src/core/lib/security/credentials/external/external_account_credentials.cc
  89. 2
      src/core/lib/security/credentials/external/external_account_credentials.h
  90. 4
      src/core/lib/security/credentials/external/file_external_account_credentials.cc
  91. 4
      src/core/lib/security/credentials/external/url_external_account_credentials.cc
  92. 4
      src/core/lib/security/credentials/google_default/google_default_credentials.cc
  93. 4
      src/core/lib/security/credentials/jwt/json_token.cc
  94. 2
      src/core/lib/security/credentials/jwt/json_token.h
  95. 6
      src/core/lib/security/credentials/jwt/jwt_credentials.cc
  96. 2
      src/core/lib/security/credentials/jwt/jwt_verifier.cc
  97. 2
      src/core/lib/security/credentials/jwt/jwt_verifier.h
  98. 4
      src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
  99. 2
      src/core/lib/security/credentials/oauth2/oauth2_credentials.h
  100. 2
      src/core/lib/security/util/json_util.h
  101. Some files were not shown because too many files have changed in this diff Show More

4
.gitattributes vendored

@ -29,8 +29,8 @@ tools/run_tests/tests.json linguist-generated=true
tools/run_tests/generated/tests.json linguist-generated=true
tools/run_tests/generated/sources_and_headers.json linguist-generated=true
src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h linguist-generated=true
src/core/lib/debug/stats_data.h linguist-generated=true
src/core/lib/debug/stats_data.cc linguist-generated=true
src/core/telemetry/stats_data.h linguist-generated=true
src/core/telemetry/stats_data.cc linguist-generated=true
src/core/lib/experiments/experiments.h linguist-generated=true
src/core/lib/experiments/experiments.cc linguist-generated=true
bazel/experiments.bzl linguist-generated=true

@ -22,7 +22,7 @@ jobs:
with:
format: YYYYWWd
- name: Cache bazel
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
env:
cache-name: bazel-cache
with:
@ -66,7 +66,7 @@ jobs:
run: test "${{ steps.check.outputs.result }}" = "stay"
# Setup to run sanity suite
- name: Install Python Interpreter
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: 3.8
- name: Install Python Packages
@ -75,7 +75,7 @@ jobs:
sudo apt-get update
sudo apt-get install python3-dev
- name: Check out repository code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: True
- name: Get the upstream code
@ -90,7 +90,7 @@ jobs:
run: ANDROID_NDK_HOME= ${{ github.workspace }}/tools/distrib/sanitize.sh
# Report back with a PR if things are broken
- name: Create Pull Request
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6.0.5
with:
delete-branch: true
branch-suffix: short-commit-hash

16
BUILD

@ -19,6 +19,7 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load(
"//bazel:grpc_build_system.bzl",
"grpc_cc_library",
"grpc_filegroup",
"grpc_generate_one_off_targets",
"grpc_upb_proto_library",
"grpc_upb_proto_reflection_library",
@ -1741,10 +1742,10 @@ grpc_cc_library(
grpc_cc_library(
name = "call_tracer",
srcs = [
"//src/core:lib/channel/call_tracer.cc",
"//src/core:telemetry/call_tracer.cc",
],
hdrs = [
"//src/core:lib/channel/call_tracer.h",
"//src/core:telemetry/call_tracer.h",
],
external_deps = [
"absl/log:check",
@ -3035,6 +3036,11 @@ grpc_cc_library(
],
)
grpc_filegroup(
name = "trace_flag_files",
srcs = ["//src/core:lib/debug/trace_flags.yaml"],
)
grpc_cc_library(
name = "load_config",
srcs = [
@ -3455,10 +3461,10 @@ grpc_cc_library(
grpc_cc_library(
name = "stats",
srcs = [
"//src/core:lib/debug/stats.cc",
"//src/core:telemetry/stats.cc",
],
hdrs = [
"//src/core:lib/debug/stats.h",
"//src/core:telemetry/stats.h",
],
external_deps = [
"absl/strings",
@ -4743,7 +4749,7 @@ grpc_cc_library(
grpc_cc_library(
name = "tcp_tracer",
hdrs = [
"//src/core:lib/channel/tcp_tracer.h",
"//src/core:telemetry/tcp_tracer.h",
],
external_deps = [
"absl/time",

191
CMakeLists.txt generated

@ -1458,7 +1458,6 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx test_core_event_engine_posix_timer_heap_test)
add_dependencies(buildtests_cxx test_core_event_engine_posix_timer_list_test)
add_dependencies(buildtests_cxx test_core_event_engine_slice_buffer_test)
add_dependencies(buildtests_cxx test_core_gpr_time_test)
add_dependencies(buildtests_cxx test_core_gprpp_time_test)
add_dependencies(buildtests_cxx test_core_iomgr_timer_heap_test)
add_dependencies(buildtests_cxx test_core_security_credentials_test)
@ -1468,6 +1467,7 @@ if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx test_core_transport_test_suite_chaotic_good_test)
endif()
add_dependencies(buildtests_cxx test_core_util_time_test)
add_dependencies(buildtests_cxx test_cpp_client_credentials_test)
add_dependencies(buildtests_cxx test_cpp_end2end_ssl_credentials_test)
add_dependencies(buildtests_cxx test_cpp_ext_chaotic_good_test)
@ -2227,7 +2227,6 @@ add_library(grpc
src/core/lib/address_utils/sockaddr_utils.cc
src/core/lib/backoff/backoff.cc
src/core/lib/backoff/random_early_detection.cc
src/core/lib/channel/call_tracer.cc
src/core/lib/channel/channel_args.cc
src/core/lib/channel/channel_args_preconditioning.cc
src/core/lib/channel/channel_stack.cc
@ -2235,7 +2234,6 @@ add_library(grpc
src/core/lib/channel/channel_stack_builder_impl.cc
src/core/lib/channel/channel_stack_trace.cc
src/core/lib/channel/connected_channel.cc
src/core/lib/channel/metrics.cc
src/core/lib/channel/promise_based_filter.cc
src/core/lib/channel/status_util.cc
src/core/lib/compression/compression.cc
@ -2243,9 +2241,6 @@ add_library(grpc
src/core/lib/compression/message_compress.cc
src/core/lib/config/core_configuration.cc
src/core/lib/debug/event_log.cc
src/core/lib/debug/histogram_view.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
src/core/lib/event_engine/ares_resolver.cc
src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -2388,10 +2383,6 @@ add_library(grpc
src/core/lib/iomgr/wakeup_fd_nospecial.cc
src/core/lib/iomgr/wakeup_fd_pipe.cc
src/core/lib/iomgr/wakeup_fd_posix.cc
src/core/lib/json/json_object_loader.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_util.cc
src/core/lib/json/json_writer.cc
src/core/lib/matchers/matchers.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
@ -2570,6 +2561,11 @@ add_library(grpc
src/core/service_config/service_config_channel_arg_filter.cc
src/core/service_config/service_config_impl.cc
src/core/service_config/service_config_parser.cc
src/core/telemetry/call_tracer.cc
src/core/telemetry/histogram_view.cc
src/core/telemetry/metrics.cc
src/core/telemetry/stats.cc
src/core/telemetry/stats_data.cc
src/core/tsi/alts/crypt/aes_gcm.cc
src/core/tsi/alts/crypt/gsec.cc
src/core/tsi/alts/frame_protector/alts_counter.cc
@ -2599,6 +2595,10 @@ add_library(grpc
src/core/tsi/ssl_transport_security_utils.cc
src/core/tsi/transport_security.cc
src/core/tsi/transport_security_grpc.cc
src/core/util/json/json_object_loader.cc
src/core/util/json/json_reader.cc
src/core/util/json/json_util.cc
src/core/util/json/json_writer.cc
src/core/xds/grpc/certificate_provider_store.cc
src/core/xds/grpc/file_watcher_certificate_provider_factory.cc
src/core/xds/grpc/xds_audit_logger_registry.cc
@ -3019,7 +3019,6 @@ add_library(grpc_unsecure
src/core/lib/address_utils/sockaddr_utils.cc
src/core/lib/backoff/backoff.cc
src/core/lib/backoff/random_early_detection.cc
src/core/lib/channel/call_tracer.cc
src/core/lib/channel/channel_args.cc
src/core/lib/channel/channel_args_preconditioning.cc
src/core/lib/channel/channel_stack.cc
@ -3027,7 +3026,6 @@ add_library(grpc_unsecure
src/core/lib/channel/channel_stack_builder_impl.cc
src/core/lib/channel/channel_stack_trace.cc
src/core/lib/channel/connected_channel.cc
src/core/lib/channel/metrics.cc
src/core/lib/channel/promise_based_filter.cc
src/core/lib/channel/status_util.cc
src/core/lib/compression/compression.cc
@ -3035,9 +3033,6 @@ add_library(grpc_unsecure
src/core/lib/compression/message_compress.cc
src/core/lib/config/core_configuration.cc
src/core/lib/debug/event_log.cc
src/core/lib/debug/histogram_view.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
src/core/lib/event_engine/ares_resolver.cc
src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -3177,9 +3172,6 @@ add_library(grpc_unsecure
src/core/lib/iomgr/wakeup_fd_nospecial.cc
src/core/lib/iomgr/wakeup_fd_pipe.cc
src/core/lib/iomgr/wakeup_fd_posix.cc
src/core/lib/json/json_object_loader.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_writer.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
src/core/lib/promise/sleep.cc
@ -3310,11 +3302,19 @@ add_library(grpc_unsecure
src/core/service_config/service_config_channel_arg_filter.cc
src/core/service_config/service_config_impl.cc
src/core/service_config/service_config_parser.cc
src/core/telemetry/call_tracer.cc
src/core/telemetry/histogram_view.cc
src/core/telemetry/metrics.cc
src/core/telemetry/stats.cc
src/core/telemetry/stats_data.cc
src/core/tsi/alts/handshaker/transport_security_common_api.cc
src/core/tsi/fake_transport_security.cc
src/core/tsi/local_transport_security.cc
src/core/tsi/transport_security.cc
src/core/tsi/transport_security_grpc.cc
src/core/util/json/json_object_loader.cc
src/core/util/json/json_reader.cc
src/core/util/json/json_writer.cc
third_party/upb/upb/mini_descriptor/build_enum.c
third_party/upb/upb/mini_descriptor/decode.c
third_party/upb/upb/mini_descriptor/internal/base92.c
@ -5136,7 +5136,6 @@ add_library(grpc_authorization_provider
src/core/lib/address_utils/parse_address.cc
src/core/lib/address_utils/sockaddr_utils.cc
src/core/lib/backoff/backoff.cc
src/core/lib/channel/call_tracer.cc
src/core/lib/channel/channel_args.cc
src/core/lib/channel/channel_args_preconditioning.cc
src/core/lib/channel/channel_stack.cc
@ -5144,7 +5143,6 @@ add_library(grpc_authorization_provider
src/core/lib/channel/channel_stack_builder_impl.cc
src/core/lib/channel/channel_stack_trace.cc
src/core/lib/channel/connected_channel.cc
src/core/lib/channel/metrics.cc
src/core/lib/channel/promise_based_filter.cc
src/core/lib/channel/status_util.cc
src/core/lib/compression/compression.cc
@ -5152,9 +5150,6 @@ add_library(grpc_authorization_provider
src/core/lib/compression/message_compress.cc
src/core/lib/config/core_configuration.cc
src/core/lib/debug/event_log.cc
src/core/lib/debug/histogram_view.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
src/core/lib/event_engine/ares_resolver.cc
src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -5290,8 +5285,6 @@ add_library(grpc_authorization_provider
src/core/lib/iomgr/wakeup_fd_nospecial.cc
src/core/lib/iomgr/wakeup_fd_pipe.cc
src/core/lib/iomgr/wakeup_fd_posix.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_writer.cc
src/core/lib/matchers/matchers.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
@ -5381,9 +5374,16 @@ add_library(grpc_authorization_provider
src/core/resolver/resolver.cc
src/core/resolver/resolver_registry.cc
src/core/service_config/service_config_parser.cc
src/core/telemetry/call_tracer.cc
src/core/telemetry/histogram_view.cc
src/core/telemetry/metrics.cc
src/core/telemetry/stats.cc
src/core/telemetry/stats_data.cc
src/core/tsi/alts/handshaker/transport_security_common_api.cc
src/core/tsi/transport_security.cc
src/core/tsi/transport_security_grpc.cc
src/core/util/json/json_reader.cc
src/core/util/json/json_writer.cc
third_party/upb/upb/mini_descriptor/build_enum.c
third_party/upb/upb/mini_descriptor/decode.c
third_party/upb/upb/mini_descriptor/internal/base92.c
@ -6310,7 +6310,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(alloc_test
test/core/gpr/alloc_test.cc
test/core/util/alloc_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -8700,7 +8700,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(call_tracer_test
test/core/channel/call_tracer_test.cc
test/core/telemetry/call_tracer_test.cc
test/core/test_util/fake_stats_plugin.cc
)
if(WIN32 AND MSVC)
@ -11719,7 +11719,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(cpu_test
test/core/gpr/cpu_test.cc
test/core/util/cpu_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -12915,7 +12915,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(env_test
test/core/gpr/env_test.cc
test/core/util/env_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -17559,15 +17559,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
${_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
test/core/call/yodel/test_main.cc
test/core/call/yodel/yodel_test.cc
test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
test/core/transport/test_suite/call_content.cc
test/core/transport/test_suite/call_shapes.cc
test/core/transport/test_suite/fixture.cc
test/core/transport/test_suite/inproc_fixture.cc
test/core/transport/test_suite/no_op.cc
test/core/transport/test_suite/stress.cc
test/core/transport/test_suite/test.cc
test/core/transport/test_suite/test_main.cc
test/core/transport/test_suite/transport_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -17765,7 +17765,6 @@ add_executable(interception_chain_test
src/core/lib/address_utils/parse_address.cc
src/core/lib/address_utils/sockaddr_utils.cc
src/core/lib/backoff/backoff.cc
src/core/lib/channel/call_tracer.cc
src/core/lib/channel/channel_args.cc
src/core/lib/channel/channel_args_preconditioning.cc
src/core/lib/channel/channel_stack.cc
@ -17773,7 +17772,6 @@ add_executable(interception_chain_test
src/core/lib/channel/channel_stack_builder_impl.cc
src/core/lib/channel/channel_stack_trace.cc
src/core/lib/channel/connected_channel.cc
src/core/lib/channel/metrics.cc
src/core/lib/channel/promise_based_filter.cc
src/core/lib/channel/status_util.cc
src/core/lib/compression/compression.cc
@ -17781,9 +17779,6 @@ add_executable(interception_chain_test
src/core/lib/compression/message_compress.cc
src/core/lib/config/core_configuration.cc
src/core/lib/debug/event_log.cc
src/core/lib/debug/histogram_view.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
src/core/lib/event_engine/ares_resolver.cc
src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -17919,7 +17914,6 @@ add_executable(interception_chain_test
src/core/lib/iomgr/wakeup_fd_nospecial.cc
src/core/lib/iomgr/wakeup_fd_pipe.cc
src/core/lib/iomgr/wakeup_fd_posix.cc
src/core/lib/json/json_writer.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
src/core/lib/promise/trace.cc
@ -17985,7 +17979,13 @@ add_executable(interception_chain_test
src/core/resolver/resolver.cc
src/core/resolver/resolver_registry.cc
src/core/service_config/service_config_parser.cc
src/core/telemetry/call_tracer.cc
src/core/telemetry/histogram_view.cc
src/core/telemetry/metrics.cc
src/core/telemetry/stats.cc
src/core/telemetry/stats_data.cc
src/core/tsi/alts/handshaker/transport_security_common_api.cc
src/core/util/json/json_writer.cc
test/core/transport/interception_chain_test.cc
third_party/upb/upb/mini_descriptor/build_enum.c
third_party/upb/upb/mini_descriptor/decode.c
@ -19115,7 +19115,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(log_test
test/core/gpr/log_test.cc
test/core/util/log_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -19997,7 +19997,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(metrics_test
test/core/channel/metrics_test.cc
test/core/telemetry/metrics_test.cc
test/core/test_util/fake_stats_plugin.cc
)
if(WIN32 AND MSVC)
@ -28537,7 +28537,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(spinlock_test
test/core/gpr/spinlock_test.cc
test/core/util/spinlock_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -28798,7 +28798,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(stats_test
test/core/debug/stats_test.cc
test/core/telemetry/stats_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -29283,7 +29283,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(string_test
test/core/gpr/string_test.cc
test/core/util/string_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -29368,7 +29368,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(sync_test
test/core/gpr/sync_test.cc
test/core/util/sync_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -29995,48 +29995,6 @@ target_link_libraries(test_core_event_engine_slice_buffer_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(test_core_gpr_time_test
test/core/gpr/time_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
target_compile_definitions(test_core_gpr_time_test
PRIVATE
"GPR_DLL_IMPORTS"
"GRPC_DLL_IMPORTS"
)
endif()
endif()
target_compile_features(test_core_gpr_time_test PUBLIC cxx_std_14)
target_include_directories(test_core_gpr_time_test
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(test_core_gpr_time_test
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -30333,15 +30291,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
src/core/ext/transport/chaotic_good/frame_header.cc
src/core/ext/transport/chaotic_good/server_transport.cc
src/core/lib/transport/promise_endpoint.cc
test/core/call/yodel/test_main.cc
test/core/call/yodel/yodel_test.cc
test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
test/core/transport/test_suite/call_content.cc
test/core/transport/test_suite/call_shapes.cc
test/core/transport/test_suite/chaotic_good_fixture.cc
test/core/transport/test_suite/fixture.cc
test/core/transport/test_suite/no_op.cc
test/core/transport/test_suite/stress.cc
test/core/transport/test_suite/test.cc
test/core/transport/test_suite/test_main.cc
test/core/transport/test_suite/transport_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
@ -30384,6 +30342,48 @@ endif()
endif()
if(gRPC_BUILD_TESTS)
add_executable(test_core_util_time_test
test/core/util/time_test.cc
)
if(WIN32 AND MSVC)
if(BUILD_SHARED_LIBS)
target_compile_definitions(test_core_util_time_test
PRIVATE
"GPR_DLL_IMPORTS"
"GRPC_DLL_IMPORTS"
)
endif()
endif()
target_compile_features(test_core_util_time_test PUBLIC cxx_std_14)
target_include_directories(test_core_util_time_test
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(test_core_util_time_test
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(test_cpp_client_credentials_test
test/cpp/client/credentials_test.cc
test/cpp/util/tls_test_utils.cc
@ -32061,7 +32061,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(useful_test
test/core/gpr/useful_test.cc
test/core/util/useful_test.cc
)
target_compile_features(useful_test PUBLIC cxx_std_14)
target_include_directories(useful_test
@ -37012,3 +37012,14 @@ generate_pkgconfig(
"-lgrpc++_unsecure"
"-laddress_sorting -lupb_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib"
"grpc++_unsecure.pc")
# grpcpp_otel_plugin .pc file
generate_pkgconfig(
"gRPC++ OpenTelemetry Plugin"
"OpenTelemetry Plugin for gRPC C++"
"${gRPC_CPP_VERSION}"
"absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr grpc grpc++ opentelemetry_api"
"libcares openssl re2 zlib"
"-lgrpcpp_otel_plugin"
"-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib"
"grpcpp_otel_plugin.pc")

18
Makefile generated

@ -1067,7 +1067,6 @@ LIBGRPC_SRC = \
src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/call_tracer.cc \
src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \
@ -1075,7 +1074,6 @@ LIBGRPC_SRC = \
src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \
src/core/lib/channel/status_util.cc \
src/core/lib/compression/compression.cc \
@ -1086,9 +1084,6 @@ LIBGRPC_SRC = \
src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \
src/core/lib/debug/histogram_view.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
src/core/lib/event_engine/ares_resolver.cc \
src/core/lib/event_engine/cf_engine/cf_engine.cc \
@ -1247,10 +1242,6 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/json/json_object_loader.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
@ -1429,6 +1420,11 @@ LIBGRPC_SRC = \
src/core/service_config/service_config_channel_arg_filter.cc \
src/core/service_config/service_config_impl.cc \
src/core/service_config/service_config_parser.cc \
src/core/telemetry/call_tracer.cc \
src/core/telemetry/histogram_view.cc \
src/core/telemetry/metrics.cc \
src/core/telemetry/stats.cc \
src/core/telemetry/stats_data.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \
src/core/tsi/alts/crypt/gsec.cc \
src/core/tsi/alts/frame_protector/alts_counter.cc \
@ -1462,6 +1458,10 @@ LIBGRPC_SRC = \
src/core/util/android/log.cc \
src/core/util/atm.cc \
src/core/util/iphone/cpu.cc \
src/core/util/json/json_object_loader.cc \
src/core/util/json/json_reader.cc \
src/core/util/json/json_util.cc \
src/core/util/json/json_writer.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/log.cc \
src/core/util/log.cc \

44
Package.swift generated

@ -1090,8 +1090,6 @@ let package = Package(
"src/core/lib/backoff/random_early_detection.cc",
"src/core/lib/backoff/random_early_detection.h",
"src/core/lib/channel/call_finalization.h",
"src/core/lib/channel/call_tracer.cc",
"src/core/lib/channel/call_tracer.h",
"src/core/lib/channel/channel_args.cc",
"src/core/lib/channel/channel_args.h",
"src/core/lib/channel/channel_args_preconditioning.cc",
@ -1108,13 +1106,10 @@ let package = Package(
"src/core/lib/channel/connected_channel.cc",
"src/core/lib/channel/connected_channel.h",
"src/core/lib/channel/context.h",
"src/core/lib/channel/metrics.cc",
"src/core/lib/channel/metrics.h",
"src/core/lib/channel/promise_based_filter.cc",
"src/core/lib/channel/promise_based_filter.h",
"src/core/lib/channel/status_util.cc",
"src/core/lib/channel/status_util.h",
"src/core/lib/channel/tcp_tracer.h",
"src/core/lib/compression/compression.cc",
"src/core/lib/compression/compression_internal.cc",
"src/core/lib/compression/compression_internal.h",
@ -1129,12 +1124,6 @@ let package = Package(
"src/core/lib/config/load_config.h",
"src/core/lib/debug/event_log.cc",
"src/core/lib/debug/event_log.h",
"src/core/lib/debug/histogram_view.cc",
"src/core/lib/debug/histogram_view.h",
"src/core/lib/debug/stats.cc",
"src/core/lib/debug/stats.h",
"src/core/lib/debug/stats_data.cc",
"src/core/lib/debug/stats_data.h",
"src/core/lib/debug/trace.cc",
"src/core/lib/debug/trace.h",
"src/core/lib/event_engine/ares_resolver.cc",
@ -1476,17 +1465,6 @@ let package = Package(
"src/core/lib/iomgr/wakeup_fd_pipe.h",
"src/core/lib/iomgr/wakeup_fd_posix.cc",
"src/core/lib/iomgr/wakeup_fd_posix.h",
"src/core/lib/json/json.h",
"src/core/lib/json/json_args.h",
"src/core/lib/json/json_channel_args.h",
"src/core/lib/json/json_object_loader.cc",
"src/core/lib/json/json_object_loader.h",
"src/core/lib/json/json_reader.cc",
"src/core/lib/json/json_reader.h",
"src/core/lib/json/json_util.cc",
"src/core/lib/json/json_util.h",
"src/core/lib/json/json_writer.cc",
"src/core/lib/json/json_writer.h",
"src/core/lib/matchers/matchers.cc",
"src/core/lib/matchers/matchers.h",
"src/core/lib/promise/activity.cc",
@ -1864,6 +1842,17 @@ let package = Package(
"src/core/service_config/service_config_impl.h",
"src/core/service_config/service_config_parser.cc",
"src/core/service_config/service_config_parser.h",
"src/core/telemetry/call_tracer.cc",
"src/core/telemetry/call_tracer.h",
"src/core/telemetry/histogram_view.cc",
"src/core/telemetry/histogram_view.h",
"src/core/telemetry/metrics.cc",
"src/core/telemetry/metrics.h",
"src/core/telemetry/stats.cc",
"src/core/telemetry/stats.h",
"src/core/telemetry/stats_data.cc",
"src/core/telemetry/stats_data.h",
"src/core/telemetry/tcp_tracer.h",
"src/core/tsi/alts/crypt/aes_gcm.cc",
"src/core/tsi/alts/crypt/gsec.cc",
"src/core/tsi/alts/crypt/gsec.h",
@ -1927,6 +1916,17 @@ let package = Package(
"src/core/util/android/log.cc",
"src/core/util/atm.cc",
"src/core/util/iphone/cpu.cc",
"src/core/util/json/json.h",
"src/core/util/json/json_args.h",
"src/core/util/json/json_channel_args.h",
"src/core/util/json/json_object_loader.cc",
"src/core/util/json/json_object_loader.h",
"src/core/util/json/json_reader.cc",
"src/core/util/json/json_reader.h",
"src/core/util/json/json_util.cc",
"src/core/util/json/json_util.h",
"src/core/util/json/json_writer.cc",
"src/core/util/json/json_writer.h",
"src/core/util/linux/cpu.cc",
"src/core/util/linux/log.cc",
"src/core/util/log.cc",

@ -74,6 +74,9 @@ EXPERIMENTS = {
],
},
"on": {
"cancel_ares_query_test": [
"event_engine_dns",
],
"core_end2end_test": [
"event_engine_client",
"event_engine_listener",
@ -90,6 +93,9 @@ EXPERIMENTS = {
"lb_unit_test": [
"pick_first_new",
],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"xds_end2end_test": [
"pick_first_new",
],

@ -235,6 +235,7 @@ def grpc_proto_library(
name,
srcs = [],
deps = [],
visibility = None,
well_known_protos = False,
has_services = True,
use_external = False,
@ -243,6 +244,7 @@ def grpc_proto_library(
name = name,
srcs = srcs,
deps = deps,
visibility = visibility,
well_known_protos = well_known_protos,
proto_only = not has_services,
use_external = use_external,
@ -735,6 +737,13 @@ def grpc_package(name, visibility = "private", features = []):
features = features,
)
def grpc_filegroup(name, srcs, **kwargs):
native.filegroup(
name = name,
srcs = srcs,
**kwargs
)
def grpc_objc_library(
name,
srcs = [],

@ -794,7 +794,6 @@ libs:
- src/core/lib/backoff/backoff.h
- src/core/lib/backoff/random_early_detection.h
- src/core/lib/channel/call_finalization.h
- src/core/lib/channel/call_tracer.h
- src/core/lib/channel/channel_args.h
- src/core/lib/channel/channel_args_preconditioning.h
- src/core/lib/channel/channel_fwd.h
@ -804,17 +803,12 @@ libs:
- src/core/lib/channel/channel_stack_trace.h
- src/core/lib/channel/connected_channel.h
- src/core/lib/channel/context.h
- src/core/lib/channel/metrics.h
- src/core/lib/channel/promise_based_filter.h
- src/core/lib/channel/status_util.h
- src/core/lib/channel/tcp_tracer.h
- src/core/lib/compression/compression_internal.h
- src/core/lib/compression/message_compress.h
- src/core/lib/config/core_configuration.h
- src/core/lib/debug/event_log.h
- src/core/lib/debug/histogram_view.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
- src/core/lib/event_engine/ares_resolver.h
- src/core/lib/event_engine/cf_engine/cf_engine.h
@ -981,13 +975,6 @@ libs:
- src/core/lib/iomgr/vsock.h
- src/core/lib/iomgr/wakeup_fd_pipe.h
- src/core/lib/iomgr/wakeup_fd_posix.h
- src/core/lib/json/json.h
- src/core/lib/json/json_args.h
- src/core/lib/json/json_channel_args.h
- src/core/lib/json/json_object_loader.h
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_util.h
- src/core/lib/json/json_writer.h
- src/core/lib/matchers/matchers.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
@ -1183,6 +1170,12 @@ libs:
- src/core/service_config/service_config_call_data.h
- src/core/service_config/service_config_impl.h
- src/core/service_config/service_config_parser.h
- src/core/telemetry/call_tracer.h
- src/core/telemetry/histogram_view.h
- src/core/telemetry/metrics.h
- src/core/telemetry/stats.h
- src/core/telemetry/stats_data.h
- src/core/telemetry/tcp_tracer.h
- src/core/tsi/alts/crypt/gsec.h
- src/core/tsi/alts/frame_protector/alts_counter.h
- src/core/tsi/alts/frame_protector/alts_crypter.h
@ -1212,6 +1205,13 @@ libs:
- src/core/tsi/transport_security.h
- src/core/tsi/transport_security_grpc.h
- src/core/tsi/transport_security_interface.h
- src/core/util/json/json.h
- src/core/util/json/json_args.h
- src/core/util/json/json_channel_args.h
- src/core/util/json/json_object_loader.h
- src/core/util/json/json_reader.h
- src/core/util/json/json_util.h
- src/core/util/json/json_writer.h
- src/core/util/spinlock.h
- src/core/xds/grpc/certificate_provider_store.h
- src/core/xds/grpc/file_watcher_certificate_provider_factory.h
@ -1647,7 +1647,6 @@ libs:
- src/core/lib/address_utils/sockaddr_utils.cc
- src/core/lib/backoff/backoff.cc
- src/core/lib/backoff/random_early_detection.cc
- src/core/lib/channel/call_tracer.cc
- src/core/lib/channel/channel_args.cc
- src/core/lib/channel/channel_args_preconditioning.cc
- src/core/lib/channel/channel_stack.cc
@ -1655,7 +1654,6 @@ libs:
- src/core/lib/channel/channel_stack_builder_impl.cc
- src/core/lib/channel/channel_stack_trace.cc
- src/core/lib/channel/connected_channel.cc
- src/core/lib/channel/metrics.cc
- src/core/lib/channel/promise_based_filter.cc
- src/core/lib/channel/status_util.cc
- src/core/lib/compression/compression.cc
@ -1663,9 +1661,6 @@ libs:
- src/core/lib/compression/message_compress.cc
- src/core/lib/config/core_configuration.cc
- src/core/lib/debug/event_log.cc
- src/core/lib/debug/histogram_view.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
- src/core/lib/event_engine/ares_resolver.cc
- src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -1808,10 +1803,6 @@ libs:
- src/core/lib/iomgr/wakeup_fd_nospecial.cc
- src/core/lib/iomgr/wakeup_fd_pipe.cc
- src/core/lib/iomgr/wakeup_fd_posix.cc
- src/core/lib/json/json_object_loader.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_util.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/matchers/matchers.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
@ -1990,6 +1981,11 @@ libs:
- src/core/service_config/service_config_channel_arg_filter.cc
- src/core/service_config/service_config_impl.cc
- src/core/service_config/service_config_parser.cc
- src/core/telemetry/call_tracer.cc
- src/core/telemetry/histogram_view.cc
- src/core/telemetry/metrics.cc
- src/core/telemetry/stats.cc
- src/core/telemetry/stats_data.cc
- src/core/tsi/alts/crypt/aes_gcm.cc
- src/core/tsi/alts/crypt/gsec.cc
- src/core/tsi/alts/frame_protector/alts_counter.cc
@ -2019,6 +2015,10 @@ libs:
- src/core/tsi/ssl_transport_security_utils.cc
- src/core/tsi/transport_security.cc
- src/core/tsi/transport_security_grpc.cc
- src/core/util/json/json_object_loader.cc
- src/core/util/json/json_reader.cc
- src/core/util/json/json_util.cc
- src/core/util/json/json_writer.cc
- src/core/xds/grpc/certificate_provider_store.cc
- src/core/xds/grpc/file_watcher_certificate_provider_factory.cc
- src/core/xds/grpc/xds_audit_logger_registry.cc
@ -2330,7 +2330,6 @@ libs:
- src/core/lib/backoff/backoff.h
- src/core/lib/backoff/random_early_detection.h
- src/core/lib/channel/call_finalization.h
- src/core/lib/channel/call_tracer.h
- src/core/lib/channel/channel_args.h
- src/core/lib/channel/channel_args_preconditioning.h
- src/core/lib/channel/channel_fwd.h
@ -2340,17 +2339,12 @@ libs:
- src/core/lib/channel/channel_stack_trace.h
- src/core/lib/channel/connected_channel.h
- src/core/lib/channel/context.h
- src/core/lib/channel/metrics.h
- src/core/lib/channel/promise_based_filter.h
- src/core/lib/channel/status_util.h
- src/core/lib/channel/tcp_tracer.h
- src/core/lib/compression/compression_internal.h
- src/core/lib/compression/message_compress.h
- src/core/lib/config/core_configuration.h
- src/core/lib/debug/event_log.h
- src/core/lib/debug/histogram_view.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
- src/core/lib/event_engine/ares_resolver.h
- src/core/lib/event_engine/cf_engine/cf_engine.h
@ -2514,12 +2508,6 @@ libs:
- src/core/lib/iomgr/vsock.h
- src/core/lib/iomgr/wakeup_fd_pipe.h
- src/core/lib/iomgr/wakeup_fd_posix.h
- src/core/lib/json/json.h
- src/core/lib/json/json_args.h
- src/core/lib/json/json_channel_args.h
- src/core/lib/json/json_object_loader.h
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_writer.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
- src/core/lib/promise/arena_promise.h
@ -2674,12 +2662,24 @@ libs:
- src/core/service_config/service_config_call_data.h
- src/core/service_config/service_config_impl.h
- src/core/service_config/service_config_parser.h
- src/core/telemetry/call_tracer.h
- src/core/telemetry/histogram_view.h
- src/core/telemetry/metrics.h
- src/core/telemetry/stats.h
- src/core/telemetry/stats_data.h
- src/core/telemetry/tcp_tracer.h
- src/core/tsi/alts/handshaker/transport_security_common_api.h
- src/core/tsi/fake_transport_security.h
- src/core/tsi/local_transport_security.h
- src/core/tsi/transport_security.h
- src/core/tsi/transport_security_grpc.h
- src/core/tsi/transport_security_interface.h
- src/core/util/json/json.h
- src/core/util/json/json_args.h
- src/core/util/json/json_channel_args.h
- src/core/util/json/json_object_loader.h
- src/core/util/json/json_reader.h
- src/core/util/json/json_writer.h
- src/core/util/spinlock.h
- third_party/upb/upb/generated_code_support.h
- third_party/upb/upb/mini_descriptor/build_enum.h
@ -2798,7 +2798,6 @@ libs:
- src/core/lib/address_utils/sockaddr_utils.cc
- src/core/lib/backoff/backoff.cc
- src/core/lib/backoff/random_early_detection.cc
- src/core/lib/channel/call_tracer.cc
- src/core/lib/channel/channel_args.cc
- src/core/lib/channel/channel_args_preconditioning.cc
- src/core/lib/channel/channel_stack.cc
@ -2806,7 +2805,6 @@ libs:
- src/core/lib/channel/channel_stack_builder_impl.cc
- src/core/lib/channel/channel_stack_trace.cc
- src/core/lib/channel/connected_channel.cc
- src/core/lib/channel/metrics.cc
- src/core/lib/channel/promise_based_filter.cc
- src/core/lib/channel/status_util.cc
- src/core/lib/compression/compression.cc
@ -2814,9 +2812,6 @@ libs:
- src/core/lib/compression/message_compress.cc
- src/core/lib/config/core_configuration.cc
- src/core/lib/debug/event_log.cc
- src/core/lib/debug/histogram_view.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
- src/core/lib/event_engine/ares_resolver.cc
- src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -2956,9 +2951,6 @@ libs:
- src/core/lib/iomgr/wakeup_fd_nospecial.cc
- src/core/lib/iomgr/wakeup_fd_pipe.cc
- src/core/lib/iomgr/wakeup_fd_posix.cc
- src/core/lib/json/json_object_loader.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
- src/core/lib/promise/sleep.cc
@ -3089,11 +3081,19 @@ libs:
- src/core/service_config/service_config_channel_arg_filter.cc
- src/core/service_config/service_config_impl.cc
- src/core/service_config/service_config_parser.cc
- src/core/telemetry/call_tracer.cc
- src/core/telemetry/histogram_view.cc
- src/core/telemetry/metrics.cc
- src/core/telemetry/stats.cc
- src/core/telemetry/stats_data.cc
- src/core/tsi/alts/handshaker/transport_security_common_api.cc
- src/core/tsi/fake_transport_security.cc
- src/core/tsi/local_transport_security.cc
- src/core/tsi/transport_security.cc
- src/core/tsi/transport_security_grpc.cc
- src/core/util/json/json_object_loader.cc
- src/core/util/json/json_reader.cc
- src/core/util/json/json_writer.cc
- third_party/upb/upb/mini_descriptor/build_enum.c
- third_party/upb/upb/mini_descriptor/decode.c
- third_party/upb/upb/mini_descriptor/internal/base92.c
@ -4418,7 +4418,6 @@ libs:
- src/core/lib/avl/avl.h
- src/core/lib/backoff/backoff.h
- src/core/lib/channel/call_finalization.h
- src/core/lib/channel/call_tracer.h
- src/core/lib/channel/channel_args.h
- src/core/lib/channel/channel_args_preconditioning.h
- src/core/lib/channel/channel_fwd.h
@ -4428,17 +4427,12 @@ libs:
- src/core/lib/channel/channel_stack_trace.h
- src/core/lib/channel/connected_channel.h
- src/core/lib/channel/context.h
- src/core/lib/channel/metrics.h
- src/core/lib/channel/promise_based_filter.h
- src/core/lib/channel/status_util.h
- src/core/lib/channel/tcp_tracer.h
- src/core/lib/compression/compression_internal.h
- src/core/lib/compression/message_compress.h
- src/core/lib/config/core_configuration.h
- src/core/lib/debug/event_log.h
- src/core/lib/debug/histogram_view.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
- src/core/lib/event_engine/ares_resolver.h
- src/core/lib/event_engine/cf_engine/cf_engine.h
@ -4597,10 +4591,6 @@ libs:
- src/core/lib/iomgr/vsock.h
- src/core/lib/iomgr/wakeup_fd_pipe.h
- src/core/lib/iomgr/wakeup_fd_posix.h
- src/core/lib/json/json.h
- src/core/lib/json/json_args.h
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_writer.h
- src/core/lib/matchers/matchers.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
@ -4721,10 +4711,20 @@ libs:
- src/core/service_config/service_config.h
- src/core/service_config/service_config_call_data.h
- src/core/service_config/service_config_parser.h
- src/core/telemetry/call_tracer.h
- src/core/telemetry/histogram_view.h
- src/core/telemetry/metrics.h
- src/core/telemetry/stats.h
- src/core/telemetry/stats_data.h
- src/core/telemetry/tcp_tracer.h
- src/core/tsi/alts/handshaker/transport_security_common_api.h
- src/core/tsi/transport_security.h
- src/core/tsi/transport_security_grpc.h
- src/core/tsi/transport_security_interface.h
- src/core/util/json/json.h
- src/core/util/json/json_args.h
- src/core/util/json/json_reader.h
- src/core/util/json/json_writer.h
- src/core/util/spinlock.h
- third_party/upb/upb/generated_code_support.h
- third_party/upb/upb/mini_descriptor/build_enum.h
@ -4763,7 +4763,6 @@ libs:
- src/core/lib/address_utils/parse_address.cc
- src/core/lib/address_utils/sockaddr_utils.cc
- src/core/lib/backoff/backoff.cc
- src/core/lib/channel/call_tracer.cc
- src/core/lib/channel/channel_args.cc
- src/core/lib/channel/channel_args_preconditioning.cc
- src/core/lib/channel/channel_stack.cc
@ -4771,7 +4770,6 @@ libs:
- src/core/lib/channel/channel_stack_builder_impl.cc
- src/core/lib/channel/channel_stack_trace.cc
- src/core/lib/channel/connected_channel.cc
- src/core/lib/channel/metrics.cc
- src/core/lib/channel/promise_based_filter.cc
- src/core/lib/channel/status_util.cc
- src/core/lib/compression/compression.cc
@ -4779,9 +4777,6 @@ libs:
- src/core/lib/compression/message_compress.cc
- src/core/lib/config/core_configuration.cc
- src/core/lib/debug/event_log.cc
- src/core/lib/debug/histogram_view.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
- src/core/lib/event_engine/ares_resolver.cc
- src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -4917,8 +4912,6 @@ libs:
- src/core/lib/iomgr/wakeup_fd_nospecial.cc
- src/core/lib/iomgr/wakeup_fd_pipe.cc
- src/core/lib/iomgr/wakeup_fd_posix.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/matchers/matchers.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
@ -5008,9 +5001,16 @@ libs:
- src/core/resolver/resolver.cc
- src/core/resolver/resolver_registry.cc
- src/core/service_config/service_config_parser.cc
- src/core/telemetry/call_tracer.cc
- src/core/telemetry/histogram_view.cc
- src/core/telemetry/metrics.cc
- src/core/telemetry/stats.cc
- src/core/telemetry/stats_data.cc
- src/core/tsi/alts/handshaker/transport_security_common_api.cc
- src/core/tsi/transport_security.cc
- src/core/tsi/transport_security_grpc.cc
- src/core/util/json/json_reader.cc
- src/core/util/json/json_writer.cc
- third_party/upb/upb/mini_descriptor/build_enum.c
- third_party/upb/upb/mini_descriptor/decode.c
- third_party/upb/upb/mini_descriptor/internal/base92.c
@ -5401,7 +5401,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/alloc_test.cc
- test/core/util/alloc_test.cc
deps:
- gtest
- grpc_test_util
@ -6599,7 +6599,7 @@ targets:
headers:
- test/core/test_util/fake_stats_plugin.h
src:
- test/core/channel/call_tracer_test.cc
- test/core/telemetry/call_tracer_test.cc
- test/core/test_util/fake_stats_plugin.cc
deps:
- gtest
@ -8396,7 +8396,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/cpu_test.cc
- test/core/util/cpu_test.cc
deps:
- gtest
- grpc_test_util
@ -8989,7 +8989,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/env_test.cc
- test/core/util/env_test.cc
deps:
- gtest
- grpc_test_util
@ -11447,20 +11447,20 @@ targets:
build: test
language: c++
headers:
- test/core/call/yodel/yodel_test.h
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h
- test/core/transport/test_suite/fixture.h
- test/core/transport/test_suite/test.h
- test/core/transport/test_suite/transport_test.h
src:
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto
- test/core/call/yodel/test_main.cc
- test/core/call/yodel/yodel_test.cc
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
- test/core/transport/test_suite/call_content.cc
- test/core/transport/test_suite/call_shapes.cc
- test/core/transport/test_suite/fixture.cc
- test/core/transport/test_suite/inproc_fixture.cc
- test/core/transport/test_suite/no_op.cc
- test/core/transport/test_suite/stress.cc
- test/core/transport/test_suite/test.cc
- test/core/transport/test_suite/test_main.cc
- test/core/transport/test_suite/transport_test.cc
deps:
- gtest
- protobuf
@ -11576,7 +11576,6 @@ targets:
- src/core/lib/avl/avl.h
- src/core/lib/backoff/backoff.h
- src/core/lib/channel/call_finalization.h
- src/core/lib/channel/call_tracer.h
- src/core/lib/channel/channel_args.h
- src/core/lib/channel/channel_args_preconditioning.h
- src/core/lib/channel/channel_fwd.h
@ -11586,17 +11585,12 @@ targets:
- src/core/lib/channel/channel_stack_trace.h
- src/core/lib/channel/connected_channel.h
- src/core/lib/channel/context.h
- src/core/lib/channel/metrics.h
- src/core/lib/channel/promise_based_filter.h
- src/core/lib/channel/status_util.h
- src/core/lib/channel/tcp_tracer.h
- src/core/lib/compression/compression_internal.h
- src/core/lib/compression/message_compress.h
- src/core/lib/config/core_configuration.h
- src/core/lib/debug/event_log.h
- src/core/lib/debug/histogram_view.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
- src/core/lib/event_engine/ares_resolver.h
- src/core/lib/event_engine/cf_engine/cf_engine.h
@ -11755,9 +11749,6 @@ targets:
- src/core/lib/iomgr/vsock.h
- src/core/lib/iomgr/wakeup_fd_pipe.h
- src/core/lib/iomgr/wakeup_fd_posix.h
- src/core/lib/json/json.h
- src/core/lib/json/json_args.h
- src/core/lib/json/json_writer.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
- src/core/lib/promise/arena_promise.h
@ -11855,7 +11846,16 @@ targets:
- src/core/service_config/service_config.h
- src/core/service_config/service_config_call_data.h
- src/core/service_config/service_config_parser.h
- src/core/telemetry/call_tracer.h
- src/core/telemetry/histogram_view.h
- src/core/telemetry/metrics.h
- src/core/telemetry/stats.h
- src/core/telemetry/stats_data.h
- src/core/telemetry/tcp_tracer.h
- src/core/tsi/alts/handshaker/transport_security_common_api.h
- src/core/util/json/json.h
- src/core/util/json/json_args.h
- src/core/util/json/json_writer.h
- src/core/util/spinlock.h
- test/core/promise/poll_matcher.h
- third_party/upb/upb/generated_code_support.h
@ -11891,7 +11891,6 @@ targets:
- src/core/lib/address_utils/parse_address.cc
- src/core/lib/address_utils/sockaddr_utils.cc
- src/core/lib/backoff/backoff.cc
- src/core/lib/channel/call_tracer.cc
- src/core/lib/channel/channel_args.cc
- src/core/lib/channel/channel_args_preconditioning.cc
- src/core/lib/channel/channel_stack.cc
@ -11899,7 +11898,6 @@ targets:
- src/core/lib/channel/channel_stack_builder_impl.cc
- src/core/lib/channel/channel_stack_trace.cc
- src/core/lib/channel/connected_channel.cc
- src/core/lib/channel/metrics.cc
- src/core/lib/channel/promise_based_filter.cc
- src/core/lib/channel/status_util.cc
- src/core/lib/compression/compression.cc
@ -11907,9 +11905,6 @@ targets:
- src/core/lib/compression/message_compress.cc
- src/core/lib/config/core_configuration.cc
- src/core/lib/debug/event_log.cc
- src/core/lib/debug/histogram_view.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
- src/core/lib/event_engine/ares_resolver.cc
- src/core/lib/event_engine/cf_engine/cf_engine.cc
@ -12045,7 +12040,6 @@ targets:
- src/core/lib/iomgr/wakeup_fd_nospecial.cc
- src/core/lib/iomgr/wakeup_fd_pipe.cc
- src/core/lib/iomgr/wakeup_fd_posix.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
- src/core/lib/promise/trace.cc
@ -12111,7 +12105,13 @@ targets:
- src/core/resolver/resolver.cc
- src/core/resolver/resolver_registry.cc
- src/core/service_config/service_config_parser.cc
- src/core/telemetry/call_tracer.cc
- src/core/telemetry/histogram_view.cc
- src/core/telemetry/metrics.cc
- src/core/telemetry/stats.cc
- src/core/telemetry/stats_data.cc
- src/core/tsi/alts/handshaker/transport_security_common_api.cc
- src/core/util/json/json_writer.cc
- test/core/transport/interception_chain_test.cc
- third_party/upb/upb/mini_descriptor/build_enum.c
- third_party/upb/upb/mini_descriptor/decode.c
@ -12772,7 +12772,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/log_test.cc
- test/core/util/log_test.cc
deps:
- gtest
- grpc_test_util
@ -13373,7 +13373,7 @@ targets:
headers:
- test/core/test_util/fake_stats_plugin.h
src:
- test/core/channel/metrics_test.cc
- test/core/telemetry/metrics_test.cc
- test/core/test_util/fake_stats_plugin.cc
deps:
- gtest
@ -18687,7 +18687,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/spinlock_test.cc
- test/core/util/spinlock_test.cc
deps:
- gtest
- grpc_test_util
@ -18770,7 +18770,7 @@ targets:
language: c++
headers: []
src:
- test/core/debug/stats_test.cc
- test/core/telemetry/stats_test.cc
deps:
- gtest
- grpc_test_util
@ -18982,7 +18982,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/string_test.cc
- test/core/util/string_test.cc
deps:
- gtest
- grpc_test_util
@ -19011,7 +19011,7 @@ targets:
language: c++
headers: []
src:
- test/core/gpr/sync_test.cc
- test/core/util/sync_test.cc
deps:
- gtest
- grpc_test_util
@ -19339,17 +19339,6 @@ targets:
- absl/status:statusor
- absl/utility:utility
- gpr
- name: test_core_gpr_time_test
gtest: true
build: test
language: c++
headers: []
src:
- test/core/gpr/time_test.cc
deps:
- gtest
- grpc_test_util
uses_polling: false
- name: test_core_gprpp_time_test
gtest: true
build: test
@ -19493,9 +19482,9 @@ targets:
- src/core/lib/promise/switch.h
- src/core/lib/promise/wait_set.h
- src/core/lib/transport/promise_endpoint.h
- test/core/call/yodel/yodel_test.h
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h
- test/core/transport/test_suite/fixture.h
- test/core/transport/test_suite/test.h
- test/core/transport/test_suite/transport_test.h
src:
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto
- src/core/ext/transport/chaotic_good/chaotic_good_transport.cc
@ -19504,15 +19493,15 @@ targets:
- src/core/ext/transport/chaotic_good/frame_header.cc
- src/core/ext/transport/chaotic_good/server_transport.cc
- src/core/lib/transport/promise_endpoint.cc
- test/core/call/yodel/test_main.cc
- test/core/call/yodel/yodel_test.cc
- test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc
- test/core/transport/test_suite/call_content.cc
- test/core/transport/test_suite/call_shapes.cc
- test/core/transport/test_suite/chaotic_good_fixture.cc
- test/core/transport/test_suite/fixture.cc
- test/core/transport/test_suite/no_op.cc
- test/core/transport/test_suite/stress.cc
- test/core/transport/test_suite/test.cc
- test/core/transport/test_suite/test_main.cc
- test/core/transport/test_suite/transport_test.cc
deps:
- gtest
- protobuf
@ -19521,6 +19510,17 @@ targets:
- linux
- posix
uses_polling: false
- name: test_core_util_time_test
gtest: true
build: test
language: c++
headers: []
src:
- test/core/util/time_test.cc
deps:
- gtest
- grpc_test_util
uses_polling: false
- name: test_cpp_client_credentials_test
gtest: true
build: test
@ -20260,7 +20260,7 @@ targets:
headers:
- src/core/util/useful.h
src:
- test/core/gpr/useful_test.cc
- test/core/util/useful_test.cc
deps:
- gtest
uses_polling: false

@ -8,6 +8,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
@_gRPC_FIND_CARES@
@_gRPC_FIND_ABSL@
@_gRPC_FIND_RE2@
@_gRPC_FIND_OPENTELEMETRY@
# Targets
include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake)

21
config.m4 generated

@ -442,7 +442,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/call_tracer.cc \
src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \
@ -450,7 +449,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \
src/core/lib/channel/status_util.cc \
src/core/lib/compression/compression.cc \
@ -461,9 +459,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \
src/core/lib/debug/histogram_view.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
src/core/lib/event_engine/ares_resolver.cc \
src/core/lib/event_engine/cf_engine/cf_engine.cc \
@ -622,10 +617,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/json/json_object_loader.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
@ -804,6 +795,11 @@ if test "$PHP_GRPC" != "no"; then
src/core/service_config/service_config_channel_arg_filter.cc \
src/core/service_config/service_config_impl.cc \
src/core/service_config/service_config_parser.cc \
src/core/telemetry/call_tracer.cc \
src/core/telemetry/histogram_view.cc \
src/core/telemetry/metrics.cc \
src/core/telemetry/stats.cc \
src/core/telemetry/stats_data.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \
src/core/tsi/alts/crypt/gsec.cc \
src/core/tsi/alts/frame_protector/alts_counter.cc \
@ -837,6 +833,10 @@ if test "$PHP_GRPC" != "no"; then
src/core/util/android/log.cc \
src/core/util/atm.cc \
src/core/util/iphone/cpu.cc \
src/core/util/json/json_object_loader.cc \
src/core/util/json/json_reader.cc \
src/core/util/json/json_util.cc \
src/core/util/json/json_writer.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/log.cc \
src/core/util/log.cc \
@ -1532,7 +1532,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/event_engine_shims)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/matchers)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/promise)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/resource_quota)
@ -1591,6 +1590,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/server)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/service_config)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/telemetry)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/crypt)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/frame_protector)
@ -1601,6 +1601,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/android)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/iphone)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/linux)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/msys)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/posix)

21
config.w32 generated

@ -407,7 +407,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\address_utils\\sockaddr_utils.cc " +
"src\\core\\lib\\backoff\\backoff.cc " +
"src\\core\\lib\\backoff\\random_early_detection.cc " +
"src\\core\\lib\\channel\\call_tracer.cc " +
"src\\core\\lib\\channel\\channel_args.cc " +
"src\\core\\lib\\channel\\channel_args_preconditioning.cc " +
"src\\core\\lib\\channel\\channel_stack.cc " +
@ -415,7 +414,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\channel\\channel_stack_builder_impl.cc " +
"src\\core\\lib\\channel\\channel_stack_trace.cc " +
"src\\core\\lib\\channel\\connected_channel.cc " +
"src\\core\\lib\\channel\\metrics.cc " +
"src\\core\\lib\\channel\\promise_based_filter.cc " +
"src\\core\\lib\\channel\\status_util.cc " +
"src\\core\\lib\\compression\\compression.cc " +
@ -426,9 +424,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\config\\core_configuration.cc " +
"src\\core\\lib\\config\\load_config.cc " +
"src\\core\\lib\\debug\\event_log.cc " +
"src\\core\\lib\\debug\\histogram_view.cc " +
"src\\core\\lib\\debug\\stats.cc " +
"src\\core\\lib\\debug\\stats_data.cc " +
"src\\core\\lib\\debug\\trace.cc " +
"src\\core\\lib\\event_engine\\ares_resolver.cc " +
"src\\core\\lib\\event_engine\\cf_engine\\cf_engine.cc " +
@ -587,10 +582,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_pipe.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_posix.cc " +
"src\\core\\lib\\json\\json_object_loader.cc " +
"src\\core\\lib\\json\\json_reader.cc " +
"src\\core\\lib\\json\\json_util.cc " +
"src\\core\\lib\\json\\json_writer.cc " +
"src\\core\\lib\\matchers\\matchers.cc " +
"src\\core\\lib\\promise\\activity.cc " +
"src\\core\\lib\\promise\\party.cc " +
@ -769,6 +760,11 @@ if (PHP_GRPC != "no") {
"src\\core\\service_config\\service_config_channel_arg_filter.cc " +
"src\\core\\service_config\\service_config_impl.cc " +
"src\\core\\service_config\\service_config_parser.cc " +
"src\\core\\telemetry\\call_tracer.cc " +
"src\\core\\telemetry\\histogram_view.cc " +
"src\\core\\telemetry\\metrics.cc " +
"src\\core\\telemetry\\stats.cc " +
"src\\core\\telemetry\\stats_data.cc " +
"src\\core\\tsi\\alts\\crypt\\aes_gcm.cc " +
"src\\core\\tsi\\alts\\crypt\\gsec.cc " +
"src\\core\\tsi\\alts\\frame_protector\\alts_counter.cc " +
@ -802,6 +798,10 @@ if (PHP_GRPC != "no") {
"src\\core\\util\\android\\log.cc " +
"src\\core\\util\\atm.cc " +
"src\\core\\util\\iphone\\cpu.cc " +
"src\\core\\util\\json\\json_object_loader.cc " +
"src\\core\\util\\json\\json_reader.cc " +
"src\\core\\util\\json\\json_util.cc " +
"src\\core\\util\\json\\json_writer.cc " +
"src\\core\\util\\linux\\cpu.cc " +
"src\\core\\util\\linux\\log.cc " +
"src\\core\\util\\log.cc " +
@ -1669,7 +1669,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr\\event_engine_shims");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\matchers");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\promise");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\resource_quota");
@ -1729,6 +1728,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\server");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\service_config");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\telemetry");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts\\crypt");
@ -1741,6 +1741,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\android");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\iphone");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\linux");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\msys");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\posix");

@ -14,12 +14,19 @@
licenses(["notice"])
package(
default_visibility = ["//examples/cpp/otel:__subpackages__"],
)
cc_library(
name = "util",
srcs = ["util.cc"],
hdrs = ["util.h"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
@ -32,7 +39,6 @@ cc_binary(
"util",
"//:grpc++",
"//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
@ -47,9 +53,7 @@ cc_binary(
deps = [
"util",
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",

@ -67,22 +67,21 @@ target_link_libraries(hw_grpc_proto
add_library(util
"util.cc")
target_link_libraries(util
hw_grpc_proto
opentelemetry-cpp::metrics
${_GRPC_GRPCPP})
${_GRPC_GRPCPP}
${_REFLECTION}
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_callback_(client|server)
foreach(_target
greeter_callback_client greeter_callback_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
hw_grpc_proto
absl::flags
absl::flags_parse
opentelemetry-cpp::metrics
opentelemetry-cpp::prometheus_exporter
${_REFLECTION}
${_GRPC_GRPCPP}
gRPC::grpcpp_otel_plugin
util
${_PROTOBUF_LIBPROTOBUF})
util)
endforeach()

@ -0,0 +1,124 @@
#
# Copyright 2015 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# TODO(jtattermusch): Remove the hack to workaround protobuf bug. See https://github.com/protocolbuffers/protobuf/issues/12439
# Hack: protobuf currently doesn't declare it's absl dependencies when protobuf.pc pkgconfig file is used.
PROTOBUF_ABSL_DEPS = absl_absl_check absl_absl_log absl_algorithm absl_base absl_bind_front absl_bits absl_btree absl_cleanup absl_cord absl_core_headers absl_debugging absl_die_if_null absl_dynamic_annotations absl_flags absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_layout absl_log_initialize absl_log_severity absl_memory absl_node_hash_map absl_node_hash_set absl_optional absl_span absl_status absl_statusor absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant
# TODO(jtattermusch): Remove the hack to workaround protobuf/utf8_range bug. See https://github.com/protocolbuffers/utf8_range/issues/20
# Hack: utf8_range (which is protobuf's dependency) currently doesn't have a pkgconfig file, so we need to explicitly
# tweak the list of libraries to link against to fix the build.
PROTOBUF_UTF8_RANGE_LINK_LIBS = -lutf8_validity
OPENTELEMETRY_LINK_LIBS = -lopentelemetry_metrics -lopentelemetry_exporter_prometheus -lopentelemetry_common -lopentelemetry_resources -lprometheus-cpp-pull -lprometheus-cpp-core
HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
SYSTEM ?= $(HOST_SYSTEM)
CXX = g++
CPPFLAGS += `pkg-config --cflags protobuf grpc absl_flags absl_flags_parse`
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-lgrpc++_reflection \
-ldl
else
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed \
-ldl
endif
PROTOC = protoc
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
PROTOS_PATH = ../../protos
vpath %.proto $(PROTOS_PATH)
all: system-check greeter_callback_client greeter_callback_server
greeter_callback_client: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_client.o
$(CXX) $^ $(LDFLAGS) -o $@
greeter_callback_server: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_server.o
$(CXX) $^ $(LDFLAGS) -o $@
.PRECIOUS: %.grpc.pb.cc
%.grpc.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
.PRECIOUS: %.pb.cc
%.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $<
clean:
rm -f *.o *.pb.cc *.pb.h greeter_callback_client greeter_callback_server
# The following is to test your system and ensure a smoother experience.
# They are by no means necessary to actually compile a grpc-enabled software.
PROTOC_CMD = which $(PROTOC)
PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q 'libprotoc.3\|libprotoc [0-9][0-9]\.'
PLUGIN_CHECK_CMD = which $(GRPC_CPP_PLUGIN)
HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false)
ifeq ($(HAS_PROTOC),true)
HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false)
endif
HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false)
SYSTEM_OK = false
ifeq ($(HAS_VALID_PROTOC),true)
ifeq ($(HAS_PLUGIN),true)
SYSTEM_OK = true
endif
endif
system-check:
ifneq ($(HAS_VALID_PROTOC),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have protoc 3.0.0 or newer installed in your path."
@echo "Please install an up-to-date version of Google protocol buffers."
@echo "You can find it here:"
@echo
@echo " https://github.com/protocolbuffers/protobuf/releases"
@echo
@echo "Here is what I get when trying to evaluate your version of protoc:"
@echo
-$(PROTOC) --version
@echo
@echo
endif
ifneq ($(HAS_PLUGIN),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have the grpc c++ protobuf plugin installed in your path."
@echo "Please install grpc. You can find it here:"
@echo
@echo " https://github.com/grpc/grpc"
@echo
@echo "Here is what I get when trying to detect if you have the plugin:"
@echo
-which $(GRPC_CPP_PLUGIN)
@echo
@echo
endif
ifneq ($(SYSTEM_OK),true)
@false
endif

@ -16,12 +16,14 @@
*
*/
#include <condition_variable>
#include <iostream>
#include <memory>
#include <mutex>
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <string>
#include <thread>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
@ -30,13 +32,10 @@
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#include "util.h"
#endif
@ -44,64 +43,6 @@ ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9465",
"Prometheus exporter endpoint");
using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus
@ -125,20 +66,9 @@ int main(int argc, char** argv) {
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
std::string target_str = absl::GetFlag(FLAGS_target);
grpc::ChannelArguments args;
// Continuously send RPCs every second.
while (true) {
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
RunClient(absl::GetFlag(FLAGS_target));
return 0;
}

@ -16,6 +16,13 @@
*
*/
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <iostream>
#include <memory>
#include <string>
@ -28,15 +35,10 @@
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#include "util.h"
#endif
@ -44,50 +46,6 @@ ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus

@ -0,0 +1,44 @@
# Copyright 2023 the gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
licenses(["notice"])
cc_binary(
name = "greeter_callback_client",
srcs = ["greeter_callback_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpcpp_otel_plugin",
"//examples/cpp/otel:util",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/ostream:ostream_metric_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
cc_binary(
name = "greeter_callback_server",
srcs = ["greeter_callback_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpcpp_otel_plugin",
"//examples/cpp/otel:util",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",
"@io_opentelemetry_cpp//exporters/ostream:ostream_metric_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)

@ -0,0 +1,85 @@
# Copyright 2018 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# cmake build file for C++ gRPC OpenTelemetry example.
# Assumes absl, protobuf, prometheus-cpp, opentelemetry-cpp and gRPC (with -DgRPC_BUILD_OPENTELEMETRY_PLUGIN=ON) have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.13)
project(grpc_opentelemetry_example C CXX)
include(../../cmake/common.cmake)
# Find opentelemetry-cpp package
find_package(opentelemetry-cpp CONFIG REQUIRED)
# Proto file
get_filename_component(hw_proto "../../../protos/helloworld.proto" ABSOLUTE)
get_filename_component(hw_proto_path "${hw_proto}" PATH)
# Generated sources
set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.cc")
set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.h")
set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.h")
add_custom_command(
OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${hw_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${hw_proto}"
DEPENDS "${hw_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
include_directories("${CMAKE_SOURCE_DIR}")
# hw_grpc_proto
add_library(hw_grpc_proto
${hw_grpc_srcs}
${hw_grpc_hdrs}
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# util
add_library(util
"../util.cc")
target_link_libraries(util
hw_grpc_proto
opentelemetry-cpp::metrics
${_GRPC_GRPCPP}
${_REFLECTION}
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_callback_(client|server)
foreach(_target
greeter_callback_client greeter_callback_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
absl::flags
absl::flags_parse
opentelemetry-cpp::metrics
opentelemetry-cpp::ostream_metrics_exporter
gRPC::grpcpp_otel_plugin
util
${_PROTOBUF_LIBPROTOBUF})
endforeach()

@ -0,0 +1,127 @@
#
# Copyright 2015 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# TODO(jtattermusch): Remove the hack to workaround protobuf bug. See https://github.com/protocolbuffers/protobuf/issues/12439
# Hack: protobuf currently doesn't declare it's absl dependencies when protobuf.pc pkgconfig file is used.
PROTOBUF_ABSL_DEPS = absl_absl_check absl_absl_log absl_algorithm absl_base absl_bind_front absl_bits absl_btree absl_cleanup absl_cord absl_core_headers absl_debugging absl_die_if_null absl_dynamic_annotations absl_flags absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_layout absl_log_initialize absl_log_severity absl_memory absl_node_hash_map absl_node_hash_set absl_optional absl_span absl_status absl_statusor absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant
# TODO(jtattermusch): Remove the hack to workaround protobuf/utf8_range bug. See https://github.com/protocolbuffers/utf8_range/issues/20
# Hack: utf8_range (which is protobuf's dependency) currently doesn't have a pkgconfig file, so we need to explicitly
# tweak the list of libraries to link against to fix the build.
PROTOBUF_UTF8_RANGE_LINK_LIBS = -lutf8_validity
OPENTELEMETRY_LINK_LIBS = -lopentelemetry_metrics -lopentelemetry_exporter_ostream_metrics -lopentelemetry_resources -lopentelemetry_common
HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
SYSTEM ?= $(HOST_SYSTEM)
CXX = g++
CPPFLAGS += `pkg-config --cflags protobuf grpc absl_flags absl_flags_parse`
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-lgrpc++_reflection \
-ldl
else
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed \
-ldl
endif
PROTOC = protoc
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
PROTOS_PATH = ../../../protos
vpath %.proto $(PROTOS_PATH)
all: system-check greeter_callback_client greeter_callback_server
greeter_callback_client: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_client.o
$(CXX) $^ $(LDFLAGS) -o $@
greeter_callback_server: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_server.o
$(CXX) $^ $(LDFLAGS) -o $@
.PRECIOUS: %.grpc.pb.cc
%.grpc.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
.PRECIOUS: %.pb.cc
%.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $<
util.o: ../util.cc
$(CXX) $^ -I . -I $(CPPFLAGS) -c -o $@
clean:
rm -f *.o *.pb.cc *.pb.h greeter_callback_client greeter_callback_server
# The following is to test your system and ensure a smoother experience.
# They are by no means necessary to actually compile a grpc-enabled software.
PROTOC_CMD = which $(PROTOC)
PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q 'libprotoc.3\|libprotoc [0-9][0-9]\.'
PLUGIN_CHECK_CMD = which $(GRPC_CPP_PLUGIN)
HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false)
ifeq ($(HAS_PROTOC),true)
HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false)
endif
HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false)
SYSTEM_OK = false
ifeq ($(HAS_VALID_PROTOC),true)
ifeq ($(HAS_PLUGIN),true)
SYSTEM_OK = true
endif
endif
system-check:
ifneq ($(HAS_VALID_PROTOC),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have protoc 3.0.0 or newer installed in your path."
@echo "Please install an up-to-date version of Google protocol buffers."
@echo "You can find it here:"
@echo
@echo " https://github.com/protocolbuffers/protobuf/releases"
@echo
@echo "Here is what I get when trying to evaluate your version of protoc:"
@echo
-$(PROTOC) --version
@echo
@echo
endif
ifneq ($(HAS_PLUGIN),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have the grpc c++ protobuf plugin installed in your path."
@echo "Please install grpc. You can find it here:"
@echo
@echo " https://github.com/grpc/grpc"
@echo
@echo "Here is what I get when trying to detect if you have the plugin:"
@echo
-which $(GRPC_CPP_PLUGIN)
@echo
@echo
endif
ifneq ($(SYSTEM_OK),true)
@false
endif

@ -0,0 +1,79 @@
/*
*
* Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "opentelemetry/exporters/ostream/metric_exporter.h"
#include "opentelemetry/exporters/ostream/metric_exporter_factory.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_factory.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#else
#include "../util.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with an ostream
// exporter.
auto ostream_exporter =
opentelemetry::exporter::metrics::OStreamMetricExporterFactory::Create();
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions
reader_options;
reader_options.export_interval_millis = std::chrono::milliseconds(1000);
reader_options.export_timeout_millis = std::chrono::milliseconds(500);
auto reader =
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderFactory::Create(
std::move(ostream_exporter), reader_options);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.client.attempt.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.client.attempt.duration", "s");
meter_provider->AddMetricReader(std::move(reader));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
// Continuously send RPCs every second.
RunClient(absl::GetFlag(FLAGS_target));
return 0;
}

@ -0,0 +1,78 @@
/*
*
* Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "opentelemetry/exporters/ostream/metric_exporter.h"
#include "opentelemetry/exporters/ostream/metric_exporter_factory.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_factory.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#else
#include "../util.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with an ostream
// exporter.
auto ostream_exporter =
opentelemetry::exporter::metrics::OStreamMetricExporterFactory::Create();
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions
reader_options;
reader_options.export_interval_millis = std::chrono::milliseconds(1000);
reader_options.export_timeout_millis = std::chrono::milliseconds(500);
auto reader =
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderFactory::Create(
std::move(ostream_exporter), reader_options);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.server.call.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.server.call.duration", "s");
meter_provider->AddMetricReader(std::move(reader));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

@ -16,17 +16,42 @@
//
//
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#else
#include "util.h"
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <condition_variable>
#include <mutex>
#include "opentelemetry/sdk/metrics/view/instrument_selector_factory.h"
#include "opentelemetry/sdk/metrics/view/meter_selector_factory.h"
#include "opentelemetry/sdk/metrics/view/view_factory.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#include "util.h"
#endif
using grpc::CallbackServerContext;
using grpc::Channel;
using grpc::ClientContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
void AddLatencyView(opentelemetry::sdk::metrics::MeterProvider* provider,
const std::string& name, const std::string& unit) {
@ -48,3 +73,109 @@ void AddLatencyView(opentelemetry::sdk::metrics::MeterProvider* provider,
opentelemetry::sdk::metrics::AggregationType::kHistogram,
std::move(histogram_config)));
}
namespace {
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
} // namespace
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
void RunClient(const std::string& target_str) {
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
grpc::ChannelArguments args;
// Continuously send RPCs every second.
while (true) {
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}

@ -28,4 +28,6 @@
void AddLatencyView(opentelemetry::sdk::metrics::MeterProvider* provider,
const std::string& name, const std::string& unit);
void RunServer(uint16_t port);
void RunClient(const std::string& target_str);
#endif // GRPCPP_EXAMPLES_CPP_OTEL_UTIL_H

52
gRPC-C++.podspec generated

@ -873,7 +873,6 @@ Pod::Spec.new do |s|
'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h',
@ -883,19 +882,14 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h',
@ -1079,13 +1073,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -1281,6 +1268,12 @@ Pod::Spec.new do |s|
'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -1311,6 +1304,13 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',
@ -2143,7 +2143,6 @@ Pod::Spec.new do |s|
'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h',
@ -2153,19 +2152,14 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h',
@ -2349,13 +2343,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -2551,6 +2538,12 @@ Pod::Spec.new do |s|
'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -2581,6 +2574,13 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',

70
gRPC-Core.podspec generated

@ -1209,8 +1209,6 @@ Pod::Spec.new do |s|
'src/core/lib/backoff/random_early_detection.cc',
'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.cc',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.cc',
'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.cc',
@ -1227,13 +1225,10 @@ Pod::Spec.new do |s|
'src/core/lib/channel/connected_channel.cc',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.cc',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.cc',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/status_util.cc',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression.cc',
'src/core/lib/compression/compression_internal.cc',
'src/core/lib/compression/compression_internal.h',
@ -1248,12 +1243,6 @@ Pod::Spec.new do |s|
'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.cc',
'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.cc',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.cc',
'src/core/lib/debug/trace.h',
'src/core/lib/event_engine/ares_resolver.cc',
@ -1595,17 +1584,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.cc',
'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.cc',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.cc',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.cc',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.cc',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.cc',
@ -1979,6 +1957,17 @@ Pod::Spec.new do |s|
'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.cc',
'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.cc',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.cc',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.cc',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.cc',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.cc',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/aes_gcm.cc',
'src/core/tsi/alts/crypt/gsec.cc',
'src/core/tsi/alts/crypt/gsec.h',
@ -2042,6 +2031,17 @@ Pod::Spec.new do |s|
'src/core/util/android/log.cc',
'src/core/util/atm.cc',
'src/core/util/iphone/cpu.cc',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.cc',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.cc',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.cc',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.cc',
'src/core/util/json/json_writer.h',
'src/core/util/linux/cpu.cc',
'src/core/util/linux/log.cc',
'src/core/util/log.cc',
@ -2922,7 +2922,6 @@ Pod::Spec.new do |s|
'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h',
@ -2932,19 +2931,14 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h',
@ -3128,13 +3122,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -3330,6 +3317,12 @@ Pod::Spec.new do |s|
'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -3360,6 +3353,13 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',

44
grpc.gemspec generated

@ -1096,8 +1096,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/backoff/random_early_detection.cc )
s.files += %w( src/core/lib/backoff/random_early_detection.h )
s.files += %w( src/core/lib/channel/call_finalization.h )
s.files += %w( src/core/lib/channel/call_tracer.cc )
s.files += %w( src/core/lib/channel/call_tracer.h )
s.files += %w( src/core/lib/channel/channel_args.cc )
s.files += %w( src/core/lib/channel/channel_args.h )
s.files += %w( src/core/lib/channel/channel_args_preconditioning.cc )
@ -1114,13 +1112,10 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/channel/connected_channel.cc )
s.files += %w( src/core/lib/channel/connected_channel.h )
s.files += %w( src/core/lib/channel/context.h )
s.files += %w( src/core/lib/channel/metrics.cc )
s.files += %w( src/core/lib/channel/metrics.h )
s.files += %w( src/core/lib/channel/promise_based_filter.cc )
s.files += %w( src/core/lib/channel/promise_based_filter.h )
s.files += %w( src/core/lib/channel/status_util.cc )
s.files += %w( src/core/lib/channel/status_util.h )
s.files += %w( src/core/lib/channel/tcp_tracer.h )
s.files += %w( src/core/lib/compression/compression.cc )
s.files += %w( src/core/lib/compression/compression_internal.cc )
s.files += %w( src/core/lib/compression/compression_internal.h )
@ -1135,12 +1130,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/config/load_config.h )
s.files += %w( src/core/lib/debug/event_log.cc )
s.files += %w( src/core/lib/debug/event_log.h )
s.files += %w( src/core/lib/debug/histogram_view.cc )
s.files += %w( src/core/lib/debug/histogram_view.h )
s.files += %w( src/core/lib/debug/stats.cc )
s.files += %w( src/core/lib/debug/stats.h )
s.files += %w( src/core/lib/debug/stats_data.cc )
s.files += %w( src/core/lib/debug/stats_data.h )
s.files += %w( src/core/lib/debug/trace.cc )
s.files += %w( src/core/lib/debug/trace.h )
s.files += %w( src/core/lib/event_engine/ares_resolver.cc )
@ -1482,17 +1471,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.h )
s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.cc )
s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.h )
s.files += %w( src/core/lib/json/json.h )
s.files += %w( src/core/lib/json/json_args.h )
s.files += %w( src/core/lib/json/json_channel_args.h )
s.files += %w( src/core/lib/json/json_object_loader.cc )
s.files += %w( src/core/lib/json/json_object_loader.h )
s.files += %w( src/core/lib/json/json_reader.cc )
s.files += %w( src/core/lib/json/json_reader.h )
s.files += %w( src/core/lib/json/json_util.cc )
s.files += %w( src/core/lib/json/json_util.h )
s.files += %w( src/core/lib/json/json_writer.cc )
s.files += %w( src/core/lib/json/json_writer.h )
s.files += %w( src/core/lib/matchers/matchers.cc )
s.files += %w( src/core/lib/matchers/matchers.h )
s.files += %w( src/core/lib/promise/activity.cc )
@ -1866,6 +1844,17 @@ Gem::Specification.new do |s|
s.files += %w( src/core/service_config/service_config_impl.h )
s.files += %w( src/core/service_config/service_config_parser.cc )
s.files += %w( src/core/service_config/service_config_parser.h )
s.files += %w( src/core/telemetry/call_tracer.cc )
s.files += %w( src/core/telemetry/call_tracer.h )
s.files += %w( src/core/telemetry/histogram_view.cc )
s.files += %w( src/core/telemetry/histogram_view.h )
s.files += %w( src/core/telemetry/metrics.cc )
s.files += %w( src/core/telemetry/metrics.h )
s.files += %w( src/core/telemetry/stats.cc )
s.files += %w( src/core/telemetry/stats.h )
s.files += %w( src/core/telemetry/stats_data.cc )
s.files += %w( src/core/telemetry/stats_data.h )
s.files += %w( src/core/telemetry/tcp_tracer.h )
s.files += %w( src/core/tsi/alts/crypt/aes_gcm.cc )
s.files += %w( src/core/tsi/alts/crypt/gsec.cc )
s.files += %w( src/core/tsi/alts/crypt/gsec.h )
@ -1929,6 +1918,17 @@ Gem::Specification.new do |s|
s.files += %w( src/core/util/android/log.cc )
s.files += %w( src/core/util/atm.cc )
s.files += %w( src/core/util/iphone/cpu.cc )
s.files += %w( src/core/util/json/json.h )
s.files += %w( src/core/util/json/json_args.h )
s.files += %w( src/core/util/json/json_channel_args.h )
s.files += %w( src/core/util/json/json_object_loader.cc )
s.files += %w( src/core/util/json/json_object_loader.h )
s.files += %w( src/core/util/json/json_reader.cc )
s.files += %w( src/core/util/json/json_reader.h )
s.files += %w( src/core/util/json/json_util.cc )
s.files += %w( src/core/util/json/json_util.h )
s.files += %w( src/core/util/json/json_writer.cc )
s.files += %w( src/core/util/json/json_writer.h )
s.files += %w( src/core/util/linux/cpu.cc )
s.files += %w( src/core/util/linux/log.cc )
s.files += %w( src/core/util/log.cc )

@ -771,7 +771,9 @@ class CallOpRecvInitialMetadata {
class CallOpClientRecvStatus {
public:
CallOpClientRecvStatus()
: recv_status_(nullptr), debug_error_string_(nullptr) {}
: metadata_map_(nullptr),
recv_status_(nullptr),
debug_error_string_(nullptr) {}
void ClientRecvStatus(grpc::ClientContext* context, Status* status) {
client_context_ = context;

44
package.xml generated

@ -1078,8 +1078,6 @@
<file baseinstalldir="/" name="src/core/lib/backoff/random_early_detection.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/backoff/random_early_detection.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/call_finalization.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/call_tracer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/call_tracer.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/channel_args.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/channel_args.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/channel_args_preconditioning.cc" role="src" />
@ -1096,13 +1094,10 @@
<file baseinstalldir="/" name="src/core/lib/channel/connected_channel.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/connected_channel.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/context.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/metrics.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/metrics.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/promise_based_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/promise_based_filter.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/status_util.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/status_util.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/channel/tcp_tracer.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/compression/compression.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/compression/compression_internal.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/compression/compression_internal.h" role="src" />
@ -1117,12 +1112,6 @@
<file baseinstalldir="/" name="src/core/lib/config/load_config.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/event_log.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/event_log.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/histogram_view.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/histogram_view.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/stats.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/stats.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/stats_data.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/stats_data.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/trace.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/debug/trace.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/ares_resolver.cc" role="src" />
@ -1464,17 +1453,6 @@
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_pipe.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_args.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_channel_args.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_object_loader.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_object_loader.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_reader.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_reader.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_util.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_util.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_writer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_writer.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/promise/activity.cc" role="src" />
@ -1848,6 +1826,17 @@
<file baseinstalldir="/" name="src/core/service_config/service_config_impl.h" role="src" />
<file baseinstalldir="/" name="src/core/service_config/service_config_parser.cc" role="src" />
<file baseinstalldir="/" name="src/core/service_config/service_config_parser.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/call_tracer.cc" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/call_tracer.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/histogram_view.cc" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/histogram_view.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/metrics.cc" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/metrics.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/stats.cc" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/stats.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/stats_data.cc" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/stats_data.h" role="src" />
<file baseinstalldir="/" name="src/core/telemetry/tcp_tracer.h" role="src" />
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/aes_gcm.cc" role="src" />
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/gsec.cc" role="src" />
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/gsec.h" role="src" />
@ -1911,6 +1900,17 @@
<file baseinstalldir="/" name="src/core/util/android/log.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/atm.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/iphone/cpu.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_args.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_channel_args.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_object_loader.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_object_loader.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_reader.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_reader.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_util.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_util.h" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_writer.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/json/json_writer.h" role="src" />
<file baseinstalldir="/" name="src/core/util/linux/cpu.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/linux/log.cc" role="src" />
<file baseinstalldir="/" name="src/core/util/log.cc" role="src" />

@ -441,7 +441,7 @@ DEFINE_MACROS += (("GRPC_DO_NOT_INSTANTIATE_POSIX_POLLER", 1),)
# Fix for Cython build issue in aarch64.
# It's required to define this macro before include <inttypes.h>.
# <inttypes.h> was included in core/lib/channel/call_tracer.h.
# <inttypes.h> was included in core/telemetry/call_tracer.h.
# This macro should already be defined in grpc/grpc.h through port_platform.h,
# but we're still having issue in aarch64, so we manually define the macro here.
# TODO(xuanwn): Figure out what's going on in the aarch64 build so we can support

@ -2999,10 +2999,10 @@ grpc_cc_library(
grpc_cc_library(
name = "histogram_view",
srcs = [
"lib/debug/histogram_view.cc",
"telemetry/histogram_view.cc",
],
hdrs = [
"lib/debug/histogram_view.h",
"telemetry/histogram_view.h",
],
deps = ["//:gpr"],
)
@ -3010,10 +3010,10 @@ grpc_cc_library(
grpc_cc_library(
name = "stats_data",
srcs = [
"lib/debug/stats_data.cc",
"telemetry/stats_data.cc",
],
hdrs = [
"lib/debug/stats_data.h",
"telemetry/stats_data.h",
],
external_deps = ["absl/strings"],
deps = [
@ -4525,7 +4525,7 @@ grpc_cc_library(
grpc_cc_library(
name = "json",
hdrs = [
"lib/json/json.h",
"util/json/json.h",
],
deps = ["//:gpr"],
)
@ -4533,10 +4533,10 @@ grpc_cc_library(
grpc_cc_library(
name = "json_reader",
srcs = [
"lib/json/json_reader.cc",
"util/json/json_reader.cc",
],
hdrs = [
"lib/json/json_reader.h",
"util/json/json_reader.h",
],
external_deps = [
"absl/base:core_headers",
@ -4558,10 +4558,10 @@ grpc_cc_library(
grpc_cc_library(
name = "json_writer",
srcs = [
"lib/json/json_writer.cc",
"util/json/json_writer.cc",
],
hdrs = [
"lib/json/json_writer.h",
"util/json/json_writer.h",
],
external_deps = ["absl/strings"],
deps = [
@ -4572,8 +4572,8 @@ grpc_cc_library(
grpc_cc_library(
name = "json_util",
srcs = ["lib/json/json_util.cc"],
hdrs = ["lib/json/json_util.h"],
srcs = ["util/json/json_util.cc"],
hdrs = ["util/json/json_util.h"],
external_deps = ["absl/strings"],
deps = [
"error",
@ -4589,15 +4589,15 @@ grpc_cc_library(
grpc_cc_library(
name = "json_args",
hdrs = ["lib/json/json_args.h"],
hdrs = ["util/json/json_args.h"],
external_deps = ["absl/strings"],
deps = ["//:gpr"],
)
grpc_cc_library(
name = "json_object_loader",
srcs = ["lib/json/json_object_loader.cc"],
hdrs = ["lib/json/json_object_loader.h"],
srcs = ["util/json/json_object_loader.cc"],
hdrs = ["util/json/json_object_loader.h"],
external_deps = [
"absl/meta:type_traits",
"absl/status",
@ -4618,7 +4618,7 @@ grpc_cc_library(
grpc_cc_library(
name = "json_channel_args",
hdrs = ["lib/json/json_channel_args.h"],
hdrs = ["util/json/json_channel_args.h"],
external_deps = [
"absl/strings",
"absl/types:optional",
@ -7888,10 +7888,10 @@ grpc_cc_library(
grpc_cc_library(
name = "metrics",
srcs = [
"lib/channel/metrics.cc",
"telemetry/metrics.cc",
],
hdrs = [
"lib/channel/metrics.h",
"telemetry/metrics.h",
],
external_deps = [
"absl/container:flat_hash_map",

@ -30,7 +30,7 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/json/json.h"
#include "src/core/util/json/json.h"
namespace grpc_core {
namespace channelz {

@ -38,9 +38,9 @@
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json_writer.h"
#include "src/core/util/string.h"
#include "src/core/util/useful.h"

@ -42,7 +42,7 @@
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/json/json.h"
#include "src/core/util/json/json.h"
#include "src/core/util/time_precise.h"
#include "src/core/util/useful.h"

@ -36,8 +36,8 @@
#include "src/core/channelz/channelz.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_writer.h"
namespace grpc_core {
namespace channelz {

@ -79,7 +79,6 @@
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/promise/cancel_callback.h"
#include "src/core/lib/promise/context.h"
#include "src/core/lib/promise/latch.h"
@ -103,6 +102,7 @@
#include "src/core/resolver/resolver_registry.h"
#include "src/core/service_config/service_config_call_data.h"
#include "src/core/service_config/service_config_impl.h"
#include "src/core/util/json/json.h"
#include "src/core/util/useful.h"
//

@ -43,7 +43,6 @@
#include "src/core/client_channel/dynamic_filters.h"
#include "src/core/client_channel/subchannel.h"
#include "src/core/client_channel/subchannel_pool_interface.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/channel/channel_stack.h"
@ -70,6 +69,7 @@
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/resolver/resolver.h"
#include "src/core/service_config/service_config.h"
#include "src/core/telemetry/call_tracer.h"
#include "src/core/util/time_precise.h"
//

@ -26,12 +26,12 @@
#include <grpc/support/log.h>
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/gprpp/unique_type_name.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/service_config/service_config_call_data.h"
#include "src/core/telemetry/call_tracer.h"
//
// This file contains internal interfaces used to allow various plugins

@ -32,11 +32,11 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
namespace grpc_core {
namespace internal {

@ -35,7 +35,7 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/status_util.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/json/json_channel_args.h"
#include "src/core/util/json/json_channel_args.h"
// As per the retry design, we do not allow more than 5 retry attempts.
#define MAX_MAX_RETRY_ATTEMPTS 5

@ -32,10 +32,10 @@
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
namespace grpc_core {
namespace internal {

@ -49,8 +49,6 @@
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/channel_stack_builder_impl.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
@ -67,6 +65,8 @@
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/util/alloc.h"
#include "src/core/util/useful.h"

@ -129,6 +129,7 @@ BackendMetricFilter::Create(const ChannelArgs&, ChannelFilter::Args) {
}
void BackendMetricFilter::Call::OnServerTrailingMetadata(ServerMetadata& md) {
if (md.get(GrpcCallWasCancelled()).value_or(false)) return;
auto* ctx = &GetContext<
grpc_call_context_element>()[GRPC_CONTEXT_BACKEND_METRIC_PROVIDER];
if (ctx == nullptr) {

@ -35,10 +35,10 @@
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
// Channel arg key for enabling parsing fault injection via method config.
#define GRPC_ARG_PARSE_FAULT_INJECTION_METHOD_CONFIG \

@ -35,7 +35,6 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/message_size/message_size_filter.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/context.h"
@ -54,6 +53,7 @@
#include "src/core/lib/surface/call_trace.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
namespace grpc_core {

@ -50,7 +50,6 @@
#include "src/core/client_channel/client_channel_filter.h"
#include "src/core/ext/filters/logging/logging_sink.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/channel/channel_stack.h"
@ -71,6 +70,7 @@
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/resolver/resolver_registry.h"
#include "src/core/telemetry/call_tracer.h"
namespace grpc_core {
@ -369,13 +369,14 @@ void ClientLoggingFilter::Call::OnClientInitialMetadata(
return;
}
call_data_->LogClientHeader(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>(), md);
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>(), md);
}
void ClientLoggingFilter::Call::OnServerInitialMetadata(ServerMetadata& md) {
if (!call_data_.has_value()) return;
call_data_->LogServerHeader(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>(), &md);
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>(),
&md);
}
void ClientLoggingFilter::Call::OnServerTrailingMetadata(ServerMetadata& md) {
@ -383,32 +384,33 @@ void ClientLoggingFilter::Call::OnServerTrailingMetadata(ServerMetadata& md) {
if (md.get(GrpcCallWasCancelled()).value_or(false) &&
md.get(GrpcStatusMetadata()) == GRPC_STATUS_CANCELLED) {
call_data_->LogCancel(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>());
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>());
return;
}
call_data_->LogServerTrailer(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>(), &md);
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>(),
&md);
}
void ClientLoggingFilter::Call::OnClientToServerMessage(
const Message& message) {
if (!call_data_.has_value()) return;
call_data_->LogClientMessage(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>(),
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>(),
message.payload());
}
void ClientLoggingFilter::Call::OnClientToServerHalfClose() {
if (!call_data_.has_value()) return;
call_data_->LogClientHalfClose(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>());
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>());
}
void ClientLoggingFilter::Call::OnServerToClientMessage(
const Message& message) {
if (!call_data_.has_value()) return;
call_data_->LogServerMessage(
/*is_client=*/true, GetContext<CallTracerAnnotationInterface>(),
/*is_client=*/true, MaybeGetContext<CallTracerAnnotationInterface>(),
message.payload());
}
@ -432,13 +434,15 @@ void ServerLoggingFilter::Call::OnClientInitialMetadata(ClientMetadata& md) {
return;
}
call_data_->LogClientHeader(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>(), md);
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>(),
md);
}
void ServerLoggingFilter::Call::OnServerInitialMetadata(ServerMetadata& md) {
if (!call_data_.has_value()) return;
call_data_->LogServerHeader(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>(), &md);
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>(),
&md);
}
void ServerLoggingFilter::Call::OnServerTrailingMetadata(ServerMetadata& md) {
@ -446,32 +450,33 @@ void ServerLoggingFilter::Call::OnServerTrailingMetadata(ServerMetadata& md) {
if (md.get(GrpcCallWasCancelled()).value_or(false) &&
md.get(GrpcStatusMetadata()) == GRPC_STATUS_CANCELLED) {
call_data_->LogCancel(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>());
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>());
return;
}
call_data_->LogServerTrailer(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>(), &md);
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>(),
&md);
}
void ServerLoggingFilter::Call::OnClientToServerMessage(
const Message& message) {
if (!call_data_.has_value()) return;
call_data_->LogClientMessage(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>(),
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>(),
message.payload());
}
void ServerLoggingFilter::Call::OnClientToServerHalfClose() {
if (!call_data_.has_value()) return;
call_data_->LogClientHalfClose(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>());
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>());
}
void ServerLoggingFilter::Call::OnServerToClientMessage(
const Message& message) {
if (!call_data_.has_value()) return;
call_data_->LogServerMessage(
/*is_client=*/false, GetContext<CallTracerAnnotationInterface>(),
/*is_client=*/false, MaybeGetContext<CallTracerAnnotationInterface>(),
message.payload());
}

@ -34,12 +34,12 @@
#include "src/core/lib/channel/promise_based_filter.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/promise/arena_promise.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
namespace grpc_core {

@ -31,10 +31,10 @@
#include <grpc/grpc_audit_logging.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/matchers/matchers.h"
#include "src/core/lib/security/authorization/audit_logging.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
namespace grpc_core {

@ -31,10 +31,10 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/security/authorization/grpc_authorization_engine.h"
#include "src/core/lib/security/authorization/rbac_policy.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
namespace grpc_core {

@ -32,10 +32,10 @@
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/service_config/service_config_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
// Channel arg key for enabling parsing fault injection via method config.
#define GRPC_ARG_PARSE_STATEFUL_SESSION_METHOD_CONFIG \

@ -693,11 +693,6 @@ void grpc_binder_transport::Orphan() {
absl::OkStatus());
}
grpc_endpoint* grpc_binder_transport::GetEndpoint() {
gpr_log(GPR_INFO, __func__);
return nullptr;
}
size_t grpc_binder_transport::SizeOfStream() const {
return sizeof(grpc_binder_stream);
}

@ -60,7 +60,6 @@ struct grpc_binder_transport final : public grpc_core::FilterStackTransport {
void SetPollset(grpc_stream*, grpc_pollset*) override {}
void SetPollsetSet(grpc_stream*, grpc_pollset_set*) override {}
void PerformOp(grpc_transport_op* op) override;
grpc_endpoint* GetEndpoint() override;
size_t SizeOfStream() const override;
bool HackyDisableStreamOpBatchCoalescingInConnectedChannel() const override {
return false;

@ -82,7 +82,6 @@ class ChaoticGoodClientTransport final : public ClientTransport {
void SetPollset(grpc_stream*, grpc_pollset*) override {}
void SetPollsetSet(grpc_stream*, grpc_pollset_set*) override {}
void PerformOp(grpc_transport_op*) override;
grpc_endpoint* GetEndpoint() override { return nullptr; }
void Orphan() override {
AbortWithError();
Unref();

@ -94,7 +94,6 @@ class ChaoticGoodServerTransport final : public ServerTransport {
void SetPollset(grpc_stream*, grpc_pollset*) override {}
void SetPollsetSet(grpc_stream*, grpc_pollset_set*) override {}
void PerformOp(grpc_transport_op*) override;
grpc_endpoint* GetEndpoint() override { return nullptr; }
void Orphan() override;
void SetCallDestination(
@ -158,4 +157,4 @@ class ChaoticGoodServerTransport final : public ServerTransport {
} // namespace chaotic_good
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_TRANSPORT_CHAOTIC_GOOD_SERVER_TRANSPORT_H
#endif // GRPC_SRC_CORE_EXT_TRANSPORT_CHAOTIC_GOOD_SERVER_TRANSPORT_H

@ -73,12 +73,8 @@
#include "src/core/ext/transport/chttp2/transport/ping_rate_policy.h"
#include "src/core/ext/transport/chttp2/transport/varint.h"
#include "src/core/ext/transport/chttp2/transport/write_size_policy.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/channel/tcp_tracer.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/experiments/experiments.h"
#include "src/core/lib/gprpp/bitset.h"
#include "src/core/lib/gprpp/crash.h"
@ -108,6 +104,10 @@
#include "src/core/lib/transport/metadata_info.h"
#include "src/core/lib/transport/status_conversion.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/telemetry/tcp_tracer.h"
#include "src/core/util/string.h"
#include "src/core/util/useful.h"
@ -1320,11 +1320,11 @@ static bool contains_non_ok_status(grpc_metadata_batch* batch) {
static void log_metadata(const grpc_metadata_batch* md_batch, uint32_t id,
bool is_client, bool is_initial) {
LOG(INFO) << "--metadata--";
VLOG(2) << "--metadata--";
const std::string prefix = absl::StrCat(
"HTTP:", id, is_initial ? ":HDR" : ":TRL", is_client ? ":CLI:" : ":SVR:");
md_batch->Log([&prefix](absl::string_view key, absl::string_view value) {
LOG(INFO) << absl::StrCat(prefix, key, ": ", value);
VLOG(2) << absl::StrCat(prefix, key, ": ", value);
});
}
@ -3163,8 +3163,6 @@ const char* grpc_chttp2_initiate_write_reason_string(
GPR_UNREACHABLE_CODE(return "unknown");
}
grpc_endpoint* grpc_chttp2_transport::GetEndpoint() { return ep; }
size_t grpc_chttp2_transport::SizeOfStream() const {
return sizeof(grpc_chttp2_stream);
}

@ -29,7 +29,6 @@
#include "src/core/channelz/channelz.h"
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
@ -39,6 +38,7 @@
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
extern grpc_core::TraceFlag grpc_keepalive_trace;
extern grpc_core::TraceFlag grpc_trace_http2_stream_state;

@ -28,7 +28,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/channel/tcp_tracer.h"
#include "src/core/telemetry/tcp_tracer.h"
namespace grpc_core {

@ -44,9 +44,6 @@
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parse_result.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/match.h"
#include "src/core/lib/slice/slice.h"
@ -54,6 +51,9 @@
#include "src/core/lib/surface/validate_metadata.h"
#include "src/core/lib/transport/metadata_info.h"
#include "src/core/lib/transport/parsed_metadata.h"
#include "src/core/telemetry/call_tracer.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
// IWYU pragma: no_include <type_traits>

@ -40,11 +40,11 @@
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include "src/core/ext/transport/chttp2/transport/legacy_frame.h"
#include "src/core/lib/backoff/random_early_detection.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/telemetry/call_tracer.h"
// IWYU pragma: no_include <type_traits>

@ -57,9 +57,7 @@
#include "src/core/ext/transport/chttp2/transport/ping_callbacks.h"
#include "src/core/ext/transport/chttp2/transport/ping_rate_policy.h"
#include "src/core/ext/transport/chttp2/transport/write_size_policy.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/tcp_tracer.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/bitset.h"
#include "src/core/lib/gprpp/debug_location.h"
@ -79,6 +77,8 @@
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
#include "src/core/telemetry/tcp_tracer.h"
// Flag that this closure barrier may be covering a write in a pollset, and so
// we should not complete this closure until we can prove that the write got
@ -256,7 +256,6 @@ struct grpc_chttp2_transport final : public grpc_core::FilterStackTransport,
void SetPollsetSet(grpc_stream* stream,
grpc_pollset_set* pollset_set) override;
void PerformOp(grpc_transport_op* op) override;
grpc_endpoint* GetEndpoint() override;
grpc_endpoint* ep;
grpc_core::Slice peer_string;

@ -60,7 +60,6 @@
#include "src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h"
#include "src/core/ext/transport/chttp2/transport/ping_rate_policy.h"
#include "src/core/lib/backoff/random_early_detection.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/experiments/experiments.h"
@ -76,6 +75,7 @@
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
using grpc_core::HPackParser;

@ -54,9 +54,6 @@
#include "src/core/ext/transport/chttp2/transport/ping_callbacks.h"
#include "src/core/ext/transport/chttp2/transport/ping_rate_policy.h"
#include "src/core/ext/transport/chttp2/transport/write_size_policy.h"
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/experiments/experiments.h"
#include "src/core/lib/gprpp/match.h"
@ -72,6 +69,9 @@
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/call_tracer.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/util/useful.h"
// IWYU pragma: no_include "src/core/lib/gprpp/orphanable.h"

@ -131,7 +131,6 @@ struct grpc_cronet_transport final : public grpc_core::FilterStackTransport {
void SetPollsetSet(grpc_stream* /*stream*/,
grpc_pollset_set* /*pollset_set*/) override {}
void PerformOp(grpc_transport_op* op) override;
grpc_endpoint* GetEndpoint() override { return nullptr; }
size_t SizeOfStream() const override;
void InitStream(grpc_stream* gs, grpc_stream_refcount* refcount,
const void* server_data, grpc_core::Arena* arena) override;

@ -85,7 +85,6 @@ class InprocServerTransport final : public ServerTransport {
Crash("set_accept_stream not supported on inproc transport");
}
}
grpc_endpoint* GetEndpoint() override { return nullptr; }
void Disconnect(absl::Status error) {
if (disconnecting_.exchange(true, std::memory_order_relaxed)) return;
@ -162,7 +161,6 @@ class InprocClientTransport final : public ClientTransport {
void SetPollset(grpc_stream*, grpc_pollset*) override {}
void SetPollsetSet(grpc_stream*, grpc_pollset_set*) override {}
void PerformOp(grpc_transport_op*) override { Crash("unimplemented"); }
grpc_endpoint* GetEndpoint() override { return nullptr; }
private:
~InprocClientTransport() override {

@ -135,7 +135,6 @@ struct inproc_transport final : public grpc_core::FilterStackTransport {
void SetPollsetSet(grpc_stream* stream,
grpc_pollset_set* pollset_set) override;
void PerformOp(grpc_transport_op* op) override;
grpc_endpoint* GetEndpoint() override;
size_t SizeOfStream() const override;
bool HackyDisableStreamOpBatchCoalescingInConnectedChannel() const override {
@ -1214,8 +1213,6 @@ void inproc_transport::SetPollsetSet(grpc_stream* /*gs*/,
// Nothing to do here
}
grpc_endpoint* inproc_transport::GetEndpoint() { return nullptr; }
//******************************************************************************
// Main inproc transport functions
//

@ -50,8 +50,6 @@
#include "src/core/handshaker/security/secure_endpoint.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
@ -65,6 +63,8 @@
#include "src/core/lib/security/context/security_context.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/tsi/transport_security_grpc.h"
#define GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE 256

@ -60,7 +60,6 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/channel/metrics.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
@ -73,6 +72,7 @@
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/transport/call_final_info.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/telemetry/metrics.h"
#include "src/core/util/time_precise.h"
struct grpc_channel_element_args {

@ -0,0 +1,13 @@
// Copyright 2024 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

@ -1,4 +1,4 @@
// Copyright 2023 gRPC authors.
// Copyright 2024 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -12,18 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "test/core/transport/test_suite/fixture.h"
#ifndef GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
#define GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
namespace grpc_core {
TransportFixtureRegistry& TransportFixtureRegistry::Get() {
static TransportFixtureRegistry* registry = new TransportFixtureRegistry();
return *registry;
}
void TransportFixtureRegistry::RegisterFixture(
absl::string_view name,
absl::AnyInvocable<TransportFixture*() const> create) {
fixtures_.push_back({name, std::move(create)});
}
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H

@ -19,7 +19,6 @@
#include <memory>
#include "absl/log/check.h"
#include "absl/log/log.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_format.h"
@ -165,14 +164,14 @@ int EpollCreateAndCloexec() {
#ifdef GRPC_LINUX_EPOLL_CREATE1
int fd = epoll_create1(EPOLL_CLOEXEC);
if (fd < 0) {
LOG(ERROR) << "epoll_create1 unavailable";
gpr_log(GPR_ERROR, "epoll_create1 unavailable");
}
#else
int fd = epoll_create(MAX_EPOLL_EVENTS);
if (fd < 0) {
LOG(ERROR) << "epoll_create unavailable";
gpr_log(GPR_ERROR, "epoll_create unavailable");
} else if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) {
LOG(ERROR) << "fcntl following epoll_create failed";
gpr_log(GPR_ERROR, "fcntl following epoll_create failed");
return -1;
}
#endif
@ -357,7 +356,7 @@ Epoll1Poller::Epoll1Poller(Scheduler* scheduler)
wakeup_fd_ = *CreateWakeupFd();
CHECK(wakeup_fd_ != nullptr);
CHECK_GE(g_epoll_set_.epfd, 0);
LOG(INFO) << "grpc epoll fd: " << g_epoll_set_.epfd;
gpr_log(GPR_INFO, "grpc epoll fd: %d", g_epoll_set_.epfd);
struct epoll_event ev;
ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLET);
ev.data.ptr = wakeup_fd_.get();

@ -328,7 +328,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"event_engine_client", description_event_engine_client,
additional_constraints_event_engine_client, nullptr, 0, true, 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,

@ -99,7 +99,8 @@ inline bool IsCanaryClientPrivacyEnabled() { return false; }
inline bool IsClientPrivacyEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
inline bool IsEventEngineClientEnabled() { return true; }
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; }

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

@ -34,8 +34,6 @@
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/experiments/experiments.h"
#include "src/core/lib/gprpp/debug_location.h"
@ -43,6 +41,8 @@
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
namespace grpc_core {

@ -26,9 +26,9 @@
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/gprpp/crash.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
namespace grpc_core {

@ -49,8 +49,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/cpu.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/strerror.h"
#include "src/core/lib/iomgr/block_annotate.h"
@ -59,6 +57,8 @@
#include "src/core/lib/iomgr/iomgr_internal.h"
#include "src/core/lib/iomgr/lockfree_event.h"
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/util/string.h"
#include "src/core/util/useful.h"
@ -122,7 +122,7 @@ static bool epoll_set_init() {
return false;
}
LOG(INFO) << "grpc epoll fd: " << g_epoll_set.epfd;
gpr_log(GPR_INFO, "grpc epoll fd: %d", g_epoll_set.epfd);
gpr_atm_no_barrier_store(&g_epoll_set.num_events, 0);
gpr_atm_no_barrier_store(&g_epoll_set.cursor, 0);
return true;
@ -1073,7 +1073,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
log.push_back(absl::StrFormat(" worker_kick_state=%s",
kick_state_string(specific_worker->state)));
}
VLOG(2) << absl::StrJoin(log, "");
gpr_log(GPR_DEBUG, "%s", absl::StrJoin(log, "").c_str());
}
if (specific_worker == nullptr) {

@ -41,14 +41,14 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/gprpp/crash.h"
#include "src/core/lib/gprpp/thd.h"
#include "src/core/lib/iomgr/block_annotate.h"
#include "src/core/lib/iomgr/ev_poll_posix.h"
#include "src/core/lib/iomgr/iomgr_internal.h"
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/util/useful.h"
#define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker*)1)
@ -267,19 +267,29 @@ struct grpc_pollset_set {
//
static void fork_fd_list_remove_node(grpc_fork_fd_list* node) {
gpr_mu_lock(&fork_fd_list_mu);
if (fork_fd_list_head == node) {
fork_fd_list_head = node->next;
}
if (node->prev != nullptr) {
node->prev->next = node->next;
}
if (node->next != nullptr) {
node->next->prev = node->prev;
}
gpr_free(node);
gpr_mu_unlock(&fork_fd_list_mu);
}
static void fork_fd_list_remove_grpc_fd(grpc_fd* fd) {
if (track_fds_for_fork) {
gpr_mu_lock(&fork_fd_list_mu);
if (fork_fd_list_head == node) {
fork_fd_list_head = node->next;
}
if (node->prev != nullptr) {
node->prev->next = node->next;
}
if (node->next != nullptr) {
node->next->prev = node->prev;
}
gpr_free(node);
gpr_mu_unlock(&fork_fd_list_mu);
fork_fd_list_remove_node(fd->fork_fd_list);
}
}
static void fork_fd_list_remove_wakeup_fd(grpc_cached_wakeup_fd* fd) {
if (track_fds_for_fork) {
fork_fd_list_remove_node(fd->fork_fd_list);
}
}
@ -361,7 +371,7 @@ static void unref_by(grpc_fd* fd, int n) {
if (old == n) {
gpr_mu_destroy(&fd->mu);
grpc_iomgr_unregister_object(&fd->iomgr_object);
fork_fd_list_remove_node(fd->fork_fd_list);
fork_fd_list_remove_grpc_fd(fd);
if (fd->shutdown) {
}
fd->shutdown_error.~Status();
@ -860,7 +870,7 @@ static void pollset_destroy(grpc_pollset* pollset) {
CHECK(!pollset_has_workers(pollset));
while (pollset->local_wakeup_cache) {
grpc_cached_wakeup_fd* next = pollset->local_wakeup_cache->next;
fork_fd_list_remove_node(pollset->local_wakeup_cache->fork_fd_list);
fork_fd_list_remove_wakeup_fd(pollset->local_wakeup_cache);
grpc_wakeup_fd_destroy(&pollset->local_wakeup_cache->fd);
gpr_free(pollset->local_wakeup_cache);
pollset->local_wakeup_cache = next;

@ -33,14 +33,14 @@
#include <grpc/support/log.h>
#include <grpc/support/log_windows.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/gprpp/crash.h"
#include "src/core/lib/gprpp/thd.h"
#include "src/core/lib/iomgr/iocp_windows.h"
#include "src/core/lib/iomgr/iomgr_internal.h"
#include "src/core/lib/iomgr/socket_windows.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
static ULONG g_iocp_kick_token;
static OVERLAPPED g_iocp_custom_overlap;

@ -57,8 +57,6 @@
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/debug/event_log.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/experiments/experiments.h"
#include "src/core/lib/gprpp/crash.h"
@ -76,6 +74,8 @@
#include "src/core/lib/resource_quota/trace.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/telemetry/stats.h"
#include "src/core/telemetry/stats_data.h"
#include "src/core/util/string.h"
#include "src/core/util/useful.h"

@ -119,6 +119,12 @@ T* GetContext() {
return p;
}
// Retrieve the current value of a context, or nullptr if the value is unset.
template <typename T>
T* MaybeGetContext() {
return promise_detail::Context<T>::get();
}
// Given a promise and a context, return a promise that has that context set.
template <typename T, typename F>
promise_detail::WithContext<T, F> WithContext(F f, T* context) {

@ -76,7 +76,13 @@ class PromiseLike<void>;
template <typename F>
class PromiseLike<F, absl::enable_if_t<!std::is_void<
typename std::result_of<F()>::type>::value>> {
#if (defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703L) || \
(defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)
std::invoke_result_t<F>
#else
typename std::result_of<F()>::type
#endif
>::value>> {
private:
GPR_NO_UNIQUE_ADDRESS RemoveCVRef<F> f_;

@ -37,10 +37,10 @@
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/matchers/matchers.h"
#include "src/core/lib/security/authorization/audit_logging.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/useful.h"
namespace grpc_core {

@ -30,8 +30,8 @@
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
namespace grpc_core {

@ -29,8 +29,8 @@
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
struct grpc_channel_credentials;

@ -34,9 +34,6 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/security/credentials/channel_creds_registry.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
@ -44,6 +41,9 @@
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
#include "src/core/lib/security/credentials/tls/tls_credentials.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
namespace grpc_core {

@ -41,11 +41,11 @@
#include "src/core/lib/gprpp/env.h"
#include "src/core/lib/http/httpcli_ssl_credentials.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/json/json_writer.h"
namespace grpc_core {

@ -48,14 +48,14 @@
#include "src/core/lib/gprpp/status_helper.h"
#include "src/core/lib/http/httpcli_ssl_credentials.h"
#include "src/core/lib/http/parser.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/external/aws_external_account_credentials.h"
#include "src/core/lib/security/credentials/external/file_external_account_credentials.h"
#include "src/core/lib/security/credentials/external/url_external_account_credentials.h"
#include "src/core/lib/security/util/json_util.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/json/json_writer.h"
#define EXTERNAL_ACCOUNT_CREDENTIALS_GRANT_TYPE \
"urn:ietf:params:oauth:grant-type:token-exchange"

@ -35,8 +35,8 @@
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/security/credentials/oauth2/oauth2_credentials.h"
#include "src/core/util/json/json.h"
namespace grpc_core {

@ -27,10 +27,10 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/gprpp/load_file.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
namespace grpc_core {

@ -40,10 +40,10 @@
#include "src/core/lib/http/httpcli_ssl_credentials.h"
#include "src/core/lib/http/parser.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
namespace grpc_core {

@ -58,8 +58,6 @@
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/external/external_account_credentials.h"
@ -73,6 +71,8 @@
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/load_balancing/grpclb/grpclb.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
using grpc_core::Json;

@ -45,9 +45,9 @@
#include <grpc/support/time.h>
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/security/util/json_util.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/json/json_writer.h"
using grpc_core::Json;

@ -24,7 +24,7 @@
#include <grpc/support/port_platform.h>
#include <grpc/support/time.h>
#include "src/core/lib/json/json.h"
#include "src/core/util/json/json.h"
// --- Constants. ---

@ -40,14 +40,14 @@
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/promise/promise.h"
#include "src/core/lib/security/credentials/call_creds_util.h"
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/json/json_writer.h"
using grpc_core::Json;

@ -66,12 +66,12 @@
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/security/credentials/credentials.h" // IWYU pragma: keep
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/tsi/ssl_types.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/string.h"
using grpc_core::Json;

@ -26,7 +26,7 @@
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/json/json.h"
#include "src/core/util/json/json.h"
// --- Constants. ---

@ -54,8 +54,6 @@
#include "src/core/lib/http/httpcli_ssl_credentials.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/promise/context.h"
#include "src/core/lib/promise/poll.h"
#include "src/core/lib/promise/promise.h"
@ -64,6 +62,8 @@
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_reader.h"
using grpc_core::Json;

@ -42,13 +42,13 @@
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/promise/activity.h"
#include "src/core/lib/promise/arena_promise.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/util/json/json.h"
#include "src/core/util/useful.h"
// Constants.

@ -22,7 +22,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/json/json.h"
#include "src/core/util/json/json.h"
// Constants.
#define GRPC_AUTH_JSON_TYPE_INVALID "invalid"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save