|
|
@ -385,52 +385,65 @@ grpc_json* SocketNode::RenderJson() { |
|
|
|
json = data; |
|
|
|
json = data; |
|
|
|
json_iterator = nullptr; |
|
|
|
json_iterator = nullptr; |
|
|
|
gpr_timespec ts; |
|
|
|
gpr_timespec ts; |
|
|
|
if (streams_started_ != 0) { |
|
|
|
gpr_atm streams_started = gpr_atm_no_barrier_load(&streams_started_); |
|
|
|
|
|
|
|
if (streams_started != 0) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "streamsStarted", streams_started_); |
|
|
|
json, json_iterator, "streamsStarted", streams_started); |
|
|
|
if (last_local_stream_created_millis_ != 0) { |
|
|
|
gpr_atm last_local_stream_created_millis = |
|
|
|
ts = grpc_millis_to_timespec(last_local_stream_created_millis_, |
|
|
|
gpr_atm_no_barrier_load(&last_local_stream_created_millis_); |
|
|
|
|
|
|
|
if (last_local_stream_created_millis != 0) { |
|
|
|
|
|
|
|
ts = grpc_millis_to_timespec(last_local_stream_created_millis, |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator, json, "lastLocalStreamCreatedTimestamp", |
|
|
|
json_iterator, json, "lastLocalStreamCreatedTimestamp", |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
} |
|
|
|
} |
|
|
|
if (last_remote_stream_created_millis_ != 0) { |
|
|
|
gpr_atm last_remote_stream_created_millis = |
|
|
|
ts = grpc_millis_to_timespec(last_remote_stream_created_millis_, |
|
|
|
gpr_atm_no_barrier_load(&last_remote_stream_created_millis_); |
|
|
|
|
|
|
|
if (last_remote_stream_created_millis != 0) { |
|
|
|
|
|
|
|
ts = grpc_millis_to_timespec(last_remote_stream_created_millis, |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator, json, "lastRemoteStreamCreatedTimestamp", |
|
|
|
json_iterator, json, "lastRemoteStreamCreatedTimestamp", |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (streams_succeeded_ != 0) { |
|
|
|
gpr_atm streams_succeeded = gpr_atm_no_barrier_load(&streams_succeeded_); |
|
|
|
|
|
|
|
if (streams_succeeded != 0) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "streamsSucceeded", streams_succeeded_); |
|
|
|
json, json_iterator, "streamsSucceeded", streams_succeeded); |
|
|
|
} |
|
|
|
} |
|
|
|
if (streams_failed_) { |
|
|
|
gpr_atm streams_failed = gpr_atm_no_barrier_load(&streams_failed_); |
|
|
|
|
|
|
|
if (streams_failed) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "streamsFailed", streams_failed_); |
|
|
|
json, json_iterator, "streamsFailed", streams_failed); |
|
|
|
} |
|
|
|
} |
|
|
|
if (messages_sent_ != 0) { |
|
|
|
gpr_atm messages_sent = gpr_atm_no_barrier_load(&messages_sent_); |
|
|
|
|
|
|
|
if (messages_sent != 0) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "messagesSent", messages_sent_); |
|
|
|
json, json_iterator, "messagesSent", messages_sent); |
|
|
|
ts = grpc_millis_to_timespec(last_message_sent_millis_, GPR_CLOCK_REALTIME); |
|
|
|
ts = grpc_millis_to_timespec( |
|
|
|
|
|
|
|
gpr_atm_no_barrier_load(&last_message_sent_millis_), |
|
|
|
|
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
json_iterator = |
|
|
|
json_iterator = |
|
|
|
grpc_json_create_child(json_iterator, json, "lastMessageSentTimestamp", |
|
|
|
grpc_json_create_child(json_iterator, json, "lastMessageSentTimestamp", |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
} |
|
|
|
} |
|
|
|
if (messages_received_ != 0) { |
|
|
|
gpr_atm messages_received = gpr_atm_no_barrier_load(&messages_received_); |
|
|
|
|
|
|
|
if (messages_received != 0) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "messagesReceived", messages_received_); |
|
|
|
json, json_iterator, "messagesReceived", messages_received); |
|
|
|
ts = grpc_millis_to_timespec(last_message_received_millis_, |
|
|
|
ts = grpc_millis_to_timespec( |
|
|
|
|
|
|
|
gpr_atm_no_barrier_load(&last_message_received_millis_), |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
GPR_CLOCK_REALTIME); |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator = grpc_json_create_child( |
|
|
|
json_iterator, json, "lastMessageReceivedTimestamp", |
|
|
|
json_iterator, json, "lastMessageReceivedTimestamp", |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
gpr_format_timespec(ts), GRPC_JSON_STRING, true); |
|
|
|
} |
|
|
|
} |
|
|
|
if (keepalives_sent_ != 0) { |
|
|
|
gpr_atm keepalives_sent = gpr_atm_no_barrier_load(&keepalives_sent_); |
|
|
|
|
|
|
|
if (keepalives_sent != 0) { |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json_iterator = grpc_json_add_number_string_child( |
|
|
|
json, json_iterator, "keepAlivesSent", keepalives_sent_); |
|
|
|
json, json_iterator, "keepAlivesSent", keepalives_sent); |
|
|
|
} |
|
|
|
} |
|
|
|
return top_level_json; |
|
|
|
return top_level_json; |
|
|
|
} |
|
|
|
} |
|
|
|