blob: da1266ad7361a94bc4396fe0d007ec2f8f285857 [file] [log] [blame]
Craig Tiller28086682017-07-18 14:22:19 -07001/*
2 * Copyright 2017 gRPC authors.
Craig Tiller640dfe42017-08-30 13:34:49 -07003 *
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
Craig Tiller640dfe42017-08-30 13:34:49 -07007 *
Craig Tiller28086682017-07-18 14:22:19 -07008 * http://www.apache.org/licenses/LICENSE-2.0
Craig Tiller640dfe42017-08-30 13:34:49 -07009 *
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,
Craig Tiller640dfe42017-08-30 13:34:49 -070044 GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS,
Craig Tiller57bb9a92017-08-31 16:44:15 -070045 GRPC_STATS_COUNTER_SYSCALL_WRITE,
46 GRPC_STATS_COUNTER_SYSCALL_READ,
Craig Tiller6155df62017-09-07 13:26:32 -070047 GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED,
48 GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS,
Craig Tiller57bb9a92017-08-31 16:44:15 -070049 GRPC_STATS_COUNTER_HTTP2_OP_BATCHES,
50 GRPC_STATS_COUNTER_HTTP2_OP_CANCEL,
51 GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA,
52 GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE,
53 GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA,
54 GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA,
55 GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE,
56 GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA,
Craig Tiller50fec6a2017-09-08 15:21:00 -070057 GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES,
Craig Tiller57bb9a92017-08-31 16:44:15 -070058 GRPC_STATS_COUNTER_HTTP2_PINGS_SENT,
59 GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN,
Craig Tiller06a1bae2017-09-07 13:31:12 -070060 GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED,
Craig Tiller073a88f2017-09-08 14:26:22 -070061 GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED,
62 GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES,
Craig Tiller3ff1fa62017-09-14 11:07:48 -070063 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE,
64 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM,
65 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE,
66 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA,
67 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA,
68 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING,
69 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS,
70 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT,
71 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM,
72 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API,
73 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL,
74 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL,
75 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS,
76 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING,
77 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING,
78 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE,
79 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING,
80 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING,
81 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED,
82 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE,
83 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM,
Craig Tillere932aca2017-09-15 13:50:46 -070084 GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN,
Craig Tiller78620972017-09-21 11:38:32 -070085 GRPC_STATS_COUNTER_HPACK_RECV_INDEXED,
86 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX,
87 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V,
88 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX,
89 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V,
90 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX,
91 GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V,
92 GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED,
93 GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN,
94 GRPC_STATS_COUNTER_HPACK_RECV_BINARY,
95 GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64,
96 GRPC_STATS_COUNTER_HPACK_SEND_INDEXED,
97 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX,
98 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V,
99 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX,
100 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V,
101 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX,
102 GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V,
103 GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED,
104 GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN,
105 GRPC_STATS_COUNTER_HPACK_SEND_BINARY,
106 GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700107 GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED,
108 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS,
109 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS,
110 GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED,
Craig Tillerfa7ae242017-10-12 09:37:57 -0700111 GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED,
112 GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS,
Craig Tiller7befe5d2017-10-12 09:53:02 -0700113 GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL,
114 GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED,
Craig Tiller07d2fa72017-09-07 13:13:36 -0700115 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS,
116 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700117 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF,
118 GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED,
119 GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED,
Craig Tiller07d2fa72017-09-07 13:13:36 -0700120 GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES,
Craig Tiller561dc322017-09-05 13:00:46 -0700121 GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS,
122 GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED,
Sree Kuchibhotla0d0fa062017-10-03 16:04:42 -0700123 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES,
124 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES,
125 GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES,
Craig Tiller28086682017-07-18 14:22:19 -0700126 GRPC_STATS_COUNTER_COUNT
127} grpc_stats_counters;
Craig Tillerbaa14a92017-11-03 09:09:36 -0700128extern const char* grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
129extern const char* grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
Craig Tiller33aeaba2017-07-20 16:02:24 -0700130typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -0700131 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
132 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700133 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE,
Craig Tiller640dfe42017-08-30 13:34:49 -0700134 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700135 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE,
Craig Tillerc92f18c2017-08-31 16:46:32 -0700136 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER,
Craig Tillereda90972017-09-08 09:52:29 -0700137 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700138 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700139 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE,
140 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE,
141 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE,
142 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE,
Craig Tiller561dc322017-09-05 13:00:46 -0700143 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED,
Craig Tiller33aeaba2017-07-20 16:02:24 -0700144 GRPC_STATS_HISTOGRAM_COUNT
145} grpc_stats_histograms;
Craig Tillerbaa14a92017-11-03 09:09:36 -0700146extern const char* grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
147extern const char* grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
Craig Tiller640dfe42017-08-30 13:34:49 -0700148typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -0700149 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_FIRST_SLOT = 0,
150 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_BUCKETS = 64,
151 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_FIRST_SLOT = 64,
152 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_BUCKETS = 128,
153 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_FIRST_SLOT = 192,
Craig Tiller640dfe42017-08-30 13:34:49 -0700154 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700155 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_FIRST_SLOT = 256,
Craig Tiller640dfe42017-08-30 13:34:49 -0700156 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700157 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_FIRST_SLOT = 320,
Craig Tiller640dfe42017-08-30 13:34:49 -0700158 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700159 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_FIRST_SLOT = 384,
Craig Tillerc92f18c2017-08-31 16:46:32 -0700160 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_BUCKETS = 64,
Craig Tiller4f5acf72017-09-08 11:38:41 -0700161 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_FIRST_SLOT = 448,
Craig Tillereda90972017-09-08 09:52:29 -0700162 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -0700163 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_FIRST_SLOT = 512,
Craig Tiller57bb9a92017-08-31 16:44:15 -0700164 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700165 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_FIRST_SLOT = 576,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700166 GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700167 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_FIRST_SLOT = 640,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700168 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700169 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_FIRST_SLOT = 704,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700170 GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_BUCKETS = 64,
Craig Tiller4aac9a62017-09-11 12:09:03 -0700171 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_FIRST_SLOT = 768,
Craig Tiller50fec6a2017-09-08 15:21:00 -0700172 GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_BUCKETS = 64,
Craig Tiller2477cf32017-09-26 12:20:35 -0700173 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_FIRST_SLOT = 832,
Craig Tiller561dc322017-09-05 13:00:46 -0700174 GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_BUCKETS = 8,
Craig Tiller2477cf32017-09-26 12:20:35 -0700175 GRPC_STATS_HISTOGRAM_BUCKETS = 840
Craig Tiller640dfe42017-08-30 13:34:49 -0700176} grpc_stats_histogram_constants;
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800177#define GRPC_STATS_INC_CLIENT_CALLS_CREATED() \
178 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED)
179#define GRPC_STATS_INC_SERVER_CALLS_CREATED() \
180 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_CALLS_CREATED)
181#define GRPC_STATS_INC_CQS_CREATED() \
182 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQS_CREATED)
183#define GRPC_STATS_INC_CLIENT_CHANNELS_CREATED() \
184 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_CHANNELS_CREATED)
185#define GRPC_STATS_INC_CLIENT_SUBCHANNELS_CREATED() \
186 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CLIENT_SUBCHANNELS_CREATED)
187#define GRPC_STATS_INC_SERVER_CHANNELS_CREATED() \
188 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_CHANNELS_CREATED)
189#define GRPC_STATS_INC_SYSCALL_POLL() \
190 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_POLL)
191#define GRPC_STATS_INC_SYSCALL_WAIT() \
192 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_WAIT)
193#define GRPC_STATS_INC_POLLSET_KICK() \
194 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK)
195#define GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER() \
196 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER)
197#define GRPC_STATS_INC_POLLSET_KICKED_AGAIN() \
198 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN)
199#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD() \
200 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD)
201#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV() \
202 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV)
203#define GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD() \
204 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD)
205#define GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS() \
206 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS)
207#define GRPC_STATS_INC_SYSCALL_WRITE() \
208 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_WRITE)
209#define GRPC_STATS_INC_SYSCALL_READ() \
210 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SYSCALL_READ)
211#define GRPC_STATS_INC_TCP_BACKUP_POLLERS_CREATED() \
212 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED)
213#define GRPC_STATS_INC_TCP_BACKUP_POLLER_POLLS() \
214 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS)
215#define GRPC_STATS_INC_HTTP2_OP_BATCHES() \
216 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_BATCHES)
217#define GRPC_STATS_INC_HTTP2_OP_CANCEL() \
218 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_CANCEL)
219#define GRPC_STATS_INC_HTTP2_OP_SEND_INITIAL_METADATA() \
220 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA)
221#define GRPC_STATS_INC_HTTP2_OP_SEND_MESSAGE() \
222 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE)
223#define GRPC_STATS_INC_HTTP2_OP_SEND_TRAILING_METADATA() \
224 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA)
225#define GRPC_STATS_INC_HTTP2_OP_RECV_INITIAL_METADATA() \
226 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA)
227#define GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE() \
228 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE)
229#define GRPC_STATS_INC_HTTP2_OP_RECV_TRAILING_METADATA() \
230 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA)
231#define GRPC_STATS_INC_HTTP2_SETTINGS_WRITES() \
232 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES)
233#define GRPC_STATS_INC_HTTP2_PINGS_SENT() \
234 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_PINGS_SENT)
235#define GRPC_STATS_INC_HTTP2_WRITES_BEGUN() \
236 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN)
237#define GRPC_STATS_INC_HTTP2_WRITES_OFFLOADED() \
238 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED)
239#define GRPC_STATS_INC_HTTP2_WRITES_CONTINUED() \
240 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED)
241#define GRPC_STATS_INC_HTTP2_PARTIAL_WRITES() \
242 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES)
243#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE() \
244 GRPC_STATS_INC_COUNTER( \
Yash Tibrewalad4d2dd2017-12-06 09:05:05 -0800245 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE)
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800246#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM() \
Yash Tibrewalad4d2dd2017-12-06 09:05:05 -0800247 GRPC_STATS_INC_COUNTER( \
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800248 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM)
249#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE() \
250 GRPC_STATS_INC_COUNTER( \
251 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE)
252#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA() \
253 GRPC_STATS_INC_COUNTER( \
254 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA)
255#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA() \
256 GRPC_STATS_INC_COUNTER( \
257 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA)
258#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING() \
Yash Tibrewalad4d2dd2017-12-06 09:05:05 -0800259 GRPC_STATS_INC_COUNTER( \
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800260 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING)
261#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS() \
Yash Tibrewalad4d2dd2017-12-06 09:05:05 -0800262 GRPC_STATS_INC_COUNTER( \
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800263 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS)
264#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT() \
265 GRPC_STATS_INC_COUNTER( \
266 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT)
267#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM() \
268 GRPC_STATS_INC_COUNTER( \
269 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM)
270#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API() \
Yash Tibrewalad4d2dd2017-12-06 09:05:05 -0800271 GRPC_STATS_INC_COUNTER( \
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800272 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API)
273#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL() \
274 GRPC_STATS_INC_COUNTER( \
275 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL)
276#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL() \
277 GRPC_STATS_INC_COUNTER( \
278 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL)
279#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS() \
280 GRPC_STATS_INC_COUNTER( \
281 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS)
282#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING() \
283 GRPC_STATS_INC_COUNTER( \
284 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING)
285#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING() \
286 GRPC_STATS_INC_COUNTER( \
287 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING)
288#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE() \
289 GRPC_STATS_INC_COUNTER( \
290 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE)
291#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING() \
292 GRPC_STATS_INC_COUNTER( \
293 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING)
294#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING() \
295 GRPC_STATS_INC_COUNTER( \
296 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING)
297#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED() \
298 GRPC_STATS_INC_COUNTER( \
299 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED)
300#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE() \
301 GRPC_STATS_INC_COUNTER( \
302 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE)
303#define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM() \
304 GRPC_STATS_INC_COUNTER( \
305 GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM)
306#define GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN() \
307 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN)
308#define GRPC_STATS_INC_HPACK_RECV_INDEXED() \
309 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_INDEXED)
310#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX() \
311 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX)
312#define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX_V() \
313 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V)
314#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX() \
315 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX)
316#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX_V() \
317 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V)
318#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX() \
319 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX)
320#define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX_V() \
321 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V)
322#define GRPC_STATS_INC_HPACK_RECV_UNCOMPRESSED() \
323 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED)
324#define GRPC_STATS_INC_HPACK_RECV_HUFFMAN() \
325 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN)
326#define GRPC_STATS_INC_HPACK_RECV_BINARY() \
327 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_BINARY)
328#define GRPC_STATS_INC_HPACK_RECV_BINARY_BASE64() \
329 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64)
330#define GRPC_STATS_INC_HPACK_SEND_INDEXED() \
331 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_INDEXED)
332#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX() \
333 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX)
334#define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX_V() \
335 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V)
336#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX() \
337 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX)
338#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX_V() \
339 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V)
340#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX() \
341 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX)
342#define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX_V() \
343 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V)
344#define GRPC_STATS_INC_HPACK_SEND_UNCOMPRESSED() \
345 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED)
346#define GRPC_STATS_INC_HPACK_SEND_HUFFMAN() \
347 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN)
348#define GRPC_STATS_INC_HPACK_SEND_BINARY() \
349 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_BINARY)
350#define GRPC_STATS_INC_HPACK_SEND_BINARY_BASE64() \
351 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64)
352#define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED() \
353 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED)
354#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS() \
355 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS)
356#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS() \
357 GRPC_STATS_INC_COUNTER( \
358 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS)
359#define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED() \
360 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED)
361#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_INITIATED() \
362 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED)
363#define GRPC_STATS_INC_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS() \
364 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS)
365#define GRPC_STATS_INC_CALL_COMBINER_SET_NOTIFY_ON_CANCEL() \
366 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL)
367#define GRPC_STATS_INC_CALL_COMBINER_CANCELLED() \
368 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED)
369#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_SHORT_ITEMS() \
370 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS)
371#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_LONG_ITEMS() \
372 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS)
373#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_TO_SELF() \
374 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF)
375#define GRPC_STATS_INC_EXECUTOR_WAKEUP_INITIATED() \
376 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED)
377#define GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED() \
378 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED)
379#define GRPC_STATS_INC_EXECUTOR_PUSH_RETRIES() \
380 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES)
381#define GRPC_STATS_INC_SERVER_REQUESTED_CALLS() \
382 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS)
383#define GRPC_STATS_INC_SERVER_SLOWPATH_REQUESTS_QUEUED() \
384 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED)
385#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_FAILURES() \
386 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES)
387#define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_SUCCESSES() \
388 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES)
389#define GRPC_STATS_INC_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES() \
390 GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES)
391#define GRPC_STATS_INC_CALL_INITIAL_SIZE(value) \
392 grpc_stats_inc_call_initial_size((int)(value))
393void grpc_stats_inc_call_initial_size(int x);
394#define GRPC_STATS_INC_POLL_EVENTS_RETURNED(value) \
395 grpc_stats_inc_poll_events_returned((int)(value))
396void grpc_stats_inc_poll_events_returned(int x);
397#define GRPC_STATS_INC_TCP_WRITE_SIZE(value) \
398 grpc_stats_inc_tcp_write_size((int)(value))
399void grpc_stats_inc_tcp_write_size(int x);
400#define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(value) \
401 grpc_stats_inc_tcp_write_iov_size((int)(value))
402void grpc_stats_inc_tcp_write_iov_size(int x);
403#define GRPC_STATS_INC_TCP_READ_SIZE(value) \
404 grpc_stats_inc_tcp_read_size((int)(value))
405void grpc_stats_inc_tcp_read_size(int x);
406#define GRPC_STATS_INC_TCP_READ_OFFER(value) \
407 grpc_stats_inc_tcp_read_offer((int)(value))
408void grpc_stats_inc_tcp_read_offer(int x);
409#define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(value) \
410 grpc_stats_inc_tcp_read_offer_iov_size((int)(value))
411void grpc_stats_inc_tcp_read_offer_iov_size(int x);
412#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(value) \
413 grpc_stats_inc_http2_send_message_size((int)(value))
414void grpc_stats_inc_http2_send_message_size(int x);
415#define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(value) \
416 grpc_stats_inc_http2_send_initial_metadata_per_write((int)(value))
417void grpc_stats_inc_http2_send_initial_metadata_per_write(int x);
418#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(value) \
419 grpc_stats_inc_http2_send_message_per_write((int)(value))
420void grpc_stats_inc_http2_send_message_per_write(int x);
421#define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(value) \
422 grpc_stats_inc_http2_send_trailing_metadata_per_write((int)(value))
423void grpc_stats_inc_http2_send_trailing_metadata_per_write(int x);
424#define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(value) \
425 grpc_stats_inc_http2_send_flowctl_per_write((int)(value))
426void grpc_stats_inc_http2_send_flowctl_per_write(int x);
427#define GRPC_STATS_INC_SERVER_CQS_CHECKED(value) \
428 grpc_stats_inc_server_cqs_checked((int)(value))
429void grpc_stats_inc_server_cqs_checked(int x);
Craig Tiller2477cf32017-09-26 12:20:35 -0700430extern const int grpc_stats_histo_buckets[13];
431extern const int grpc_stats_histo_start[13];
Craig Tillerbaa14a92017-11-03 09:09:36 -0700432extern const int* const grpc_stats_histo_bucket_boundaries[13];
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800433extern void (*const grpc_stats_inc_histogram[13])(int x);
Craig Tiller28086682017-07-18 14:22:19 -0700434
Craig Tiller28086682017-07-18 14:22:19 -0700435#endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */