1# Copyright 2017 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# Stats data declaration 16# use tools / codegen / core / gen_stats_data.py to turn this into stats_data.h 17 18# overall 19- counter: client_calls_created 20 doc: Number of client side calls created by this process 21- counter: server_calls_created 22 doc: Number of server side calls created by this process 23- histogram: call_initial_size 24 max: 65536 25 buckets: 26 26 doc: Initial size of the grpc_call arena created at call start 27- counter: client_channels_created 28 doc: Number of client channels created 29- counter: client_subchannels_created 30 doc: Number of client subchannels created 31- counter: server_channels_created 32 doc: Number of server channels created 33- counter: insecure_connections_created 34 doc: Number of insecure connections created 35# resource quota 36- counter: rq_connections_dropped 37 doc: Number of connections dropped due to resource quota exceeded 38- counter: rq_calls_dropped 39 doc: Number of calls dropped due to resource quota exceeded 40- counter: rq_calls_rejected 41 doc: Number of calls rejected (never started) due to resource quota exceeded 42# tcp 43- counter: syscall_write 44 doc: Number of write syscalls (or equivalent - eg sendmsg) made by this process 45- counter: syscall_read 46 doc: Number of read syscalls (or equivalent - eg recvmsg) made by this process 47- histogram: tcp_write_size 48 max: 16777216 # 16 meg max write tracked 49 buckets: 20 50 doc: Number of bytes offered to each syscall_write 51- histogram: tcp_write_iov_size 52 max: 80 53 buckets: 10 54 doc: Number of byte segments offered to each syscall_write 55- counter: tcp_read_alloc_8k 56 doc: Number of 8k allocations by the TCP subsystem for reading 57- counter: tcp_read_alloc_64k 58 doc: Number of 64k allocations by the TCP subsystem for reading 59- histogram: tcp_read_size 60 max: 16777216 61 buckets: 20 62 doc: Number of bytes received by each syscall_read 63- histogram: tcp_read_offer 64 max: 16777216 65 buckets: 20 66 doc: Number of bytes offered to each syscall_read 67- histogram: tcp_read_offer_iov_size 68 max: 80 69 buckets: 10 70 doc: Number of byte segments offered to each syscall_read 71# chttp2 72- histogram: http2_send_message_size 73 max: 16777216 74 buckets: 20 75 doc: Size of messages received by HTTP2 transport 76- counter: http2_settings_writes 77 doc: Number of settings frames sent 78- counter: http2_pings_sent 79 doc: Number of HTTP2 pings sent by process 80- counter: http2_writes_begun 81 doc: Number of HTTP2 writes initiated 82- counter: http2_transport_stalls 83 doc: Number of times sending was completely stalled by the transport flow control window 84- counter: http2_stream_stalls 85 doc: Number of times sending was completely stalled by the stream flow control window 86- histogram: http2_metadata_size 87 max: 65536 88 buckets: 26 89 doc: Number of bytes consumed by metadata, according to HPACK accounting rules 90- counter: http2_hpack_hits 91 doc: Number of HPACK cache hits 92- counter: http2_hpack_misses 93 doc: Number of HPACK cache misses (entries added but never used) 94- histogram: http2_hpack_entry_lifetime 95 doc: Lifetime of HPACK entries in the cache (in milliseconds) 96 max: 1800000 97 buckets: 40 98- histogram: http2_header_table_size 99 doc: Http2 header table size received through SETTINGS frame 100 max: 16777216 101 buckets: 20 102- histogram: http2_initial_window_size 103 doc: Http2 initial window size received through SETTINGS frame 104 max: 16777216 105 buckets: 20 106- histogram: http2_max_concurrent_streams 107 doc: Http2 max concurrent streams received through SETTINGS frame 108 max: 16777216 109 buckets: 20 110- histogram: http2_max_frame_size 111 doc: Http2 max frame size received through SETTINGS frame 112 max: 16777216 113 buckets: 20 114- histogram: http2_max_header_list_size 115 doc: Http2 max header list size received through SETTINGS frame 116 max: 16777216 117 buckets: 20 118- histogram: http2_preferred_receive_crypto_message_size 119 doc: Http2 preferred receive crypto message size received through SETTINGS frame 120 max: 16777216 121 buckets: 20 122- histogram: http2_stream_remote_window_update 123 doc: Stream window update sent by peer 124 max: 16777216 125 buckets: 20 126- histogram: http2_transport_remote_window_update 127 doc: Transport window update sent by peer 128 max: 16777216 129 buckets: 20 130- histogram: http2_transport_window_update_period 131 doc: Period in milliseconds at which peer sends transport window update 132 max: 100000 133 buckets: 20 134- histogram: http2_stream_window_update_period 135 doc: Period in milliseconds at which peer sends stream window update 136 max: 100000 137 buckets: 20 138# completion queues 139- counter: cq_pluck_creates 140 doc: Number of completion queues created for cq_pluck (indicates sync api usage) 141- counter: cq_next_creates 142 doc: Number of completion queues created for cq_next (indicates cq async api usage) 143- counter: cq_callback_creates 144 doc: Number of completion queues created for cq_callback (indicates callback api usage) 145# wrr 146- histogram: wrr_subchannel_list_size 147 doc: Number of subchannels in a subchannel list at picker creation time 148 max: 10000 149 buckets: 20 150- histogram: wrr_subchannel_ready_size 151 doc: Number of READY subchannels in a subchannel list at picker creation time 152 max: 10000 153 buckets: 20 154- counter: wrr_updates 155 doc: Number of wrr updates that have been received 156# work serializer 157- histogram: work_serializer_run_time_ms 158 doc: Number of milliseconds work serializers run for 159 max: 100000 160 buckets: 20 161- histogram: work_serializer_work_time_ms 162 doc: When running, how many milliseconds are work serializers actually doing work 163 max: 100000 164 buckets: 20 165- histogram: work_serializer_work_time_per_item_ms 166 doc: How long do individual items take to process in work serializers 167 max: 100000 168 buckets: 20 169- histogram: work_serializer_items_per_run 170 doc: How many callbacks are executed when a work serializer runs 171 max: 10000 172 buckets: 20 173- counter: work_serializer_items_enqueued 174 doc: Number of items enqueued onto work serializers 175- counter: work_serializer_items_dequeued 176 doc: Number of items dequeued from work serializers 177- counter: econnaborted_count 178 doc: Number of ECONNABORTED errors 179- counter: econnreset_count 180 doc: Number of ECONNRESET errors 181- counter: epipe_count 182 doc: Number of EPIPE errors 183- counter: etimedout_count 184 doc: Number of ETIMEDOUT errors 185- counter: econnrefused_count 186 doc: Number of ECONNREFUSED errors 187- counter: enetunreach_count 188 doc: Number of ENETUNREACH errors 189- counter: enomsg_count 190 doc: Number of ENOMSG errors 191- counter: enotconn_count 192 doc: Number of ENOTCONN errors 193- counter: enobufs_count 194 doc: Number of ENOBUFS errors 195- counter: uncommon_io_error_count 196 doc: Number of uncommon io errors 197- counter: msg_errqueue_error_count 198 doc: Number of uncommon errors returned by MSG_ERRQUEUE 199- histogram: chaotic_good_sendmsgs_per_write_control 200 doc: Number of sendmsgs per control channel endpoint write 201 max: 100 202 buckets: 20 203- histogram: chaotic_good_recvmsgs_per_read_control 204 doc: Number of recvmsgs per control channel endpoint read 205 max: 100 206 buckets: 20 207- histogram: chaotic_good_sendmsgs_per_write_data 208 doc: Number of sendmsgs per data channel endpoint write 209 max: 100 210 buckets: 20 211- histogram: chaotic_good_recvmsgs_per_read_data 212 doc: Number of recvmsgs per data channel endpoint read 213 max: 100 214 buckets: 20 215- histogram: chaotic_good_thread_hops_per_write_control 216 doc: Number of thread hops per control channel endpoint write 217 max: 100 218 buckets: 20 219- histogram: chaotic_good_thread_hops_per_read_control 220 doc: Number of thread hops per control channel endpoint read 221 max: 100 222 buckets: 20 223- histogram: chaotic_good_thread_hops_per_write_data 224 doc: Number of thread hops per data channel endpoint write 225 max: 100 226 buckets: 20 227- histogram: chaotic_good_thread_hops_per_read_data 228 doc: Number of thread hops per data channel endpoint read 229 max: 100 230 buckets: 20 231- histogram: chaotic_good_tcp_read_size_data 232 max: 16777216 233 buckets: 20 234 doc: Number of bytes received by each syscall_read in the data channel 235- histogram: chaotic_good_tcp_read_size_control 236 max: 16777216 237 buckets: 20 238 doc: Number of bytes received by each syscall_read in the control channel 239- histogram: chaotic_good_tcp_read_offer_data 240 max: 16777216 241 buckets: 20 242 doc: Number of bytes offered to each syscall_read in the data channel 243- histogram: chaotic_good_tcp_read_offer_control 244 max: 16777216 245 buckets: 20 246 doc: Number of bytes offered to each syscall_read in the control channel 247- histogram: chaotic_good_tcp_write_size_data 248 max: 16777216 249 buckets: 20 250 doc: Number of bytes offered to each syscall_write in the data channel 251- histogram: chaotic_good_tcp_write_size_control 252 max: 16777216 253 buckets: 20 254 doc: Number of bytes offered to each syscall_write in the control channel 255 256