Commit 847bd9ef authored by zhujiashun's avatar zhujiashun

add server processed time in controller

parent 5b3cb00f
...@@ -252,6 +252,7 @@ void Controller::ResetPods() { ...@@ -252,6 +252,7 @@ void Controller::ResetPods() {
_request_stream = INVALID_STREAM_ID; _request_stream = INVALID_STREAM_ID;
_response_stream = INVALID_STREAM_ID; _response_stream = INVALID_STREAM_ID;
_remote_stream_settings = NULL; _remote_stream_settings = NULL;
_received_us = 0;
} }
Controller::Call::Call(Controller::Call* rhs) Controller::Call::Call(Controller::Call* rhs)
......
...@@ -175,6 +175,9 @@ public: ...@@ -175,6 +175,9 @@ public:
// Get latency of the RPC call. // Get latency of the RPC call.
int64_t latency_us() const { return _end_time_us - _begin_time_us; } int64_t latency_us() const { return _end_time_us - _begin_time_us; }
// Get processed time of the RPC call since received
int64_t processed_us() const { return butil::cpuwide_time_us()- _received_us; }
// Response of the RPC call (passed to CallMethod) // Response of the RPC call (passed to CallMethod)
google::protobuf::Message* response() const { return _response; } google::protobuf::Message* response() const { return _response; }
...@@ -729,6 +732,9 @@ private: ...@@ -729,6 +732,9 @@ private:
// Thrift method name, only used when thrift protocol enabled // Thrift method name, only used when thrift protocol enabled
std::string _thrift_method_name; std::string _thrift_method_name;
// Received time of message
int64_t _received_us;
}; };
// Advises the RPC system that the caller desires that the RPC call be // Advises the RPC system that the caller desires that the RPC call be
......
...@@ -351,6 +351,7 @@ void ProcessRpcRequest(InputMessageBase* msg_base) { ...@@ -351,6 +351,7 @@ void ProcessRpcRequest(InputMessageBase* msg_base) {
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_auth_context(socket->auth_context()) .set_auth_context(socket->auth_context())
.set_request_protocol(PROTOCOL_BAIDU_STD) .set_request_protocol(PROTOCOL_BAIDU_STD)
.set_received_us(msg_base->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
if (meta.has_stream_settings()) { if (meta.has_stream_settings()) {
......
...@@ -1237,6 +1237,7 @@ void ProcessHttpRequest(InputMessageBase *msg) { ...@@ -1237,6 +1237,7 @@ void ProcessHttpRequest(InputMessageBase *msg) {
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_auth_context(socket->auth_context()) .set_auth_context(socket->auth_context())
.set_request_protocol(PROTOCOL_HTTP) .set_request_protocol(PROTOCOL_HTTP)
.set_received_us(msg->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
// Read log-id. errno may be set when input to strtoull overflows. // Read log-id. errno may be set when input to strtoull overflows.
......
...@@ -384,6 +384,7 @@ void ProcessHuluRequest(InputMessageBase* msg_base) { ...@@ -384,6 +384,7 @@ void ProcessHuluRequest(InputMessageBase* msg_base) {
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_auth_context(socket->auth_context()) .set_auth_context(socket->auth_context())
.set_request_protocol(PROTOCOL_HULU_PBRPC) .set_request_protocol(PROTOCOL_HULU_PBRPC)
.set_received_us(msg->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
if (meta.has_user_data()) { if (meta.has_user_data()) {
......
...@@ -206,6 +206,7 @@ void ProcessMongoRequest(InputMessageBase* msg_base) { ...@@ -206,6 +206,7 @@ void ProcessMongoRequest(InputMessageBase* msg_base) {
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_auth_context(socket->auth_context()) .set_auth_context(socket->auth_context())
.set_request_protocol(PROTOCOL_MONGO) .set_request_protocol(PROTOCOL_MONGO)
.set_received_us(msg_base->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
// Tag the bthread with this server's key for // Tag the bthread with this server's key for
......
...@@ -262,6 +262,7 @@ void ProcessNsheadRequest(InputMessageBase* msg_base) { ...@@ -262,6 +262,7 @@ void ProcessNsheadRequest(InputMessageBase* msg_base) {
.set_remote_side(socket->remote_side()) .set_remote_side(socket->remote_side())
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_request_protocol(PROTOCOL_NSHEAD) .set_request_protocol(PROTOCOL_NSHEAD)
.set_received_us(msg_base->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
// Tag the bthread with this server's key for thread_local_data(). // Tag the bthread with this server's key for thread_local_data().
......
...@@ -352,6 +352,7 @@ void ProcessSofaRequest(InputMessageBase* msg_base) { ...@@ -352,6 +352,7 @@ void ProcessSofaRequest(InputMessageBase* msg_base) {
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_auth_context(socket->auth_context()) .set_auth_context(socket->auth_context())
.set_request_protocol(PROTOCOL_SOFA_PBRPC) .set_request_protocol(PROTOCOL_SOFA_PBRPC)
.set_received_us(msg_base->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
// Tag the bthread with this server's key for thread_local_data(). // Tag the bthread with this server's key for thread_local_data().
......
...@@ -465,6 +465,7 @@ void ProcessThriftRequest(InputMessageBase* msg_base) { ...@@ -465,6 +465,7 @@ void ProcessThriftRequest(InputMessageBase* msg_base) {
.set_remote_side(socket->remote_side()) .set_remote_side(socket->remote_side())
.set_local_side(socket->local_side()) .set_local_side(socket->local_side())
.set_request_protocol(PROTOCOL_THRIFT) .set_request_protocol(PROTOCOL_THRIFT)
.set_received_us(msg_base->received_us())
.move_in_server_receiving_sock(socket_guard); .move_in_server_receiving_sock(socket_guard);
uint32_t seq_id; uint32_t seq_id;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment