grpc 1.64.3 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +57 -58
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/impl/channel_arg_names.h +7 -3
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +3 -3
- data/src/core/channelz/channelz.h +7 -7
- data/src/core/channelz/channelz_registry.cc +4 -3
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +266 -709
- data/src/core/client_channel/client_channel_filter.h +11 -64
- data/src/core/client_channel/client_channel_internal.h +16 -5
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +3 -3
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/retry_filter.cc +2 -9
- data/src/core/client_channel/retry_filter.h +2 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +220 -112
- data/src/core/client_channel/subchannel.h +31 -18
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +36 -49
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.h +1 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
- data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
- data/src/core/handshaker/handshaker.cc +6 -14
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
- data/src/core/handshaker/security/secure_endpoint.cc +38 -32
- data/src/core/handshaker/security/secure_endpoint.h +0 -2
- data/src/core/handshaker/security/security_handshaker.cc +25 -37
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +27 -39
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
- data/src/core/lib/avl/avl.h +1 -1
- data/src/core/lib/channel/channel_args.cc +13 -17
- data/src/core/lib/channel/channel_args.h +19 -8
- data/src/core/lib/channel/channel_stack.cc +5 -63
- data/src/core/lib/channel/channel_stack.h +13 -37
- data/src/core/lib/channel/channel_stack_builder.h +0 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
- data/src/core/lib/channel/connected_channel.cc +37 -676
- data/src/core/lib/channel/promise_based_filter.cc +41 -47
- data/src/core/lib/channel/promise_based_filter.h +124 -477
- data/src/core/lib/channel/status_util.cc +1 -1
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/message_compress.cc +6 -6
- data/src/core/lib/config/config_vars.cc +3 -8
- data/src/core/lib/config/config_vars.h +1 -5
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/trace.cc +43 -59
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +5 -7
- data/src/core/lib/event_engine/ares_resolver.h +1 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
- data/src/core/lib/event_engine/event_engine.cc +29 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +4 -5
- data/src/core/lib/event_engine/forkable.h +0 -11
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
- data/src/core/lib/event_engine/shim.cc +1 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
- data/src/core/lib/event_engine/trace.h +6 -17
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
- data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
- data/src/core/lib/experiments/experiments.cc +35 -151
- data/src/core/lib/experiments/experiments.h +12 -45
- data/src/core/lib/gprpp/bitset.h +1 -1
- data/src/core/lib/gprpp/crash.cc +2 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/per_cpu.cc +1 -1
- data/src/core/lib/gprpp/posix/stat.cc +3 -4
- data/src/core/lib/gprpp/posix/thd.cc +8 -9
- data/src/core/lib/gprpp/ref_counted.h +30 -22
- data/src/core/lib/gprpp/single_set_ptr.h +5 -3
- data/src/core/lib/gprpp/status_helper.cc +11 -30
- data/src/core/lib/gprpp/status_helper.h +3 -31
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +3 -2
- data/src/core/lib/gprpp/unique_type_name.h +1 -1
- data/src/core/lib/gprpp/validation_errors.cc +10 -1
- data/src/core/lib/gprpp/validation_errors.h +11 -0
- data/src/core/lib/gprpp/windows/stat.cc +3 -4
- data/src/core/lib/gprpp/windows/thd.cc +3 -2
- data/src/core/lib/gprpp/work_serializer.cc +48 -57
- data/src/core/lib/iomgr/buffer_list.cc +4 -2
- data/src/core/lib/iomgr/call_combiner.cc +18 -27
- data/src/core/lib/iomgr/call_combiner.h +1 -3
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.h +2 -4
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/combiner.h +0 -2
- data/src/core/lib/iomgr/endpoint.cc +0 -6
- data/src/core/lib/iomgr/endpoint.h +0 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
- data/src/core/lib/iomgr/error.cc +13 -21
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
- data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
- data/src/core/lib/iomgr/ev_posix.cc +8 -9
- data/src/core/lib/iomgr/ev_posix.h +10 -7
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
- data/src/core/lib/iomgr/exec_ctx.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +6 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
- data/src/core/lib/iomgr/iocp_windows.cc +4 -3
- data/src/core/lib/iomgr/iomgr.cc +13 -17
- data/src/core/lib/iomgr/lockfree_event.cc +3 -5
- data/src/core/lib/iomgr/pollset.h +0 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
- data/src/core/lib/iomgr/socket_windows.cc +4 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
- data/src/core/lib/iomgr/tcp_posix.cc +57 -84
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
- data/src/core/lib/iomgr/tcp_windows.cc +25 -41
- data/src/core/lib/iomgr/timer_generic.cc +17 -20
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +17 -30
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/promise/activity.h +27 -4
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +11 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +354 -398
- data/src/core/lib/promise/detail/promise_like.h +6 -5
- data/src/core/lib/promise/detail/seq_state.h +1178 -1178
- data/src/core/lib/promise/for_each.h +6 -6
- data/src/core/lib/promise/interceptor_list.h +6 -7
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/map.h +17 -0
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +7 -8
- data/src/core/lib/promise/party.h +10 -8
- data/src/core/lib/promise/pipe.h +16 -35
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/status_flag.h +2 -0
- data/src/core/lib/resource_quota/arena.cc +56 -79
- data/src/core/lib/resource_quota/arena.h +118 -209
- data/src/core/lib/resource_quota/memory_quota.cc +12 -13
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/periodic_update.cc +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
- data/src/core/lib/security/authorization/matchers.cc +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
- data/src/core/lib/security/context/security_context.cc +12 -13
- data/src/core/lib/security/context/security_context.h +31 -8
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
- data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
- data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
- data/src/core/lib/security/security_connector/security_connector.cc +1 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
- data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice.h +1 -1
- data/src/core/lib/slice/slice_refcount.h +2 -4
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/surface/api_trace.h +1 -3
- data/src/core/lib/surface/call.cc +64 -3738
- data/src/core/lib/surface/call.h +41 -143
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +8 -3
- data/src/core/lib/surface/channel.h +10 -7
- data/src/core/lib/surface/channel_create.cc +14 -6
- data/src/core/lib/surface/channel_create.h +3 -2
- data/src/core/lib/surface/channel_init.cc +21 -77
- data/src/core/lib/surface/channel_init.h +19 -97
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +28 -33
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +7 -6
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +40 -27
- data/src/core/lib/surface/legacy_channel.h +9 -18
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +3 -5
- data/src/core/lib/transport/bdp_estimator.h +2 -4
- data/src/core/lib/transport/call_arena_allocator.h +9 -7
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +28 -10
- data/src/core/lib/transport/call_filters.h +128 -22
- data/src/core/lib/transport/call_spine.cc +5 -6
- data/src/core/lib/transport/call_spine.h +159 -334
- data/src/core/lib/transport/connectivity_state.cc +8 -10
- data/src/core/lib/transport/connectivity_state.h +0 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/metadata_batch.h +10 -1
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/transport.cc +3 -6
- data/src/core/lib/transport/transport.h +43 -40
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/endpoint_list.cc +5 -5
- data/src/core/load_balancing/endpoint_list.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
- data/src/core/load_balancing/health_check_client.cc +10 -13
- data/src/core/load_balancing/lb_policy.cc +5 -8
- data/src/core/load_balancing/lb_policy.h +19 -3
- data/src/core/load_balancing/lb_policy_factory.h +1 -1
- data/src/core/load_balancing/lb_policy_registry.cc +2 -3
- data/src/core/load_balancing/lb_policy_registry.h +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
- data/src/core/load_balancing/priority/priority.cc +26 -28
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +82 -82
- data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
- data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
- data/src/core/load_balancing/xds/cds.cc +14 -16
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
- data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
- data/src/core/resolver/binder/binder_resolver.cc +3 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
- data/src/core/resolver/endpoint_addresses.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/resolver/polling_resolver.cc +30 -35
- data/src/core/resolver/resolver.cc +2 -6
- data/src/core/resolver/resolver.h +0 -2
- data/src/core/resolver/resolver_registry.cc +6 -8
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
- data/src/core/resolver/xds/xds_resolver.cc +13 -15
- data/src/core/server/server.cc +269 -389
- data/src/core/server/server.h +37 -19
- data/src/core/server/server_call_tracer_filter.cc +7 -14
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/server_interface.h +2 -0
- data/src/core/server/xds_channel_stack_modifier.cc +1 -1
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +1 -4
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_call_data.h +13 -11
- data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
- data/src/core/service_config/service_config_impl.cc +5 -5
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/service_config/service_config_parser.cc +3 -6
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
- data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
- data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats.h +5 -5
- data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +14 -17
- data/src/core/tsi/local_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +76 -81
- data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
- data/src/core/tsi/ssl_transport_security_utils.h +11 -0
- data/src/core/tsi/transport_security.cc +0 -4
- data/src/core/tsi/transport_security.h +0 -2
- data/src/core/tsi/transport_security_interface.h +0 -4
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
- data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
- data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
- data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
- data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
- data/src/core/{lib/http → util/http_client}/parser.h +5 -6
- data/src/core/{lib → util}/json/json.h +5 -4
- data/src/core/{lib → util}/json/json_args.h +5 -5
- data/src/core/{lib → util}/json/json_channel_args.h +6 -6
- data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
- data/src/core/{lib → util}/json/json_object_loader.h +7 -7
- data/src/core/{lib → util}/json/json_reader.cc +3 -2
- data/src/core/{lib → util}/json/json_reader.h +6 -6
- data/src/core/{lib → util}/json/json_util.cc +4 -4
- data/src/core/{lib → util}/json/json_util.h +6 -6
- data/src/core/{lib → util}/json/json_writer.cc +3 -3
- data/src/core/{lib → util}/json/json_writer.h +6 -6
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +165 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
- data/src/core/xds/grpc/certificate_provider_store.h +4 -4
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
- data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
- data/src/core/xds/grpc/xds_client_grpc.h +2 -2
- data/src/core/xds/grpc/xds_cluster.cc +4 -5
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_endpoint.cc +4 -5
- data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
- data/src/core/xds/grpc/xds_http_filters.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_route_config.cc +7 -8
- data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
- data/src/core/xds/xds_client/xds_api.cc +5 -9
- data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +39 -45
- data/src/core/xds/xds_client/xds_client.h +0 -3
- data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
- data/src/core/xds/xds_client/xds_client_stats.h +2 -2
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server.c +39 -22
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
- metadata +103 -93
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/handshaker/security/tsi_error.cc +0 -31
- data/src/core/handshaker/security/tsi_error.h +0 -30
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -105
- data/src/core/lib/channel/metrics.cc +0 -334
- data/src/core/lib/channel/metrics.h +0 -365
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -172
- data/src/core/lib/transport/batch_builder.h +0 -474
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/time.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -0,0 +1,255 @@
|
|
1
|
+
// Copyright 2024 gRPC authors.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
//
|
16
|
+
// Automatically generated by tools/codegen/core/gen_trace_flags.py
|
17
|
+
//
|
18
|
+
|
19
|
+
#include "absl/container/flat_hash_map.h"
|
20
|
+
|
21
|
+
#include "src/core/lib/debug/trace.h"
|
22
|
+
#include "src/core/lib/gprpp/no_destruct.h"
|
23
|
+
|
24
|
+
namespace grpc_core {
|
25
|
+
|
26
|
+
DebugOnlyTraceFlag auth_context_refcount_trace(false, "auth_context_refcount");
|
27
|
+
DebugOnlyTraceFlag call_combiner_trace(false, "call_combiner");
|
28
|
+
DebugOnlyTraceFlag call_refcount_trace(false, "call_refcount");
|
29
|
+
DebugOnlyTraceFlag closure_trace(false, "closure");
|
30
|
+
DebugOnlyTraceFlag combiner_trace(false, "combiner");
|
31
|
+
DebugOnlyTraceFlag cq_refcount_trace(false, "cq_refcount");
|
32
|
+
DebugOnlyTraceFlag error_refcount_trace(false, "error_refcount");
|
33
|
+
DebugOnlyTraceFlag fd_refcount_trace(false, "fd_refcount");
|
34
|
+
DebugOnlyTraceFlag fd_trace_trace(false, "fd_trace");
|
35
|
+
DebugOnlyTraceFlag lb_policy_refcount_trace(false, "lb_policy_refcount");
|
36
|
+
DebugOnlyTraceFlag party_state_trace(false, "party_state");
|
37
|
+
DebugOnlyTraceFlag pending_tags_trace(false, "pending_tags");
|
38
|
+
DebugOnlyTraceFlag polling_trace(false, "polling");
|
39
|
+
DebugOnlyTraceFlag polling_api_trace(false, "polling_api");
|
40
|
+
DebugOnlyTraceFlag promise_primitives_trace(false, "promise_primitives");
|
41
|
+
DebugOnlyTraceFlag resolver_refcount_trace(false, "resolver_refcount");
|
42
|
+
DebugOnlyTraceFlag security_connector_refcount_trace(
|
43
|
+
false, "security_connector_refcount");
|
44
|
+
DebugOnlyTraceFlag slice_refcount_trace(false, "slice_refcount");
|
45
|
+
DebugOnlyTraceFlag stream_refcount_trace(false, "stream_refcount");
|
46
|
+
DebugOnlyTraceFlag subchannel_refcount_trace(false, "subchannel_refcount");
|
47
|
+
DebugOnlyTraceFlag work_serializer_trace(false, "work_serializer");
|
48
|
+
TraceFlag api_trace(false, "api");
|
49
|
+
TraceFlag apple_polling_trace(false, "apple_polling");
|
50
|
+
TraceFlag backend_metric_trace(false, "backend_metric");
|
51
|
+
TraceFlag backend_metric_filter_trace(false, "backend_metric_filter");
|
52
|
+
TraceFlag bdp_estimator_trace(false, "bdp_estimator");
|
53
|
+
TraceFlag call_trace(false, "call");
|
54
|
+
TraceFlag call_error_trace(false, "call_error");
|
55
|
+
TraceFlag cares_address_sorting_trace(false, "cares_address_sorting");
|
56
|
+
TraceFlag cares_resolver_trace(false, "cares_resolver");
|
57
|
+
TraceFlag cds_lb_trace(false, "cds_lb");
|
58
|
+
TraceFlag channel_trace(false, "channel");
|
59
|
+
TraceFlag channel_stack_trace(false, "channel_stack");
|
60
|
+
TraceFlag chaotic_good_trace(false, "chaotic_good");
|
61
|
+
TraceFlag chttp2_hpack_parser_trace(false, "chttp2_hpack_parser");
|
62
|
+
TraceFlag chttp2_new_stream_trace(false, "chttp2_new_stream");
|
63
|
+
TraceFlag client_channel_trace(false, "client_channel");
|
64
|
+
TraceFlag client_channel_call_trace(false, "client_channel_call");
|
65
|
+
TraceFlag client_channel_lb_call_trace(false, "client_channel_lb_call");
|
66
|
+
TraceFlag client_idle_filter_trace(false, "client_idle_filter");
|
67
|
+
TraceFlag compression_trace(false, "compression");
|
68
|
+
TraceFlag connectivity_state_trace(false, "connectivity_state");
|
69
|
+
TraceFlag cronet_trace(false, "cronet");
|
70
|
+
TraceFlag dns_resolver_trace(false, "dns_resolver");
|
71
|
+
TraceFlag environment_autodetect_trace(false, "environment_autodetect");
|
72
|
+
TraceFlag event_engine_trace(false, "event_engine");
|
73
|
+
TraceFlag event_engine_client_channel_resolver_trace(
|
74
|
+
false, "event_engine_client_channel_resolver");
|
75
|
+
TraceFlag event_engine_dns_trace(false, "event_engine_dns");
|
76
|
+
TraceFlag event_engine_endpoint_trace(false, "event_engine_endpoint");
|
77
|
+
TraceFlag event_engine_endpoint_data_trace(false, "event_engine_endpoint_data");
|
78
|
+
TraceFlag event_engine_poller_trace(false, "event_engine_poller");
|
79
|
+
TraceFlag executor_trace(false, "executor");
|
80
|
+
TraceFlag fault_injection_filter_trace(false, "fault_injection_filter");
|
81
|
+
TraceFlag flowctl_trace(false, "flowctl");
|
82
|
+
TraceFlag fork_trace(false, "fork");
|
83
|
+
TraceFlag fuzzing_ee_timers_trace(false, "fuzzing_ee_timers");
|
84
|
+
TraceFlag fuzzing_ee_writes_trace(false, "fuzzing_ee_writes");
|
85
|
+
TraceFlag glb_trace(false, "glb");
|
86
|
+
TraceFlag grpc_authz_api_trace(false, "grpc_authz_api");
|
87
|
+
TraceFlag handshaker_trace(false, "handshaker");
|
88
|
+
TraceFlag health_check_client_trace(false, "health_check_client");
|
89
|
+
TraceFlag http_trace(false, "http");
|
90
|
+
TraceFlag http1_trace(false, "http1");
|
91
|
+
TraceFlag http2_ping_trace(false, "http2_ping");
|
92
|
+
TraceFlag http2_stream_state_trace(false, "http2_stream_state");
|
93
|
+
TraceFlag http_keepalive_trace(false, "http_keepalive");
|
94
|
+
TraceFlag inproc_trace(false, "inproc");
|
95
|
+
TraceFlag metadata_query_trace(false, "metadata_query");
|
96
|
+
TraceFlag op_failure_trace(false, "op_failure");
|
97
|
+
TraceFlag orca_client_trace(false, "orca_client");
|
98
|
+
TraceFlag outlier_detection_lb_trace(false, "outlier_detection_lb");
|
99
|
+
TraceFlag pick_first_trace(false, "pick_first");
|
100
|
+
TraceFlag plugin_credentials_trace(false, "plugin_credentials");
|
101
|
+
TraceFlag priority_lb_trace(false, "priority_lb");
|
102
|
+
TraceFlag queue_pluck_trace(false, "queue_pluck");
|
103
|
+
TraceFlag resource_quota_trace(false, "resource_quota");
|
104
|
+
TraceFlag retry_trace(false, "retry");
|
105
|
+
TraceFlag ring_hash_lb_trace(false, "ring_hash_lb");
|
106
|
+
TraceFlag rls_lb_trace(false, "rls_lb");
|
107
|
+
TraceFlag round_robin_trace(false, "round_robin");
|
108
|
+
TraceFlag secure_endpoint_trace(false, "secure_endpoint");
|
109
|
+
TraceFlag server_channel_trace(false, "server_channel");
|
110
|
+
TraceFlag stateful_session_filter_trace(false, "stateful_session_filter");
|
111
|
+
TraceFlag subchannel_trace(false, "subchannel");
|
112
|
+
TraceFlag subchannel_pool_trace(false, "subchannel_pool");
|
113
|
+
TraceFlag tcp_trace(false, "tcp");
|
114
|
+
TraceFlag timer_trace(false, "timer");
|
115
|
+
TraceFlag timer_check_trace(false, "timer_check");
|
116
|
+
TraceFlag tsi_trace(false, "tsi");
|
117
|
+
TraceFlag weighted_round_robin_lb_trace(false, "weighted_round_robin_lb");
|
118
|
+
TraceFlag weighted_target_lb_trace(false, "weighted_target_lb");
|
119
|
+
TraceFlag xds_client_trace(false, "xds_client");
|
120
|
+
TraceFlag xds_client_refcount_trace(false, "xds_client_refcount");
|
121
|
+
TraceFlag xds_cluster_impl_lb_trace(false, "xds_cluster_impl_lb");
|
122
|
+
TraceFlag xds_cluster_manager_lb_trace(false, "xds_cluster_manager_lb");
|
123
|
+
TraceFlag xds_cluster_resource_type_test_trace(
|
124
|
+
true, "xds_cluster_resource_type_test");
|
125
|
+
TraceFlag xds_common_types_test_trace(true, "xds_common_types_test");
|
126
|
+
TraceFlag xds_endpoint_resource_type_test_trace(
|
127
|
+
true, "xds_endpoint_resource_type_test");
|
128
|
+
TraceFlag xds_listener_resource_type_test_trace(
|
129
|
+
true, "xds_listener_resource_type_test");
|
130
|
+
TraceFlag xds_override_host_lb_trace(false, "xds_override_host_lb");
|
131
|
+
TraceFlag xds_resolver_trace(false, "xds_resolver");
|
132
|
+
TraceFlag xds_route_config_resource_type_test_trace(
|
133
|
+
true, "xds_route_config_resource_type_test");
|
134
|
+
TraceFlag xds_server_config_fetcher_trace(false, "xds_server_config_fetcher");
|
135
|
+
TraceFlag xds_wrr_locality_lb_trace(false, "xds_wrr_locality_lb");
|
136
|
+
|
137
|
+
const absl::flat_hash_map<std::string, TraceFlag*>& GetAllTraceFlags() {
|
138
|
+
static const NoDestruct<absl::flat_hash_map<std::string, TraceFlag*>> all(
|
139
|
+
absl::flat_hash_map<std::string, TraceFlag*>({
|
140
|
+
{"api", &api_trace},
|
141
|
+
{"apple_polling", &apple_polling_trace},
|
142
|
+
{"backend_metric", &backend_metric_trace},
|
143
|
+
{"backend_metric_filter", &backend_metric_filter_trace},
|
144
|
+
{"bdp_estimator", &bdp_estimator_trace},
|
145
|
+
{"call", &call_trace},
|
146
|
+
{"call_error", &call_error_trace},
|
147
|
+
{"cares_address_sorting", &cares_address_sorting_trace},
|
148
|
+
{"cares_resolver", &cares_resolver_trace},
|
149
|
+
{"cds_lb", &cds_lb_trace},
|
150
|
+
{"channel", &channel_trace},
|
151
|
+
{"channel_stack", &channel_stack_trace},
|
152
|
+
{"chaotic_good", &chaotic_good_trace},
|
153
|
+
{"chttp2_hpack_parser", &chttp2_hpack_parser_trace},
|
154
|
+
{"chttp2_new_stream", &chttp2_new_stream_trace},
|
155
|
+
{"client_channel", &client_channel_trace},
|
156
|
+
{"client_channel_call", &client_channel_call_trace},
|
157
|
+
{"client_channel_lb_call", &client_channel_lb_call_trace},
|
158
|
+
{"client_idle_filter", &client_idle_filter_trace},
|
159
|
+
{"compression", &compression_trace},
|
160
|
+
{"connectivity_state", &connectivity_state_trace},
|
161
|
+
{"cronet", &cronet_trace},
|
162
|
+
{"dns_resolver", &dns_resolver_trace},
|
163
|
+
{"environment_autodetect", &environment_autodetect_trace},
|
164
|
+
{"event_engine", &event_engine_trace},
|
165
|
+
{"event_engine_client_channel_resolver",
|
166
|
+
&event_engine_client_channel_resolver_trace},
|
167
|
+
{"event_engine_dns", &event_engine_dns_trace},
|
168
|
+
{"event_engine_endpoint", &event_engine_endpoint_trace},
|
169
|
+
{"event_engine_endpoint_data", &event_engine_endpoint_data_trace},
|
170
|
+
{"event_engine_poller", &event_engine_poller_trace},
|
171
|
+
{"executor", &executor_trace},
|
172
|
+
{"fault_injection_filter", &fault_injection_filter_trace},
|
173
|
+
{"flowctl", &flowctl_trace},
|
174
|
+
{"fork", &fork_trace},
|
175
|
+
{"fuzzing_ee_timers", &fuzzing_ee_timers_trace},
|
176
|
+
{"fuzzing_ee_writes", &fuzzing_ee_writes_trace},
|
177
|
+
{"glb", &glb_trace},
|
178
|
+
{"grpc_authz_api", &grpc_authz_api_trace},
|
179
|
+
{"handshaker", &handshaker_trace},
|
180
|
+
{"health_check_client", &health_check_client_trace},
|
181
|
+
{"http", &http_trace},
|
182
|
+
{"http1", &http1_trace},
|
183
|
+
{"http2_ping", &http2_ping_trace},
|
184
|
+
{"http2_stream_state", &http2_stream_state_trace},
|
185
|
+
{"http_keepalive", &http_keepalive_trace},
|
186
|
+
{"inproc", &inproc_trace},
|
187
|
+
{"metadata_query", &metadata_query_trace},
|
188
|
+
{"op_failure", &op_failure_trace},
|
189
|
+
{"orca_client", &orca_client_trace},
|
190
|
+
{"outlier_detection_lb", &outlier_detection_lb_trace},
|
191
|
+
{"pick_first", &pick_first_trace},
|
192
|
+
{"plugin_credentials", &plugin_credentials_trace},
|
193
|
+
{"priority_lb", &priority_lb_trace},
|
194
|
+
{"queue_pluck", &queue_pluck_trace},
|
195
|
+
{"resource_quota", &resource_quota_trace},
|
196
|
+
{"retry", &retry_trace},
|
197
|
+
{"ring_hash_lb", &ring_hash_lb_trace},
|
198
|
+
{"rls_lb", &rls_lb_trace},
|
199
|
+
{"round_robin", &round_robin_trace},
|
200
|
+
{"secure_endpoint", &secure_endpoint_trace},
|
201
|
+
{"server_channel", &server_channel_trace},
|
202
|
+
{"stateful_session_filter", &stateful_session_filter_trace},
|
203
|
+
{"subchannel", &subchannel_trace},
|
204
|
+
{"subchannel_pool", &subchannel_pool_trace},
|
205
|
+
{"tcp", &tcp_trace},
|
206
|
+
{"timer", &timer_trace},
|
207
|
+
{"timer_check", &timer_check_trace},
|
208
|
+
{"tsi", &tsi_trace},
|
209
|
+
{"weighted_round_robin_lb", &weighted_round_robin_lb_trace},
|
210
|
+
{"weighted_target_lb", &weighted_target_lb_trace},
|
211
|
+
{"xds_client", &xds_client_trace},
|
212
|
+
{"xds_client_refcount", &xds_client_refcount_trace},
|
213
|
+
{"xds_cluster_impl_lb", &xds_cluster_impl_lb_trace},
|
214
|
+
{"xds_cluster_manager_lb", &xds_cluster_manager_lb_trace},
|
215
|
+
{"xds_cluster_resource_type_test",
|
216
|
+
&xds_cluster_resource_type_test_trace},
|
217
|
+
{"xds_common_types_test", &xds_common_types_test_trace},
|
218
|
+
{"xds_endpoint_resource_type_test",
|
219
|
+
&xds_endpoint_resource_type_test_trace},
|
220
|
+
{"xds_listener_resource_type_test",
|
221
|
+
&xds_listener_resource_type_test_trace},
|
222
|
+
{"xds_override_host_lb", &xds_override_host_lb_trace},
|
223
|
+
{"xds_resolver", &xds_resolver_trace},
|
224
|
+
{"xds_route_config_resource_type_test",
|
225
|
+
&xds_route_config_resource_type_test_trace},
|
226
|
+
{"xds_server_config_fetcher", &xds_server_config_fetcher_trace},
|
227
|
+
{"xds_wrr_locality_lb", &xds_wrr_locality_lb_trace},
|
228
|
+
#ifndef NDEBUG
|
229
|
+
{"auth_context_refcount", &auth_context_refcount_trace},
|
230
|
+
{"call_combiner", &call_combiner_trace},
|
231
|
+
{"call_refcount", &call_refcount_trace},
|
232
|
+
{"closure", &closure_trace},
|
233
|
+
{"combiner", &combiner_trace},
|
234
|
+
{"cq_refcount", &cq_refcount_trace},
|
235
|
+
{"error_refcount", &error_refcount_trace},
|
236
|
+
{"fd_refcount", &fd_refcount_trace},
|
237
|
+
{"fd_trace", &fd_trace_trace},
|
238
|
+
{"lb_policy_refcount", &lb_policy_refcount_trace},
|
239
|
+
{"party_state", &party_state_trace},
|
240
|
+
{"pending_tags", &pending_tags_trace},
|
241
|
+
{"polling", &polling_trace},
|
242
|
+
{"polling_api", &polling_api_trace},
|
243
|
+
{"promise_primitives", &promise_primitives_trace},
|
244
|
+
{"resolver_refcount", &resolver_refcount_trace},
|
245
|
+
{"security_connector_refcount", &security_connector_refcount_trace},
|
246
|
+
{"slice_refcount", &slice_refcount_trace},
|
247
|
+
{"stream_refcount", &stream_refcount_trace},
|
248
|
+
{"subchannel_refcount", &subchannel_refcount_trace},
|
249
|
+
{"work_serializer", &work_serializer_trace},
|
250
|
+
#endif
|
251
|
+
}));
|
252
|
+
return *all;
|
253
|
+
}
|
254
|
+
|
255
|
+
} // namespace grpc_core
|
@@ -0,0 +1,133 @@
|
|
1
|
+
// Copyright 2024 gRPC authors.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
//
|
16
|
+
// Automatically generated by tools/codegen/core/gen_trace_flags.py
|
17
|
+
//
|
18
|
+
|
19
|
+
#ifndef GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
|
20
|
+
#define GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
|
21
|
+
|
22
|
+
#include "src/core/lib/debug/trace_impl.h"
|
23
|
+
|
24
|
+
namespace grpc_core {
|
25
|
+
|
26
|
+
extern DebugOnlyTraceFlag auth_context_refcount_trace;
|
27
|
+
extern DebugOnlyTraceFlag call_combiner_trace;
|
28
|
+
extern DebugOnlyTraceFlag call_refcount_trace;
|
29
|
+
extern DebugOnlyTraceFlag closure_trace;
|
30
|
+
extern DebugOnlyTraceFlag combiner_trace;
|
31
|
+
extern DebugOnlyTraceFlag cq_refcount_trace;
|
32
|
+
extern DebugOnlyTraceFlag error_refcount_trace;
|
33
|
+
extern DebugOnlyTraceFlag fd_refcount_trace;
|
34
|
+
extern DebugOnlyTraceFlag fd_trace_trace;
|
35
|
+
extern DebugOnlyTraceFlag lb_policy_refcount_trace;
|
36
|
+
extern DebugOnlyTraceFlag party_state_trace;
|
37
|
+
extern DebugOnlyTraceFlag pending_tags_trace;
|
38
|
+
extern DebugOnlyTraceFlag polling_trace;
|
39
|
+
extern DebugOnlyTraceFlag polling_api_trace;
|
40
|
+
extern DebugOnlyTraceFlag promise_primitives_trace;
|
41
|
+
extern DebugOnlyTraceFlag resolver_refcount_trace;
|
42
|
+
extern DebugOnlyTraceFlag security_connector_refcount_trace;
|
43
|
+
extern DebugOnlyTraceFlag slice_refcount_trace;
|
44
|
+
extern DebugOnlyTraceFlag stream_refcount_trace;
|
45
|
+
extern DebugOnlyTraceFlag subchannel_refcount_trace;
|
46
|
+
extern DebugOnlyTraceFlag work_serializer_trace;
|
47
|
+
extern TraceFlag api_trace;
|
48
|
+
extern TraceFlag apple_polling_trace;
|
49
|
+
extern TraceFlag backend_metric_trace;
|
50
|
+
extern TraceFlag backend_metric_filter_trace;
|
51
|
+
extern TraceFlag bdp_estimator_trace;
|
52
|
+
extern TraceFlag call_trace;
|
53
|
+
extern TraceFlag call_error_trace;
|
54
|
+
extern TraceFlag cares_address_sorting_trace;
|
55
|
+
extern TraceFlag cares_resolver_trace;
|
56
|
+
extern TraceFlag cds_lb_trace;
|
57
|
+
extern TraceFlag channel_trace;
|
58
|
+
extern TraceFlag channel_stack_trace;
|
59
|
+
extern TraceFlag chaotic_good_trace;
|
60
|
+
extern TraceFlag chttp2_hpack_parser_trace;
|
61
|
+
extern TraceFlag chttp2_new_stream_trace;
|
62
|
+
extern TraceFlag client_channel_trace;
|
63
|
+
extern TraceFlag client_channel_call_trace;
|
64
|
+
extern TraceFlag client_channel_lb_call_trace;
|
65
|
+
extern TraceFlag client_idle_filter_trace;
|
66
|
+
extern TraceFlag compression_trace;
|
67
|
+
extern TraceFlag connectivity_state_trace;
|
68
|
+
extern TraceFlag cronet_trace;
|
69
|
+
extern TraceFlag dns_resolver_trace;
|
70
|
+
extern TraceFlag environment_autodetect_trace;
|
71
|
+
extern TraceFlag event_engine_trace;
|
72
|
+
extern TraceFlag event_engine_client_channel_resolver_trace;
|
73
|
+
extern TraceFlag event_engine_dns_trace;
|
74
|
+
extern TraceFlag event_engine_endpoint_trace;
|
75
|
+
extern TraceFlag event_engine_endpoint_data_trace;
|
76
|
+
extern TraceFlag event_engine_poller_trace;
|
77
|
+
extern TraceFlag executor_trace;
|
78
|
+
extern TraceFlag fault_injection_filter_trace;
|
79
|
+
extern TraceFlag flowctl_trace;
|
80
|
+
extern TraceFlag fork_trace;
|
81
|
+
extern TraceFlag fuzzing_ee_timers_trace;
|
82
|
+
extern TraceFlag fuzzing_ee_writes_trace;
|
83
|
+
extern TraceFlag glb_trace;
|
84
|
+
extern TraceFlag grpc_authz_api_trace;
|
85
|
+
extern TraceFlag handshaker_trace;
|
86
|
+
extern TraceFlag health_check_client_trace;
|
87
|
+
extern TraceFlag http_trace;
|
88
|
+
extern TraceFlag http1_trace;
|
89
|
+
extern TraceFlag http2_ping_trace;
|
90
|
+
extern TraceFlag http2_stream_state_trace;
|
91
|
+
extern TraceFlag http_keepalive_trace;
|
92
|
+
extern TraceFlag inproc_trace;
|
93
|
+
extern TraceFlag metadata_query_trace;
|
94
|
+
extern TraceFlag op_failure_trace;
|
95
|
+
extern TraceFlag orca_client_trace;
|
96
|
+
extern TraceFlag outlier_detection_lb_trace;
|
97
|
+
extern TraceFlag pick_first_trace;
|
98
|
+
extern TraceFlag plugin_credentials_trace;
|
99
|
+
extern TraceFlag priority_lb_trace;
|
100
|
+
extern TraceFlag queue_pluck_trace;
|
101
|
+
extern TraceFlag resource_quota_trace;
|
102
|
+
extern TraceFlag retry_trace;
|
103
|
+
extern TraceFlag ring_hash_lb_trace;
|
104
|
+
extern TraceFlag rls_lb_trace;
|
105
|
+
extern TraceFlag round_robin_trace;
|
106
|
+
extern TraceFlag secure_endpoint_trace;
|
107
|
+
extern TraceFlag server_channel_trace;
|
108
|
+
extern TraceFlag stateful_session_filter_trace;
|
109
|
+
extern TraceFlag subchannel_trace;
|
110
|
+
extern TraceFlag subchannel_pool_trace;
|
111
|
+
extern TraceFlag tcp_trace;
|
112
|
+
extern TraceFlag timer_trace;
|
113
|
+
extern TraceFlag timer_check_trace;
|
114
|
+
extern TraceFlag tsi_trace;
|
115
|
+
extern TraceFlag weighted_round_robin_lb_trace;
|
116
|
+
extern TraceFlag weighted_target_lb_trace;
|
117
|
+
extern TraceFlag xds_client_trace;
|
118
|
+
extern TraceFlag xds_client_refcount_trace;
|
119
|
+
extern TraceFlag xds_cluster_impl_lb_trace;
|
120
|
+
extern TraceFlag xds_cluster_manager_lb_trace;
|
121
|
+
extern TraceFlag xds_cluster_resource_type_test_trace;
|
122
|
+
extern TraceFlag xds_common_types_test_trace;
|
123
|
+
extern TraceFlag xds_endpoint_resource_type_test_trace;
|
124
|
+
extern TraceFlag xds_listener_resource_type_test_trace;
|
125
|
+
extern TraceFlag xds_override_host_lb_trace;
|
126
|
+
extern TraceFlag xds_resolver_trace;
|
127
|
+
extern TraceFlag xds_route_config_resource_type_test_trace;
|
128
|
+
extern TraceFlag xds_server_config_fetcher_trace;
|
129
|
+
extern TraceFlag xds_wrr_locality_lb_trace;
|
130
|
+
|
131
|
+
} // namespace grpc_core
|
132
|
+
|
133
|
+
#endif // GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
|
@@ -0,0 +1,115 @@
|
|
1
|
+
// Copyright 2015 gRPC authors.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
#ifndef GRPC_SRC_CORE_LIB_DEBUG_TRACE_IMPL_H
|
16
|
+
#define GRPC_SRC_CORE_LIB_DEBUG_TRACE_IMPL_H
|
17
|
+
|
18
|
+
#include <atomic>
|
19
|
+
#include <map>
|
20
|
+
#include <string>
|
21
|
+
|
22
|
+
#include "absl/container/flat_hash_map.h"
|
23
|
+
#include "absl/log/log.h"
|
24
|
+
#include "absl/strings/string_view.h"
|
25
|
+
|
26
|
+
#include <grpc/support/port_platform.h>
|
27
|
+
|
28
|
+
void grpc_tracer_init();
|
29
|
+
void grpc_tracer_shutdown(void);
|
30
|
+
|
31
|
+
namespace grpc_core {
|
32
|
+
bool ParseTracers(absl::string_view tracers);
|
33
|
+
class SavedTraceFlags;
|
34
|
+
|
35
|
+
class TraceFlag;
|
36
|
+
|
37
|
+
namespace testing {
|
38
|
+
void grpc_tracer_enable_flag(TraceFlag* flag);
|
39
|
+
}
|
40
|
+
|
41
|
+
class TraceFlag {
|
42
|
+
public:
|
43
|
+
TraceFlag(bool default_enabled, const char* name);
|
44
|
+
// TraceFlag needs to be trivially destructible since it is used as global
|
45
|
+
// variable.
|
46
|
+
~TraceFlag() = default;
|
47
|
+
|
48
|
+
const char* name() const { return name_; }
|
49
|
+
|
50
|
+
// Use the symbol GRPC_USE_TRACERS to determine if tracers will be enabled in
|
51
|
+
// opt builds (tracers are always on in dbg builds). The default in OSS is for
|
52
|
+
// tracers to be on since we support binary distributions of gRPC for the
|
53
|
+
// wrapped language (wr don't want to force recompilation to get tracing).
|
54
|
+
// Internally, however, for performance reasons, we compile them out by
|
55
|
+
// default, since internal build systems make recompiling trivial.
|
56
|
+
//
|
57
|
+
// Prefer GRPC_TRACE_FLAG_ENABLED() macro instead of using enabled() directly.
|
58
|
+
#define GRPC_USE_TRACERS // tracers on by default in OSS
|
59
|
+
#if defined(GRPC_USE_TRACERS) || !defined(NDEBUG)
|
60
|
+
bool enabled() { return value_.load(std::memory_order_relaxed); }
|
61
|
+
#else
|
62
|
+
bool enabled() { return false; }
|
63
|
+
#endif // defined(GRPC_USE_TRACERS) || !defined(NDEBUG)
|
64
|
+
|
65
|
+
private:
|
66
|
+
friend void testing::grpc_tracer_enable_flag(TraceFlag* flag);
|
67
|
+
friend bool ParseTracers(absl::string_view tracers);
|
68
|
+
friend SavedTraceFlags;
|
69
|
+
|
70
|
+
void set_enabled(bool enabled) {
|
71
|
+
value_.store(enabled, std::memory_order_relaxed);
|
72
|
+
}
|
73
|
+
|
74
|
+
TraceFlag* next_tracer_;
|
75
|
+
const char* const name_;
|
76
|
+
std::atomic<bool> value_;
|
77
|
+
};
|
78
|
+
|
79
|
+
#define GRPC_TRACE_FLAG_ENABLED_OBJ(obj) GPR_UNLIKELY((obj).enabled())
|
80
|
+
#define GRPC_TRACE_FLAG_ENABLED(tracer) \
|
81
|
+
GPR_UNLIKELY((grpc_core::tracer##_trace).enabled())
|
82
|
+
#define GRPC_TRACE_LOG(tracer, level) \
|
83
|
+
LOG_IF(level, GRPC_TRACE_FLAG_ENABLED(tracer))
|
84
|
+
#define GRPC_TRACE_VLOG(tracer, level) \
|
85
|
+
if (GRPC_TRACE_FLAG_ENABLED(tracer)) VLOG(level)
|
86
|
+
|
87
|
+
#ifndef NDEBUG
|
88
|
+
typedef TraceFlag DebugOnlyTraceFlag;
|
89
|
+
#else
|
90
|
+
class DebugOnlyTraceFlag {
|
91
|
+
public:
|
92
|
+
constexpr DebugOnlyTraceFlag(bool /*default_enabled*/, const char* /*name*/) {
|
93
|
+
}
|
94
|
+
constexpr bool enabled() const { return false; }
|
95
|
+
constexpr const char* name() const { return "DebugOnlyTraceFlag"; }
|
96
|
+
|
97
|
+
private:
|
98
|
+
void set_enabled(bool /*enabled*/) {}
|
99
|
+
};
|
100
|
+
#endif
|
101
|
+
|
102
|
+
class SavedTraceFlags {
|
103
|
+
public:
|
104
|
+
SavedTraceFlags();
|
105
|
+
void Restore();
|
106
|
+
|
107
|
+
private:
|
108
|
+
std::map<std::string, std::pair<bool, TraceFlag*>> values_;
|
109
|
+
};
|
110
|
+
|
111
|
+
const absl::flat_hash_map<std::string, TraceFlag*>& GetAllTraceFlags();
|
112
|
+
|
113
|
+
} // namespace grpc_core
|
114
|
+
|
115
|
+
#endif // GRPC_SRC_CORE_LIB_DEBUG_TRACE_IMPL_H
|
@@ -53,6 +53,7 @@
|
|
53
53
|
#include "absl/functional/any_invocable.h"
|
54
54
|
#include "absl/hash/hash.h"
|
55
55
|
#include "absl/log/check.h"
|
56
|
+
#include "absl/log/log.h"
|
56
57
|
#include "absl/strings/match.h"
|
57
58
|
#include "absl/strings/numbers.h"
|
58
59
|
#include "absl/strings/str_cat.h"
|
@@ -80,8 +81,6 @@
|
|
80
81
|
namespace grpc_event_engine {
|
81
82
|
namespace experimental {
|
82
83
|
|
83
|
-
grpc_core::TraceFlag grpc_trace_ares_resolver(false, "cares_resolver");
|
84
|
-
|
85
84
|
namespace {
|
86
85
|
|
87
86
|
absl::Status AresStatusToAbslStatus(int status, absl::string_view error_msg) {
|
@@ -200,7 +199,7 @@ AresResolver::CreateAresResolver(
|
|
200
199
|
ares_channel channel;
|
201
200
|
int status = ares_init_options(&channel, &opts, ARES_OPT_FLAGS);
|
202
201
|
if (status != ARES_SUCCESS) {
|
203
|
-
|
202
|
+
LOG(ERROR) << "ares_init_options failed, status: " << status;
|
204
203
|
return AresStatusToAbslStatus(
|
205
204
|
status,
|
206
205
|
absl::StrCat("Failed to init c-ares channel: ", ares_strerror(status)));
|
@@ -221,8 +220,7 @@ AresResolver::AresResolver(
|
|
221
220
|
std::unique_ptr<GrpcPolledFdFactory> polled_fd_factory,
|
222
221
|
std::shared_ptr<EventEngine> event_engine, ares_channel channel)
|
223
222
|
: RefCountedDNSResolverInterface(
|
224
|
-
GRPC_TRACE_FLAG_ENABLED(
|
225
|
-
: nullptr),
|
223
|
+
GRPC_TRACE_FLAG_ENABLED(cares_resolver) ? "AresResolver" : nullptr),
|
226
224
|
channel_(channel),
|
227
225
|
polled_fd_factory_(std::move(polled_fd_factory)),
|
228
226
|
event_engine_(std::move(event_engine)) {
|
@@ -767,9 +765,9 @@ void AresResolver::OnTXTDoneLocked(void* arg, int status, int /*timeouts*/,
|
|
767
765
|
}
|
768
766
|
GRPC_ARES_RESOLVER_TRACE_LOG("resolver:%p Got %zu TXT records", ares_resolver,
|
769
767
|
result.size());
|
770
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
768
|
+
if (GRPC_TRACE_FLAG_ENABLED(cares_resolver)) {
|
771
769
|
for (const auto& record : result) {
|
772
|
-
|
770
|
+
LOG(INFO) << record;
|
773
771
|
}
|
774
772
|
}
|
775
773
|
// Clean up.
|
@@ -46,11 +46,9 @@
|
|
46
46
|
namespace grpc_event_engine {
|
47
47
|
namespace experimental {
|
48
48
|
|
49
|
-
extern grpc_core::TraceFlag grpc_trace_ares_resolver;
|
50
|
-
|
51
49
|
#define GRPC_ARES_RESOLVER_TRACE_LOG(format, ...) \
|
52
50
|
do { \
|
53
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
51
|
+
if (GRPC_TRACE_FLAG_ENABLED(cares_resolver)) { \
|
54
52
|
gpr_log(GPR_INFO, "(EventEngine c-ares resolver) " format, __VA_ARGS__); \
|
55
53
|
} \
|
56
54
|
} while (0)
|
@@ -63,7 +63,7 @@ CFEventEngine::CFEventEngine()
|
|
63
63
|
CFEventEngine::~CFEventEngine() {
|
64
64
|
{
|
65
65
|
grpc_core::MutexLock lock(&task_mu_);
|
66
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
66
|
+
if (GRPC_TRACE_FLAG_ENABLED(event_engine)) {
|
67
67
|
for (auto handle : known_handles_) {
|
68
68
|
gpr_log(GPR_ERROR,
|
69
69
|
"CFEventEngine:%p uncleared TaskHandle at shutdown:%s", this,
|
@@ -35,11 +35,9 @@ namespace experimental {
|
|
35
35
|
void DNSServiceResolverImpl::LookupHostname(
|
36
36
|
EventEngine::DNSResolver::LookupHostnameCallback on_resolve,
|
37
37
|
absl::string_view name, absl::string_view default_port) {
|
38
|
-
|
39
|
-
"DNSServiceResolverImpl::LookupHostname: name:
|
40
|
-
"this:
|
41
|
-
static_cast<int>(name.length()), name.data(),
|
42
|
-
static_cast<int>(default_port.length()), default_port.data(), this);
|
38
|
+
GRPC_TRACE_LOG(event_engine_dns, INFO)
|
39
|
+
<< "DNSServiceResolverImpl::LookupHostname: name: " << name
|
40
|
+
<< ", default_port: " << default_port << ", this: " << this;
|
43
41
|
|
44
42
|
absl::string_view host;
|
45
43
|
absl::string_view port_string;
|
@@ -139,13 +137,12 @@ void DNSServiceResolverImpl::ResolveCallback(
|
|
139
137
|
DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex,
|
140
138
|
DNSServiceErrorType errorCode, const char* hostname,
|
141
139
|
const struct sockaddr* address, uint32_t ttl, void* context) {
|
142
|
-
|
143
|
-
"DNSServiceResolverImpl::ResolveCallback: sdRef:
|
144
|
-
"
|
145
|
-
"
|
146
|
-
"
|
147
|
-
|
148
|
-
ttl, context);
|
140
|
+
GRPC_TRACE_LOG(event_engine_dns, INFO)
|
141
|
+
<< "DNSServiceResolverImpl::ResolveCallback: sdRef: " << sdRef
|
142
|
+
<< ", flags: " << flags << ", interface: " << interfaceIndex
|
143
|
+
<< ", errorCode: " << errorCode << ", hostname: " << hostname
|
144
|
+
<< ", addressFamily: " << address->sa_family << ", ttl: " << ttl
|
145
|
+
<< ", this: " << context;
|
149
146
|
|
150
147
|
// no need to increase refcount here, since ResolveCallback and Shutdown is
|
151
148
|
// called from the serial queue and it is guarenteed that it won't be called
|
@@ -195,12 +192,11 @@ void DNSServiceResolverImpl::ResolveCallback(
|
|
195
192
|
->sin6_port = htons(request.port);
|
196
193
|
}
|
197
194
|
|
198
|
-
|
199
|
-
"DNSServiceResolverImpl::ResolveCallback: "
|
200
|
-
"
|
201
|
-
|
202
|
-
|
203
|
-
context);
|
195
|
+
GRPC_TRACE_LOG(event_engine_dns, INFO)
|
196
|
+
<< "DNSServiceResolverImpl::ResolveCallback: sdRef: " << sdRef
|
197
|
+
<< ", hostname: " << hostname << ", addressPort: "
|
198
|
+
<< ResolvedAddressToString(resolved_address).value_or("ERROR")
|
199
|
+
<< ", this: " << context;
|
204
200
|
}
|
205
201
|
|
206
202
|
// received both ipv4 and ipv6 responses, and no more responses (e.g. multiple
|
@@ -231,10 +227,9 @@ void DNSServiceResolverImpl::Shutdown() {
|
|
231
227
|
for (auto& kv : that->requests_) {
|
232
228
|
auto& sdRef = kv.first;
|
233
229
|
auto& request = kv.second;
|
234
|
-
|
235
|
-
"DNSServiceResolverImpl::Shutdown sdRef:
|
236
|
-
thatPtr
|
237
|
-
|
230
|
+
GRPC_TRACE_LOG(event_engine_dns, INFO)
|
231
|
+
<< "DNSServiceResolverImpl::Shutdown sdRef: " << sdRef
|
232
|
+
<< ", this: " << thatPtr;
|
238
233
|
request.on_resolve(
|
239
234
|
absl::CancelledError("DNSServiceResolverImpl::Shutdown"));
|
240
235
|
DNSServiceRefDeallocate(static_cast<DNSServiceRef>(sdRef));
|