aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/debug/stats_data.yaml
blob: 37dff9c5f482b65ecb3858795ebbadd716bba27e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Stats data declaration
# use tools / codegen / core / gen_stats_data.py to turn this into stats_data.h

# overall
- counter: client_calls_created
  doc: Number of client side calls created by this process
- counter: server_calls_created
  doc: Number of server side calls created by this process
- counter: cqs_created
  doc: Number of completion queues created
- counter: client_channels_created
  doc: Number of client channels created
- counter: client_subchannels_created
  doc: Number of client subchannels created
- counter: server_channels_created
  doc: Number of server channels created
# polling
- counter: syscall_poll
  doc: Number of polling syscalls (epoll_wait, poll, etc) made by this process
- counter: syscall_wait
  doc: Number of sleeping syscalls made by this process
# stats system
- counter: histogram_slow_lookups
  doc: Number of times histogram increments went through the slow
       (binary search) path
# tcp
- counter: syscall_write
  doc: Number of write syscalls (or equivalent - eg sendmsg) made by this process
- counter: syscall_read
  doc: Number of read syscalls (or equivalent - eg recvmsg) made by this process
- histogram: tcp_write_size
  max: 16777216 # 16 meg max write tracked
  buckets: 64
  doc: Number of bytes offered to each syscall_write
- histogram: tcp_write_iov_size
  max: 1024
  buckets: 64
  doc: Number of byte segments offered to each syscall_write
- histogram: tcp_read_size
  max: 16777216
  buckets: 64
  doc: Number of bytes received by each syscall_read
- histogram: tcp_read_offer
  max: 16777216
  buckets: 64
  doc: Number of bytes offered to each syscall_read
- histogram: tcp_read_offer_iov_size
  max: 1024
  buckets: 64
  doc: Number of byte segments offered to each syscall_read
- counter: tcp_backup_pollers_created
  doc: Number of times a backup poller has been created (this can be expensive)
- counter: tcp_backup_poller_polls
  doc: Number of polls performed on the backup poller
# chttp2
- counter: http2_op_batches
  doc: Number of batches received by HTTP2 transport
- counter: http2_op_cancel
  doc: Number of cancelations received by HTTP2 transport
- counter: http2_op_send_initial_metadata
  doc: Number of batches containing send initial metadata
- counter: http2_op_send_message
  doc: Number of batches containing send message
- counter: http2_op_send_trailing_metadata
  doc: Number of batches containing send trailing metadata
- counter: http2_op_recv_initial_metadata
  doc: Number of batches containing receive initial metadata
- counter: http2_op_recv_message
  doc: Number of batches containing receive message
- counter: http2_op_recv_trailing_metadata
  doc: Number of batches containing receive trailing metadata
- histogram: http2_send_message_size
  max: 16777216
  buckets: 64
  doc: Size of messages received by HTTP2 transport
- histogram: http2_send_initial_metadata_per_write
  max: 1024
  buckets: 64
  doc: Number of streams initiated written per TCP write
- histogram: http2_send_message_per_write
  max: 1024
  buckets: 64
  doc: Number of streams whose payload was written per TCP write
- histogram: http2_send_trailing_metadata_per_write
  max: 1024
  buckets: 64
  doc: Number of streams terminated per TCP write
- histogram: http2_send_flowctl_per_write
  max: 1024
  buckets: 64
  doc: Number of flow control updates written per TCP write
- counter: http2_settings_writes
  doc: Number of settings frames sent
- counter: http2_pings_sent
  doc: Number of HTTP2 pings sent by process
- counter: http2_writes_begun
  doc: Number of HTTP2 writes initiated
- counter: http2_writes_offloaded
  doc: Number of HTTP2 writes offloaded to the executor from application threads
- counter: http2_writes_continued
  doc: Number of HTTP2 writes that finished seeing more data needed to be
       written
- counter: http2_partial_writes
  doc: Number of HTTP2 writes that were made knowing there was still more data
       to be written (we cap maximum write size to syscall_write)
# combiner locks
- counter: combiner_locks_initiated
  doc: Number of combiner lock entries by process
       (first items queued to a combiner)
- counter: combiner_locks_scheduled_items
  doc: Number of items scheduled against combiner locks
- counter: combiner_locks_scheduled_final_items
  doc: Number of final items scheduled against combiner locks
- counter: combiner_locks_offloaded
  doc: Number of combiner locks offloaded to different threads
# executor
- counter: executor_scheduled_short_items
  doc: Number of finite runtime closures scheduled against the executor
       (gRPC thread pool)
- counter: executor_scheduled_long_items
  doc: Number of potentially infinite runtime closures scheduled against the
       executor (gRPC thread pool)
- counter: executor_scheduled_to_self
  doc: Number of closures scheduled by the executor to the executor
- counter: executor_wakeup_initiated
  doc: Number of thread wakeups initiated within the executor
- counter: executor_queue_drained
  doc: Number of times an executor queue was drained
- counter: executor_push_retries
  doc: Number of times we raced and were forced to retry pushing a closure to
       the executor
# server
- counter: server_requested_calls
  doc: How many calls were requested (not necessarily received) by the server
- histogram: server_cqs_checked
  buckets: 8
  max: 64
  doc: How many completion queues were checked looking for a CQ that had
       requested the incoming call
- counter: server_slowpath_requests_queued
  doc: How many times was the server slow path taken (indicates too few
       outstanding requests)