aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/channel/channel_trace_test.cc
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-03-06 08:20:12 -0800
committerGravatar ncteisen <ncteisen@gmail.com>2018-03-06 08:20:12 -0800
commitb50f74f5022a3060fac8ac1206750c539bd1cfc4 (patch)
tree555c4ae70691e68f5f70a7c99cf1bea35bd93b78 /test/core/channel/channel_trace_test.cc
parente9587db8530446d894d5de470591201dabb3ac77 (diff)
Reviewer comments
Diffstat (limited to 'test/core/channel/channel_trace_test.cc')
-rw-r--r--test/core/channel/channel_trace_test.cc136
1 files changed, 69 insertions, 67 deletions
diff --git a/test/core/channel/channel_trace_test.cc b/test/core/channel/channel_trace_test.cc
index dcc3a347bf..8c10de9103 100644
--- a/test/core/channel/channel_trace_test.cc
+++ b/test/core/channel/channel_trace_test.cc
@@ -34,16 +34,17 @@
namespace grpc_core {
namespace testing {
+namespace {
-static void add_simple_trace_event(RefCountedPtr<ChannelTrace> tracer) {
+void AddSimpleTrace(RefCountedPtr<ChannelTrace> tracer) {
tracer->AddTraceEvent(grpc_slice_from_static_string("simple trace"),
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error"),
GRPC_CHANNEL_READY);
}
// checks for the existence of all the required members of the tracer.
-static void validate_trace(RefCountedPtr<ChannelTrace> tracer,
- size_t expected_num_event_logged, size_t max_nodes) {
+void ValidateChannelTrace(RefCountedPtr<ChannelTrace> tracer,
+ size_t expected_num_event_logged, size_t max_nodes) {
if (!max_nodes) return;
char* json_str = tracer->RenderTrace();
grpc_json* json = grpc_json_parse_string(json_str);
@@ -53,8 +54,7 @@ static void validate_trace(RefCountedPtr<ChannelTrace> tracer,
gpr_free(json_str);
}
-static void validate_trace_data_matches_uuid_lookup(
- RefCountedPtr<ChannelTrace> tracer) {
+void ValidateTraceDataMatchedUuidLookup(RefCountedPtr<ChannelTrace> tracer) {
intptr_t uuid = tracer->GetUuid();
if (uuid == -1) return; // Doesn't make sense to lookup if tracing disabled
char* tracer_json_str = tracer->RenderTrace();
@@ -68,12 +68,12 @@ static void validate_trace_data_matches_uuid_lookup(
// Tests basic ChannelTrace functionality like construction, adding trace, and
// lookups by uuid.
-static void test_basic_channel_trace(size_t max_nodes) {
+void TestBasicChannelTrace(size_t max_nodes) {
grpc_core::ExecCtx exec_ctx;
RefCountedPtr<ChannelTrace> tracer = MakeRefCounted<ChannelTrace>(max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- validate_trace_data_matches_uuid_lookup(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ ValidateTraceDataMatchedUuidLookup(tracer);
tracer->AddTraceEvent(
grpc_slice_from_static_string("trace three"),
grpc_error_set_int(GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error"),
@@ -81,81 +81,83 @@ static void test_basic_channel_trace(size_t max_nodes) {
GRPC_CHANNEL_IDLE);
tracer->AddTraceEvent(grpc_slice_from_static_string("trace four"),
GRPC_ERROR_NONE, GRPC_CHANNEL_SHUTDOWN);
- validate_trace(tracer, 4, max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- validate_trace(tracer, 6, max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- validate_trace(tracer, 10, max_nodes);
- validate_trace_data_matches_uuid_lookup(tracer);
+ ValidateChannelTrace(tracer, 4, max_nodes);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ ValidateChannelTrace(tracer, 6, max_nodes);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ ValidateChannelTrace(tracer, 10, max_nodes);
+ ValidateTraceDataMatchedUuidLookup(tracer);
tracer.reset(nullptr);
}
-// Calls basic test with various values for max_nodes (including 0, which turns
-// the tracer off).
-TEST(ChannelTracerTest, BasicTest) {
- test_basic_channel_trace(0);
- test_basic_channel_trace(1);
- test_basic_channel_trace(2);
- test_basic_channel_trace(6);
- test_basic_channel_trace(10);
- test_basic_channel_trace(15);
-}
-
// Tests more complex functionality, like a parent channel tracking
// subchannles. This exercises the ref/unref patterns since the parent tracer
// and this function will both hold refs to the subchannel.
-static void test_complex_channel_trace(size_t max_nodes) {
+void TestComplexChannelTrace(size_t max_nodes) {
grpc_core::ExecCtx exec_ctx;
RefCountedPtr<ChannelTrace> tracer = MakeRefCounted<ChannelTrace>(max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
RefCountedPtr<ChannelTrace> sc1 = MakeRefCounted<ChannelTrace>(max_nodes);
tracer->AddTraceEvent(grpc_slice_from_static_string("subchannel one created"),
GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE, sc1);
- validate_trace(tracer, 3, max_nodes);
- add_simple_trace_event(sc1);
- add_simple_trace_event(sc1);
- add_simple_trace_event(sc1);
- validate_trace(sc1, 3, max_nodes);
- add_simple_trace_event(sc1);
- add_simple_trace_event(sc1);
- add_simple_trace_event(sc1);
- validate_trace(sc1, 6, max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- validate_trace(tracer, 5, max_nodes);
- validate_trace_data_matches_uuid_lookup(tracer);
+ ValidateChannelTrace(tracer, 3, max_nodes);
+ AddSimpleTrace(sc1);
+ AddSimpleTrace(sc1);
+ AddSimpleTrace(sc1);
+ ValidateChannelTrace(sc1, 3, max_nodes);
+ AddSimpleTrace(sc1);
+ AddSimpleTrace(sc1);
+ AddSimpleTrace(sc1);
+ ValidateChannelTrace(sc1, 6, max_nodes);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ ValidateChannelTrace(tracer, 5, max_nodes);
+ ValidateTraceDataMatchedUuidLookup(tracer);
RefCountedPtr<ChannelTrace> sc2 = MakeRefCounted<ChannelTrace>(max_nodes);
tracer->AddTraceEvent(grpc_slice_from_static_string("subchannel two created"),
GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE, sc2);
tracer->AddTraceEvent(
grpc_slice_from_static_string("subchannel one inactive"), GRPC_ERROR_NONE,
GRPC_CHANNEL_IDLE, sc1);
- validate_trace(tracer, 7, max_nodes);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
- validate_trace_data_matches_uuid_lookup(tracer);
+ ValidateChannelTrace(tracer, 7, max_nodes);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
+ ValidateTraceDataMatchedUuidLookup(tracer);
tracer.reset(nullptr);
sc1.reset(nullptr);
sc2.reset(nullptr);
}
+} // anonymous namespace
+
+// Calls basic test with various values for max_nodes (including 0, which turns
+// the tracer off).
+TEST(ChannelTracerTest, BasicTest) {
+ TestBasicChannelTrace(0);
+ TestBasicChannelTrace(1);
+ TestBasicChannelTrace(2);
+ TestBasicChannelTrace(6);
+ TestBasicChannelTrace(10);
+ TestBasicChannelTrace(15);
+}
+
// Calls the complex test with a sweep of sizes for max_nodes.
TEST(ChannelTracerTest, ComplexTest) {
- test_complex_channel_trace(0);
- test_complex_channel_trace(1);
- test_complex_channel_trace(2);
- test_complex_channel_trace(6);
- test_complex_channel_trace(10);
- test_complex_channel_trace(15);
+ TestComplexChannelTrace(0);
+ TestComplexChannelTrace(1);
+ TestComplexChannelTrace(2);
+ TestComplexChannelTrace(6);
+ TestComplexChannelTrace(10);
+ TestComplexChannelTrace(15);
}
// Test a case in which the parent channel has subchannels and the subchannels
@@ -164,19 +166,19 @@ TEST(ChannelTracerTest, ComplexTest) {
TEST(ChannelTracerTest, TestNesting) {
grpc_core::ExecCtx exec_ctx;
RefCountedPtr<ChannelTrace> tracer = MakeRefCounted<ChannelTrace>(10);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
RefCountedPtr<ChannelTrace> sc1 = MakeRefCounted<ChannelTrace>(5);
tracer->AddTraceEvent(grpc_slice_from_static_string("subchannel one created"),
GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE, sc1);
- add_simple_trace_event(sc1);
+ AddSimpleTrace(sc1);
RefCountedPtr<ChannelTrace> conn1 = MakeRefCounted<ChannelTrace>(5);
// nesting one level deeper.
sc1->AddTraceEvent(grpc_slice_from_static_string("connection one created"),
GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE, conn1);
- add_simple_trace_event(conn1);
- add_simple_trace_event(tracer);
- add_simple_trace_event(tracer);
+ AddSimpleTrace(conn1);
+ AddSimpleTrace(tracer);
+ AddSimpleTrace(tracer);
RefCountedPtr<ChannelTrace> sc2 = MakeRefCounted<ChannelTrace>(5);
tracer->AddTraceEvent(grpc_slice_from_static_string("subchannel two created"),
GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE, sc2);
@@ -185,7 +187,7 @@ TEST(ChannelTracerTest, TestNesting) {
tracer->AddTraceEvent(
grpc_slice_from_static_string("subchannel one inactive"), GRPC_ERROR_NONE,
GRPC_CHANNEL_IDLE, sc1);
- add_simple_trace_event(tracer);
+ AddSimpleTrace(tracer);
tracer.reset(nullptr);
sc1.reset(nullptr);
sc2.reset(nullptr);