From 073a88f4dddf102ecaa46f2d74fd85bdf5be9594 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 8 Sep 2017 14:26:22 -0700 Subject: [PATCH] add some stats --- src/core/ext/transport/chttp2/transport/chttp2_transport.c | 6 ++++++ src/core/lib/debug/stats_data.c | 2 ++ src/core/lib/debug/stats_data.h | 6 ++++++ src/core/lib/debug/stats_data.yaml | 3 ++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 65c35f0a867..652150a8c16 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -938,6 +938,12 @@ static void write_action_begin_locked(grpc_exec_ctx *exec_ctx, void *gt, r = grpc_chttp2_begin_write(exec_ctx, t); } if (r.writing) { + if (r.partial) { + GRPC_STATS_INC_HTTP2_PARTIAL_WRITES(exec_ctx); + } + if (!t->is_first_write_in_batch) { + GRPC_STATS_INC_HTTP2_WRITES_CONTINUED(exec_ctx); + } grpc_closure_scheduler *scheduler = write_scheduler(t, r.early_results_scheduled, r.partial); if (scheduler != grpc_schedule_on_exec_ctx) { diff --git a/src/core/lib/debug/stats_data.c b/src/core/lib/debug/stats_data.c index 490d257d2fa..a21bb1ef404 100644 --- a/src/core/lib/debug/stats_data.c +++ b/src/core/lib/debug/stats_data.c @@ -43,6 +43,8 @@ const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = { "http2_pings_sent", "http2_writes_begun", "http2_writes_offloaded", + "http2_writes_continued", + "http2_partial_writes", "combiner_locks_initiated", "combiner_locks_scheduled_items", "combiner_locks_scheduled_final_items", diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index b0f5946eb0e..bbc78fb341e 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -45,6 +45,8 @@ typedef enum { GRPC_STATS_COUNTER_HTTP2_PINGS_SENT, GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN, GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED, + GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED, + GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES, GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED, GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS, GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS, @@ -128,6 +130,10 @@ typedef enum { GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN) #define GRPC_STATS_INC_HTTP2_WRITES_OFFLOADED(exec_ctx) \ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED) +#define GRPC_STATS_INC_HTTP2_WRITES_CONTINUED(exec_ctx) \ + GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED) +#define GRPC_STATS_INC_HTTP2_PARTIAL_WRITES(exec_ctx) \ + GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES) #define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED(exec_ctx) \ GRPC_STATS_INC_COUNTER((exec_ctx), \ GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED) diff --git a/src/core/lib/debug/stats_data.yaml b/src/core/lib/debug/stats_data.yaml index 64eb4df6d11..e74fdc331dd 100644 --- a/src/core/lib/debug/stats_data.yaml +++ b/src/core/lib/debug/stats_data.yaml @@ -58,6 +58,8 @@ - counter: http2_pings_sent - counter: http2_writes_begun - counter: http2_writes_offloaded +- counter: http2_writes_continued +- counter: http2_partial_writes # combiner locks - counter: combiner_locks_initiated - counter: combiner_locks_scheduled_items @@ -70,4 +72,3 @@ - counter: executor_wakeup_initiated - counter: executor_queue_drained - counter: executor_push_retries -