Merge branch 'error' of https://github.com/ctiller/grpc into error

pull/6897/head
Craig Tiller 9 years ago
commit a72e281fcf
  1. 3
      src/core/lib/surface/call.c
  2. 7
      src/core/lib/surface/completion_queue.c
  3. 2
      src/core/lib/surface/completion_queue.h
  4. 1
      src/core/lib/surface/init.c
  5. 2
      test/core/surface/sequential_connectivity_test.c
  6. 10
      tools/run_tests/performance/kill_workers.sh

@ -1109,6 +1109,9 @@ static void receiving_slice_ready(grpc_exec_ctx *exec_ctx, void *bctlp,
call->receiving_slice); call->receiving_slice);
continue_receiving_slices(exec_ctx, bctl); continue_receiving_slices(exec_ctx, bctl);
} else { } else {
if (grpc_trace_operation_failures) {
GRPC_LOG_IF_ERROR("receiving_slice_ready", GRPC_ERROR_REF(error));
}
grpc_byte_stream_destroy(exec_ctx, call->receiving_stream); grpc_byte_stream_destroy(exec_ctx, call->receiving_stream);
call->receiving_stream = NULL; call->receiving_stream = NULL;
grpc_byte_buffer_destroy(*call->receiving_buffer); grpc_byte_buffer_destroy(*call->receiving_buffer);

@ -50,6 +50,8 @@
#include "src/core/lib/surface/event_string.h" #include "src/core/lib/surface/event_string.h"
#include "src/core/lib/surface/surface_trace.h" #include "src/core/lib/surface/surface_trace.h"
int grpc_trace_operation_failures;
typedef struct { typedef struct {
grpc_pollset_worker **worker; grpc_pollset_worker **worker;
void *tag; void *tag;
@ -231,12 +233,15 @@ void grpc_cq_end_op(grpc_exec_ctx *exec_ctx, grpc_completion_queue *cc,
#endif #endif
GPR_TIMER_BEGIN("grpc_cq_end_op", 0); GPR_TIMER_BEGIN("grpc_cq_end_op", 0);
if (grpc_api_trace) { if (grpc_api_trace || (grpc_trace_operation_failures && error != GRPC_ERROR_NONE)) {
const char *errmsg = grpc_error_string(error); const char *errmsg = grpc_error_string(error);
GRPC_API_TRACE( GRPC_API_TRACE(
"grpc_cq_end_op(exec_ctx=%p, cc=%p, tag=%p, error=%s, done=%p, " "grpc_cq_end_op(exec_ctx=%p, cc=%p, tag=%p, error=%s, done=%p, "
"done_arg=%p, storage=%p)", "done_arg=%p, storage=%p)",
7, (exec_ctx, cc, tag, errmsg, done, done_arg, storage)); 7, (exec_ctx, cc, tag, errmsg, done, done_arg, storage));
if (grpc_trace_operation_failures) {
gpr_log(GPR_ERROR, "Operation failed: tag=%p, error=%s", tag, errmsg);
}
grpc_error_free_string(errmsg); grpc_error_free_string(errmsg);
} }

@ -39,6 +39,8 @@
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include "src/core/lib/iomgr/pollset.h" #include "src/core/lib/iomgr/pollset.h"
extern int grpc_trace_operation_failures;
typedef struct grpc_cq_completion { typedef struct grpc_cq_completion {
/** user supplied tag */ /** user supplied tag */
void *tag; void *tag;

@ -165,6 +165,7 @@ void grpc_init(void) {
&grpc_trace_channel_stack_builder); &grpc_trace_channel_stack_builder);
grpc_register_tracer("http1", &grpc_http1_trace); grpc_register_tracer("http1", &grpc_http1_trace);
grpc_register_tracer("compression", &grpc_compression_trace); grpc_register_tracer("compression", &grpc_compression_trace);
grpc_register_tracer("op_failure", &grpc_trace_operation_failures);
grpc_security_pre_init(); grpc_security_pre_init();
grpc_iomgr_init(); grpc_iomgr_init();
grpc_executor_init(); grpc_executor_init();

@ -70,7 +70,7 @@ static void run_test(const test_fixture *fixture) {
grpc_init(); grpc_init();
char *addr; char *addr;
gpr_join_host_port(&addr, "::", grpc_pick_unused_port_or_die()); gpr_join_host_port(&addr, "localhost", grpc_pick_unused_port_or_die());
grpc_server *server = grpc_server_create(NULL, NULL); grpc_server *server = grpc_server_create(NULL, NULL);
fixture->add_server_port(server, addr); fixture->add_server_port(server, addr);

@ -39,19 +39,19 @@ cd $(dirname $0)/../../..
killall -9 qps_worker || true killall -9 qps_worker || true
# C# # C#
ps -C mono -o pid=,cmd= | grep QpsWorker | awk '{print $1}' | xargs kill -9 ps -C mono -o pid=,cmd= | grep QpsWorker | awk '{print $1}' | xargs kill -9 || true
# Ruby # Ruby
ps -C ruby -o pid=,cmd= | grep 'qps/worker.rb' | awk '{print $1}' | xargs kill -9 ps -C ruby -o pid=,cmd= | grep 'qps/worker.rb' | awk '{print $1}' | xargs kill -9 || true
# Node # Node
ps -C node -o pid=,cmd= | grep 'performance/worker.js' | awk '{print $1}' | xargs kill -9 ps -C node -o pid=,cmd= | grep 'performance/worker.js' | awk '{print $1}' | xargs kill -9 || true
# Python # Python
ps -C python -o pid=,cmd= | grep 'qps_worker.py' | awk '{print $1}' | xargs kill -9 ps -C python -o pid=,cmd= | grep 'qps_worker.py' | awk '{print $1}' | xargs kill -9 || true
# Java # Java
jps | grep LoadWorker | awk '{print $1}' | xargs kill -9 jps | grep LoadWorker | awk '{print $1}' | xargs kill -9 || true
# Go # Go
killall -9 worker || true killall -9 worker || true

Loading…
Cancel
Save