blob: 1f3861f4941d7d56fe825a93954c2b92182b1571 [file] [log] [blame]
Craig Tiller28086682017-07-18 14:22:19 -07001/*
2 * Copyright 2017 gRPC authors.
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +02003 *
Craig Tiller28086682017-07-18 14:22:19 -07004 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +02007 *
Craig Tiller28086682017-07-18 14:22:19 -07008 * http://www.apache.org/licenses/LICENSE-2.0
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +02009 *
Craig Tiller28086682017-07-18 14:22:19 -070010 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*
18 * Automatically generated by tools/codegen/core/gen_stats_data.py
19 */
20
21#ifndef GRPC_CORE_LIB_DEBUG_STATS_DATA_H
22#define GRPC_CORE_LIB_DEBUG_STATS_DATA_H
23
Alexander Polcyndb3e8982018-02-21 16:59:24 -080024#include <grpc/support/port_platform.h>
25
Craig Tiller640dfe42017-08-30 13:34:49 -070026#include <inttypes.h>
Craig Tiller97ec5eb2017-09-01 12:57:36 -070027#include "src/core/lib/iomgr/exec_ctx.h"
Craig Tiller640dfe42017-08-30 13:34:49 -070028
Craig Tiller28086682017-07-18 14:22:19 -070029typedef enum {
30 GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED,
31 GRPC_STATS_COUNTER_SERVER_CALLS_CREATED,
Craig Tillerf1dc9c32017-09-13 14:21:27 -070032 GRPC_STATS_COUNTER_CQS_CREATED,
33 GRPC_STATS_COUNTER_CLIENT_CHANNELS_CREATED,
34 GRPC_STATS_COUNTER_CLIENT_SUBCHANNELS_CREATED,
35 GRPC_STATS_COUNTER_SERVER_CHANNELS_CREATED,
Craig Tillerb4bb1cd2017-07-20 14:18:17 -070036 GRPC_STATS_COUNTER_SYSCALL_POLL,
37 GRPC_STATS_COUNTER_SYSCALL_WAIT,
Craig Tiller0ff222a2017-09-01 09:41:43 -070038 GRPC_STATS_COUNTER_POLLSET_KICK,
39 GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER,
40 GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN,
41 GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD,
42 GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV,
43 GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD,
kpayson6437eb9252018-05-15 16:12:49 -070044 GRPC_STATS_COUNTER_SYSCALL_EPOLL_CTL,
45 GRPC_STATS_COUNTER_POLLSET_FD_CACHE_HITS,
Craig Tiller640dfe42017-08-30 13:34:49 -070046 GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS,
Craig Tiller57bb9a92017-08-31 16:44:15 -070047 GRPC_STATS_COUNTER_SYSCALL_WRITE,
48 GRPC_STATS_COUNTER_SYSCALL_READ,
Craig Tiller6155df62017-09-07 13:26:32 -070049 GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED,
50 GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS,
Craig Tiller57bb9a92017-08-31 16:44:15 -070051 GRPC_STATS_COUNTER_HTTP2_OP_BATCHES,
52 GRPC_STATS_COUNTER_HTTP2_OP_CANCEL,
53 GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA,
54 GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE,
55 GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA,
56 GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA,
57 GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE,
58 GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA,
Craig Tiller50fec6a2017-09-08 15:21:00 -070059 GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES,
Craig Tiller57bb9a92017-08-31 16:44:15 -070060 GRPC_STATS_COUNTER_HTTP2_PINGS_SENT,
61 GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN,
Craig Tiller06a1bae2017-09-07 13:31:12 -070062 GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED,
Craig Tiller073a88f2017-09-08 14:26:22 -070063 GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED,
64 GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES,
Craig Tiller3ff1fa62017-09-14 11:07:48 -070065 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE,
66 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM,
67 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE,
68 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA,
69 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA,
70 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING,
71 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS,
72 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT,
73 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM,
74 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API,
75 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL,
76 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL,
77 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS,
78 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING,
79 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING,
80 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE,
81 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING,
82 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING,
83 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED,
84 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE,
85 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM,
Craig Tillere932aca2017-09-15 13:50:46 -070086 GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN,
Craig Tiller78620972017-09-21 11:38:32 -070087 GRPC_STATS_COUNTER_HPACK_RECV_INDEXED,
88 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX,
89 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V,
90 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX,
91 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V,
92 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX,
93 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V,
94 GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED,
95 GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN,
96 GRPC_STATS_COUNTER_HPACK_RECV_BINARY,
97 GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64,
98 GRPC_STATS_COUNTER_HPACK_SEND_INDEXED,
99 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX,
100 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V,
101 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX,
102 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V,
103 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX,
104 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V,
105 GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED,
106 GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN,
107 GRPC_STATS_COUNTER_HPACK_SEND_BINARY,
108 GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700109 GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED,
110 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS,
111 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS,
112 GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED,
Craig Tillerfa7ae242017-10-12 09:37:57 -0700113 GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED,
114 GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS,
Craig Tiller7befe5d2017-10-12 09:53:02 -0700115 GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL,
116 GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED,
Craig Tiller07d2fa72017-09-07 13:13:36 -0700117 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS,
118 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700119 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF,
120 GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED,
121 GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED,
Craig Tiller07d2fa72017-09-07 13:13:36 -0700122 GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES,
Craig Tiller561dc322017-09-05 13:00:46 -0700123 GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS,
124 GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED,
Sree Kuchibhotla0d0fa062017-10-03 16:04:42 -0700125 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES,
126 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES,
127 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES,
Craig Tiller28086682017-07-18 14:22:19 -0700128 GRPC_STATS_COUNTER_COUNT
129} grpc_stats_counters;
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200130extern const char* grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
131extern const char* grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
Craig Tiller33aeaba2017-07-20 16:02:24 -0700132typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -0700133 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
134 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700135 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE,
Craig Tiller640dfe42017-08-30 13:34:49 -0700136 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700137 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE,
Craig Tillerc92f18c2017-08-31 16:46:32 -0700138 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER,
Craig Tillereda90972017-09-08 09:52:29 -0700139 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700140 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700141 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE,
142 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE,
143 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE,
144 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE,
Craig Tiller561dc322017-09-05 13:00:46 -0700145 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700146 GRPC_STATS_HISTOGRAM_COUNT
147} grpc_stats_histograms;
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200148extern const char* grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
149extern const char* grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
Craig Tiller640dfe42017-08-30 13:34:49 -0700150typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -0700151 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_FIRST_SLOT = 0,
152 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_BUCKETS = 64,
153 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_FIRST_SLOT = 64,
154 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_BUCKETS = 128,
155 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_FIRST_SLOT = 192,
Craig Tiller640dfe42017-08-30 13:34:49 -0700156 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700157 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_FIRST_SLOT = 256,
Craig Tiller640dfe42017-08-30 13:34:49 -0700158 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700159 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_FIRST_SLOT = 320,
Craig Tiller640dfe42017-08-30 13:34:49 -0700160 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700161 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_FIRST_SLOT = 384,
Craig Tillerc92f18c2017-08-31 16:46:32 -0700162 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_BUCKETS = 64,
Craig Tiller4f5acf72017-09-08 11:38:41 -0700163 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_FIRST_SLOT = 448,
Craig Tillereda90972017-09-08 09:52:29 -0700164 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700165 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_FIRST_SLOT = 512,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700166 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700167 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_FIRST_SLOT = 576,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700168 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700169 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_FIRST_SLOT = 640,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700170 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700171 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_FIRST_SLOT = 704,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700172 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700173 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_FIRST_SLOT = 768,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700174 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_BUCKETS = 64,
Craig Tiller2477cf32017-09-26 12:20:35 -0700175 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_FIRST_SLOT = 832,
Craig Tiller561dc322017-09-05 13:00:46 -0700176 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_BUCKETS = 8,
Craig Tiller2477cf32017-09-26 12:20:35 -0700177 GRPC_STATS_HISTOGRAM_BUCKETS = 840
Craig Tiller640dfe42017-08-30 13:34:49 -0700178} grpc_stats_histogram_constants;
Yash Tibrewal519d2b12018-05-14 15:17:43 -0700179#if defined(GRPC_COLLECT_STATS) || !defined(NDEBUG)
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200180#define GRPC_STATS_INC_CLIENT_CALLS_CREATED() \
181 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED)
182#define GRPC_STATS_INC_SERVER_CALLS_CREATED() \
183 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_CALLS_CREATED)
184#define GRPC_STATS_INC_CQS_CREATED() \
185 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQS_CREATED)
186#define GRPC_STATS_INC_CLIENT_CHANNELS_CREATED() \
187 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_CHANNELS_CREATED)
188#define GRPC_STATS_INC_CLIENT_SUBCHANNELS_CREATED() \
189 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_SUBCHANNELS_CREATED)
190#define GRPC_STATS_INC_SERVER_CHANNELS_CREATED() \
191 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_CHANNELS_CREATED)
192#define GRPC_STATS_INC_SYSCALL_POLL() \
193 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_POLL)
194#define GRPC_STATS_INC_SYSCALL_WAIT() \
195 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_WAIT)
196#define GRPC_STATS_INC_POLLSET_KICK() \
197 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK)
198#define GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER() \
199 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER)
200#define GRPC_STATS_INC_POLLSET_KICKED_AGAIN() \
201 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN)
202#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD() \
203 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD)
204#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV() \
205 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV)
206#define GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD() \
207 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD)
208#define GRPC_STATS_INC_SYSCALL_EPOLL_CTL() \
209 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_EPOLL_CTL)
210#define GRPC_STATS_INC_POLLSET_FD_CACHE_HITS() \
211 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_FD_CACHE_HITS)
212#define GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS() \
213 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS)
214#define GRPC_STATS_INC_SYSCALL_WRITE() \
215 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_WRITE)
216#define GRPC_STATS_INC_SYSCALL_READ() \
217 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_READ)
218#define GRPC_STATS_INC_TCP_BACKUP_POLLERS_CREATED() \
219 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED)
220#define GRPC_STATS_INC_TCP_BACKUP_POLLER_POLLS() \
221 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS)
222#define GRPC_STATS_INC_HTTP2_OP_BATCHES() \
223 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_BATCHES)
224#define GRPC_STATS_INC_HTTP2_OP_CANCEL() \
225 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_CANCEL)
226#define GRPC_STATS_INC_HTTP2_OP_SEND_INITIAL_METADATA() \
227 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA)
228#define GRPC_STATS_INC_HTTP2_OP_SEND_MESSAGE() \
229 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE)
230#define GRPC_STATS_INC_HTTP2_OP_SEND_TRAILING_METADATA() \
231 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA)
232#define GRPC_STATS_INC_HTTP2_OP_RECV_INITIAL_METADATA() \
233 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA)
234#define GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE() \
235 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE)
236#define GRPC_STATS_INC_HTTP2_OP_RECV_TRAILING_METADATA() \
237 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA)
238#define GRPC_STATS_INC_HTTP2_SETTINGS_WRITES() \
239 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES)
240#define GRPC_STATS_INC_HTTP2_PINGS_SENT() \
241 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_PINGS_SENT)
242#define GRPC_STATS_INC_HTTP2_WRITES_BEGUN() \
243 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN)
244#define GRPC_STATS_INC_HTTP2_WRITES_OFFLOADED() \
245 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED)
246#define GRPC_STATS_INC_HTTP2_WRITES_CONTINUED() \
247 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED)
248#define GRPC_STATS_INC_HTTP2_PARTIAL_WRITES() \
249 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES)
250#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE() \
251 GRPC_STATS_INC_COUNTER( \
252 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE)
253#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM() \
254 GRPC_STATS_INC_COUNTER( \
255 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM)
256#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE() \
257 GRPC_STATS_INC_COUNTER( \
258 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE)
259#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA() \
260 GRPC_STATS_INC_COUNTER( \
261 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA)
262#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA() \
263 GRPC_STATS_INC_COUNTER( \
264 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA)
265#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING() \
266 GRPC_STATS_INC_COUNTER( \
267 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING)
268#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS() \
269 GRPC_STATS_INC_COUNTER( \
270 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS)
271#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT() \
272 GRPC_STATS_INC_COUNTER( \
273 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT)
274#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM() \
275 GRPC_STATS_INC_COUNTER( \
276 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM)
277#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API() \
278 GRPC_STATS_INC_COUNTER( \
279 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API)
280#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL() \
281 GRPC_STATS_INC_COUNTER( \
282 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL)
283#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL() \
284 GRPC_STATS_INC_COUNTER( \
285 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL)
286#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS() \
287 GRPC_STATS_INC_COUNTER( \
288 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS)
289#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING() \
290 GRPC_STATS_INC_COUNTER( \
291 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING)
292#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING() \
293 GRPC_STATS_INC_COUNTER( \
294 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING)
295#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE() \
296 GRPC_STATS_INC_COUNTER( \
297 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE)
298#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING() \
299 GRPC_STATS_INC_COUNTER( \
300 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING)
301#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING() \
302 GRPC_STATS_INC_COUNTER( \
303 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING)
304#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED() \
305 GRPC_STATS_INC_COUNTER( \
306 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED)
307#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE() \
308 GRPC_STATS_INC_COUNTER( \
309 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE)
310#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM() \
311 GRPC_STATS_INC_COUNTER( \
312 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM)
313#define GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN() \
314 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN)
315#define GRPC_STATS_INC_HPACK_RECV_INDEXED() \
316 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_INDEXED)
317#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX() \
318 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX)
319#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX_V() \
320 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V)
321#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX() \
322 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX)
323#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX_V() \
324 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V)
325#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX() \
326 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX)
327#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX_V() \
328 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V)
329#define GRPC_STATS_INC_HPACK_RECV_UNCOMPRESSED() \
330 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED)
331#define GRPC_STATS_INC_HPACK_RECV_HUFFMAN() \
332 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN)
333#define GRPC_STATS_INC_HPACK_RECV_BINARY() \
334 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_BINARY)
335#define GRPC_STATS_INC_HPACK_RECV_BINARY_BASE64() \
336 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64)
337#define GRPC_STATS_INC_HPACK_SEND_INDEXED() \
338 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_INDEXED)
339#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX() \
340 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX)
341#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX_V() \
342 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V)
343#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX() \
344 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX)
345#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX_V() \
346 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V)
347#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX() \
348 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX)
349#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX_V() \
350 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V)
351#define GRPC_STATS_INC_HPACK_SEND_UNCOMPRESSED() \
352 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED)
353#define GRPC_STATS_INC_HPACK_SEND_HUFFMAN() \
354 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN)
355#define GRPC_STATS_INC_HPACK_SEND_BINARY() \
356 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_BINARY)
357#define GRPC_STATS_INC_HPACK_SEND_BINARY_BASE64() \
358 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64)
359#define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED() \
360 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED)
361#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS() \
362 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS)
363#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS() \
364 GRPC_STATS_INC_COUNTER( \
365 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS)
366#define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED() \
367 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED)
368#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_INITIATED() \
369 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED)
370#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS() \
371 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS)
372#define GRPC_STATS_INC_CALL_COMBINER_SET_NOTIFY_ON_CANCEL() \
373 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL)
374#define GRPC_STATS_INC_CALL_COMBINER_CANCELLED() \
375 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED)
376#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_SHORT_ITEMS() \
377 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS)
378#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_LONG_ITEMS() \
379 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS)
380#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_TO_SELF() \
381 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF)
382#define GRPC_STATS_INC_EXECUTOR_WAKEUP_INITIATED() \
383 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED)
384#define GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED() \
385 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED)
386#define GRPC_STATS_INC_EXECUTOR_PUSH_RETRIES() \
387 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES)
388#define GRPC_STATS_INC_SERVER_REQUESTED_CALLS() \
389 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS)
390#define GRPC_STATS_INC_SERVER_SLOWPATH_REQUESTS_QUEUED() \
391 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED)
392#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_FAILURES() \
393 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES)
394#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_SUCCESSES() \
395 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES)
396#define GRPC_STATS_INC_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES() \
397 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES)
398#define GRPC_STATS_INC_CALL_INITIAL_SIZE(value) \
399 grpc_stats_inc_call_initial_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800400void grpc_stats_inc_call_initial_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200401#define GRPC_STATS_INC_POLL_EVENTS_RETURNED(value) \
402 grpc_stats_inc_poll_events_returned((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800403void grpc_stats_inc_poll_events_returned(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200404#define GRPC_STATS_INC_TCP_WRITE_SIZE(value) \
405 grpc_stats_inc_tcp_write_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800406void grpc_stats_inc_tcp_write_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200407#define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(value) \
408 grpc_stats_inc_tcp_write_iov_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800409void grpc_stats_inc_tcp_write_iov_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200410#define GRPC_STATS_INC_TCP_READ_SIZE(value) \
411 grpc_stats_inc_tcp_read_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800412void grpc_stats_inc_tcp_read_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200413#define GRPC_STATS_INC_TCP_READ_OFFER(value) \
414 grpc_stats_inc_tcp_read_offer((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800415void grpc_stats_inc_tcp_read_offer(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200416#define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(value) \
417 grpc_stats_inc_tcp_read_offer_iov_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800418void grpc_stats_inc_tcp_read_offer_iov_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200419#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(value) \
420 grpc_stats_inc_http2_send_message_size((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800421void grpc_stats_inc_http2_send_message_size(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200422#define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(value) \
423 grpc_stats_inc_http2_send_initial_metadata_per_write((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800424void grpc_stats_inc_http2_send_initial_metadata_per_write(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200425#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(value) \
426 grpc_stats_inc_http2_send_message_per_write((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800427void grpc_stats_inc_http2_send_message_per_write(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200428#define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(value) \
429 grpc_stats_inc_http2_send_trailing_metadata_per_write((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800430void grpc_stats_inc_http2_send_trailing_metadata_per_write(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200431#define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(value) \
432 grpc_stats_inc_http2_send_flowctl_per_write((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800433void grpc_stats_inc_http2_send_flowctl_per_write(int x);
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200434#define GRPC_STATS_INC_SERVER_CQS_CHECKED(value) \
435 grpc_stats_inc_server_cqs_checked((int)(value))
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800436void grpc_stats_inc_server_cqs_checked(int x);
Yash Tibrewal519d2b12018-05-14 15:17:43 -0700437#else
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200438#define GRPC_STATS_INC_CLIENT_CALLS_CREATED()
439#define GRPC_STATS_INC_SERVER_CALLS_CREATED()
440#define GRPC_STATS_INC_CQS_CREATED()
441#define GRPC_STATS_INC_CLIENT_CHANNELS_CREATED()
442#define GRPC_STATS_INC_CLIENT_SUBCHANNELS_CREATED()
443#define GRPC_STATS_INC_SERVER_CHANNELS_CREATED()
444#define GRPC_STATS_INC_SYSCALL_POLL()
445#define GRPC_STATS_INC_SYSCALL_WAIT()
446#define GRPC_STATS_INC_POLLSET_KICK()
447#define GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER()
448#define GRPC_STATS_INC_POLLSET_KICKED_AGAIN()
449#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD()
450#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV()
451#define GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD()
452#define GRPC_STATS_INC_SYSCALL_EPOLL_CTL()
453#define GRPC_STATS_INC_POLLSET_FD_CACHE_HITS()
454#define GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS()
455#define GRPC_STATS_INC_SYSCALL_WRITE()
456#define GRPC_STATS_INC_SYSCALL_READ()
457#define GRPC_STATS_INC_TCP_BACKUP_POLLERS_CREATED()
458#define GRPC_STATS_INC_TCP_BACKUP_POLLER_POLLS()
459#define GRPC_STATS_INC_HTTP2_OP_BATCHES()
460#define GRPC_STATS_INC_HTTP2_OP_CANCEL()
461#define GRPC_STATS_INC_HTTP2_OP_SEND_INITIAL_METADATA()
462#define GRPC_STATS_INC_HTTP2_OP_SEND_MESSAGE()
463#define GRPC_STATS_INC_HTTP2_OP_SEND_TRAILING_METADATA()
464#define GRPC_STATS_INC_HTTP2_OP_RECV_INITIAL_METADATA()
465#define GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE()
466#define GRPC_STATS_INC_HTTP2_OP_RECV_TRAILING_METADATA()
467#define GRPC_STATS_INC_HTTP2_SETTINGS_WRITES()
468#define GRPC_STATS_INC_HTTP2_PINGS_SENT()
469#define GRPC_STATS_INC_HTTP2_WRITES_BEGUN()
470#define GRPC_STATS_INC_HTTP2_WRITES_OFFLOADED()
471#define GRPC_STATS_INC_HTTP2_WRITES_CONTINUED()
472#define GRPC_STATS_INC_HTTP2_PARTIAL_WRITES()
473#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE()
474#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM()
475#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE()
476#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA()
477#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA()
478#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING()
479#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS()
480#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT()
481#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM()
482#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API()
483#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL()
484#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL()
485#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS()
486#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING()
487#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING()
488#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE()
489#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING()
490#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING()
491#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED()
492#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE()
493#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM()
494#define GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN()
495#define GRPC_STATS_INC_HPACK_RECV_INDEXED()
496#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX()
497#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX_V()
498#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX()
499#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX_V()
500#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX()
501#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX_V()
502#define GRPC_STATS_INC_HPACK_RECV_UNCOMPRESSED()
503#define GRPC_STATS_INC_HPACK_RECV_HUFFMAN()
504#define GRPC_STATS_INC_HPACK_RECV_BINARY()
505#define GRPC_STATS_INC_HPACK_RECV_BINARY_BASE64()
506#define GRPC_STATS_INC_HPACK_SEND_INDEXED()
507#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX()
508#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX_V()
509#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX()
510#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX_V()
511#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX()
512#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX_V()
513#define GRPC_STATS_INC_HPACK_SEND_UNCOMPRESSED()
514#define GRPC_STATS_INC_HPACK_SEND_HUFFMAN()
515#define GRPC_STATS_INC_HPACK_SEND_BINARY()
516#define GRPC_STATS_INC_HPACK_SEND_BINARY_BASE64()
517#define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED()
518#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS()
519#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS()
520#define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED()
521#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_INITIATED()
522#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS()
523#define GRPC_STATS_INC_CALL_COMBINER_SET_NOTIFY_ON_CANCEL()
524#define GRPC_STATS_INC_CALL_COMBINER_CANCELLED()
525#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_SHORT_ITEMS()
526#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_LONG_ITEMS()
527#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_TO_SELF()
528#define GRPC_STATS_INC_EXECUTOR_WAKEUP_INITIATED()
529#define GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED()
530#define GRPC_STATS_INC_EXECUTOR_PUSH_RETRIES()
531#define GRPC_STATS_INC_SERVER_REQUESTED_CALLS()
532#define GRPC_STATS_INC_SERVER_SLOWPATH_REQUESTS_QUEUED()
533#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_FAILURES()
534#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_SUCCESSES()
535#define GRPC_STATS_INC_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES()
Yash Tibrewal519d2b12018-05-14 15:17:43 -0700536#define GRPC_STATS_INC_CALL_INITIAL_SIZE(value)
537#define GRPC_STATS_INC_POLL_EVENTS_RETURNED(value)
538#define GRPC_STATS_INC_TCP_WRITE_SIZE(value)
539#define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(value)
540#define GRPC_STATS_INC_TCP_READ_SIZE(value)
541#define GRPC_STATS_INC_TCP_READ_OFFER(value)
542#define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(value)
543#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(value)
544#define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(value)
545#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(value)
546#define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(value)
547#define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(value)
548#define GRPC_STATS_INC_SERVER_CQS_CHECKED(value)
549#endif /* defined(GRPC_COLLECT_STATS) || !defined(NDEBUG) */
Craig Tiller2477cf32017-09-26 12:20:35 -0700550extern const int grpc_stats_histo_buckets[13];
551extern const int grpc_stats_histo_start[13];
Jan Tattermuschcb37c8e2018-05-18 15:38:26 +0200552extern const int* const grpc_stats_histo_bucket_boundaries[13];
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800553extern void (*const grpc_stats_inc_histogram[13])(int x);
Craig Tiller28086682017-07-18 14:22:19 -0700554
Craig Tiller28086682017-07-18 14:22:19 -0700555#endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */