diff options
author | ncteisen <ncteisen@gmail.com> | 2018-10-02 17:33:07 -0700 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2018-10-02 17:33:07 -0700 |
commit | a64cb54de152017d6c3c968ec9c22a98c405a8ba (patch) | |
tree | 9d6d17b00197a519765b104833a8cf2946eabda8 /src/core/lib/surface | |
parent | 95dc4f1b8dfe30c7b983147690f483e0894687fd (diff) |
Channel trace is limited by memory
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r-- | src/core/lib/surface/channel.cc | 10 | ||||
-rw-r--r-- | src/core/lib/surface/server.cc | 8 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 054fe105c3..6ca3af1aed 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -102,7 +102,7 @@ grpc_channel* grpc_channel_create_with_builder( channel->target = target; channel->is_client = grpc_channel_stack_type_is_client(channel_stack_type); - size_t channel_tracer_max_nodes = 0; // default to off + size_t channel_tracer_max_memory = 0; // default to off bool channelz_enabled = false; bool internal_channel = false; // this creates the default ChannelNode. Different types of channels may @@ -141,11 +141,11 @@ grpc_channel* grpc_channel_create_with_builder( static_cast<uint32_t>(args->args[i].value.integer) | 0x1; /* always support no compression */ } else if (0 == strcmp(args->args[i].key, - GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE)) { - GPR_ASSERT(channel_tracer_max_nodes == 0); + GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE)) { + GPR_ASSERT(channel_tracer_max_memory == 0); // max_nodes defaults to 0 (which is off), clamped between 0 and INT_MAX const grpc_integer_options options = {0, 0, INT_MAX}; - channel_tracer_max_nodes = + channel_tracer_max_memory = (size_t)grpc_channel_arg_get_integer(&args->args[i], options); } else if (0 == strcmp(args->args[i].key, GRPC_ARG_ENABLE_CHANNELZ)) { // channelz will not be enabled by default until all concerns in @@ -169,7 +169,7 @@ grpc_channel* grpc_channel_create_with_builder( // bookkeeping for server channels occurs in src/core/lib/surface/server.cc if (channelz_enabled && channel->is_client) { channel->channelz_channel = channel_node_create_func( - channel, channel_tracer_max_nodes, !internal_channel); + channel, channel_tracer_max_memory, !internal_channel); channel->channelz_channel->AddTraceEvent( grpc_core::channelz::ChannelTrace::Severity::Info, grpc_slice_from_static_string("Channel created")); diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc index 72ddc2648d..b9e86784f3 100644 --- a/src/core/lib/surface/server.cc +++ b/src/core/lib/surface/server.cc @@ -1009,13 +1009,13 @@ grpc_server* grpc_server_create(const grpc_channel_args* args, void* reserved) { const grpc_arg* arg = grpc_channel_args_find(args, GRPC_ARG_ENABLE_CHANNELZ); if (grpc_channel_arg_get_bool(arg, false)) { - arg = grpc_channel_args_find(args, - GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE); - size_t trace_events_per_node = + arg = grpc_channel_args_find( + args, GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE); + size_t channel_tracer_max_memory = grpc_channel_arg_get_integer(arg, {0, 0, INT_MAX}); server->channelz_server = grpc_core::MakeRefCounted<grpc_core::channelz::ServerNode>( - trace_events_per_node); + channel_tracer_max_memory); server->channelz_server->AddTraceEvent( grpc_core::channelz::ChannelTrace::Severity::Info, grpc_slice_from_static_string("Server created")); |