From e2a87dac6975b3cbf6e434e1bb5112269043653e Mon Sep 17 00:00:00 2001 From: ncteisen Date: Fri, 3 Aug 2018 11:31:19 -0400 Subject: Add some comments --- src/core/ext/filters/client_channel/client_channel.cc | 8 ++++++-- src/core/ext/filters/client_channel/client_channel_channelz.h | 3 ++- src/core/lib/channel/channelz.h | 3 ++- test/core/end2end/tests/channelz.cc | 7 ------- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index c3669189f4..4263e791c4 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -925,7 +925,6 @@ typedef struct client_channel_call_data { grpc_closure recv_trailing_metadata_ready_channelz; grpc_closure* original_recv_trailing_metadata; - // metadata_batch recv_trailing_metadata_channelz; grpc_polling_entity* pollent; bool pollent_added_to_interested_parties; @@ -1305,6 +1304,9 @@ static void recv_trailing_metadata_ready_channelz(void* arg, GRPC_CLOSURE_SCHED(calld->original_recv_trailing_metadata, error); } +// If channelz is enabled, intercept recv_trailing so that we may check the +// status and associate it to a subchannel. +// Returns true if callback was intercepted, false otherwise. static bool maybe_intercept_recv_trailing_for_channelz( grpc_call_element* elem, grpc_transport_stream_op_batch* batch) { call_data* calld = static_cast(elem->call_data); @@ -1355,6 +1357,7 @@ static void pending_batches_resume(grpc_call_element* elem) { grpc_schedule_on_exec_ctx); closures.Add(&batch->handler_private.closure, GRPC_ERROR_NONE, "pending_batches_resume"); + // Only clear if we haven't intercepted anything. if (!intercepted) { pending_batch_clear(calld, pending); } @@ -1836,7 +1839,8 @@ static void recv_message_ready(void* arg, grpc_error* error) { // recv_trailing_metadata handling // -// Sets *status and *server_pushback_md based on batch_data and error. +// Sets *status and *server_pushback_md based on md_batch and error. +// Only sets *server_pushback_md if server_pushback_md != nullptr. static void get_call_status(grpc_call_element* elem, grpc_metadata_batch* md_batch, grpc_error* error, grpc_status_code* status, diff --git a/src/core/ext/filters/client_channel/client_channel_channelz.h b/src/core/ext/filters/client_channel/client_channel_channelz.h index a9e98deedb..8ce331e529 100644 --- a/src/core/ext/filters/client_channel/client_channel_channelz.h +++ b/src/core/ext/filters/client_channel/client_channel_channelz.h @@ -83,7 +83,8 @@ class SubchannelNode : public BaseNode { void AddTraceEventWithReference(ChannelTrace::Severity severity, grpc_slice data, RefCountedPtr referenced_channel) { - trace_.AddTraceEventWithReference(severity, data, referenced_channel); + trace_.AddTraceEventWithReference(severity, data, + std::move(referenced_channel)); } void RecordCallStarted() { call_counter_.RecordCallStarted(); } void RecordCallFailed() { call_counter_.RecordCallFailed(); } diff --git a/src/core/lib/channel/channelz.h b/src/core/lib/channel/channelz.h index e2cef233e6..bd2735929c 100644 --- a/src/core/lib/channel/channelz.h +++ b/src/core/lib/channel/channelz.h @@ -150,7 +150,8 @@ class ChannelNode : public BaseNode { void AddTraceEventWithReference(ChannelTrace::Severity severity, grpc_slice data, RefCountedPtr referenced_channel) { - trace_.AddTraceEventWithReference(severity, data, referenced_channel); + trace_.AddTraceEventWithReference(severity, data, + std::move(referenced_channel)); } void RecordCallStarted() { call_counter_.RecordCallStarted(); } void RecordCallFailed() { call_counter_.RecordCallFailed(); } diff --git a/test/core/end2end/tests/channelz.cc b/test/core/end2end/tests/channelz.cc index 562822c537..533703a2be 100644 --- a/test/core/end2end/tests/channelz.cc +++ b/test/core/end2end/tests/channelz.cc @@ -241,13 +241,6 @@ static void test_channelz(grpc_end2end_test_config config) { GPR_ASSERT(nullptr == strstr(json, "\"severity\":\"CT_INFO\"")); gpr_free(json); - json = grpc_channelz_get_subchannel(2); - gpr_log(GPR_INFO, "%s", json); - GPR_ASSERT(nullptr != strstr(json, "\"callsStarted\":\"2\"")); - GPR_ASSERT(nullptr != strstr(json, "\"callsFailed\":\"1\"")); - GPR_ASSERT(nullptr != strstr(json, "\"callsSucceeded\":\"1\"")); - gpr_free(json); - end_test(&f); config.tear_down_data(&f); } -- cgit v1.2.3