From 6b5ef685680e5033d3403b6f1c7e22c401760ee2 Mon Sep 17 00:00:00 2001 From: QinZuoyan Date: Mon, 3 Jun 2019 15:38:20 +0800 Subject: [PATCH] perf-counter: improve log printing when processing http response (#333) x --- src/reporter/pegasus_counter_reporter.cpp | 26 ++++++++++------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/reporter/pegasus_counter_reporter.cpp b/src/reporter/pegasus_counter_reporter.cpp index 4679b06..2ba2054 100644 --- a/src/reporter/pegasus_counter_reporter.cpp +++ b/src/reporter/pegasus_counter_reporter.cpp @@ -215,27 +215,23 @@ void pegasus_counter_reporter::http_request_done(struct evhttp_request *req, voi { struct event_base *event = (struct event_base *)arg; if (req == nullptr) { - derror("http_request_done failed, unknown reason"); - event_base_loopexit(event, 0); - return; - } - - switch (req->response_code) { - case HTTP_OK: { - dinfo("http_request_done OK"); - event_base_loopexit(event, 0); - } break; - - default: + derror("http post request failed: unknown reason"); + } else if (req->response_code == 0) { + derror("http post request failed: connection refused"); + } else if (req->response_code == HTTP_OK) { + dinfo("http post request succeed"); + } else { struct evbuffer *buf = evhttp_request_get_input_buffer(req); size_t len = evbuffer_get_length(buf); char *tmp = (char *)alloca(len + 1); memcpy(tmp, evbuffer_pullup(buf, -1), len); tmp[len] = '\0'; - derror("http post request receive ERROR: %u, %s", req->response_code, tmp); - event_base_loopexit(event, 0); - return; + derror("http post request failed: code = %u, code_line = %s, input_buffer = %s", + req->response_code, + req->response_code_line, + tmp); } + event_base_loopexit(event, 0); } void pegasus_counter_reporter::on_report_timer(std::shared_ptr timer, -- GitLab