blob: 27f0aa8ba2cb1a1d952189788d859c30e0f0010e [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
Craig Tiller640dfe42017-08-30 13:34:49 -070024#include <inttypes.h>
Craig Tiller97ec5eb2017-09-01 12:57:36 -070025#include "src/core/lib/iomgr/exec_ctx.h"
Craig Tiller640dfe42017-08-30 13:34:49 -070026
Craig Tiller28086682017-07-18 14:22:19 -070027typedef enum {
28 GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED,
29 GRPC_STATS_COUNTER_SERVER_CALLS_CREATED,
Craig Tillerb4bb1cd2017-07-20 14:18:17 -070030 GRPC_STATS_COUNTER_SYSCALL_POLL,
31 GRPC_STATS_COUNTER_SYSCALL_WAIT,
Craig Tiller0ff222a2017-09-01 09:41:43 -070032 GRPC_STATS_COUNTER_POLLSET_KICK,
33 GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER,
34 GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN,
35 GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD,
36 GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV,
37 GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD,
Craig Tiller640dfe42017-08-30 13:34:49 -070038 GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS,
Craig Tiller57bb9a92017-08-31 16:44:15 -070039 GRPC_STATS_COUNTER_SYSCALL_WRITE,
40 GRPC_STATS_COUNTER_SYSCALL_READ,
41 GRPC_STATS_COUNTER_HTTP2_OP_BATCHES,
42 GRPC_STATS_COUNTER_HTTP2_OP_CANCEL,
43 GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA,
44 GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE,
45 GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA,
46 GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA,
47 GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE,
48 GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA,
49 GRPC_STATS_COUNTER_HTTP2_PINGS_SENT,
50 GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN,
51 GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED,
52 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS,
53 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS,
54 GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED,
55 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_ITEMS,
56 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF,
57 GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED,
58 GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED,
Craig Tiller28086682017-07-18 14:22:19 -070059 GRPC_STATS_COUNTER_COUNT
60} grpc_stats_counters;
Craig Tiller640dfe42017-08-30 13:34:49 -070061extern const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
Craig Tillereda90972017-09-08 09:52:29 -070062extern const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
Craig Tiller33aeaba2017-07-20 16:02:24 -070063typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -070064 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
65 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED,
Craig Tiller33aeaba2017-07-20 16:02:24 -070066 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE,
Craig Tiller640dfe42017-08-30 13:34:49 -070067 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE,
Craig Tiller33aeaba2017-07-20 16:02:24 -070068 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE,
Craig Tillerc92f18c2017-08-31 16:46:32 -070069 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER,
Craig Tillereda90972017-09-08 09:52:29 -070070 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE,
Craig Tiller57bb9a92017-08-31 16:44:15 -070071 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE,
Craig Tiller33aeaba2017-07-20 16:02:24 -070072 GRPC_STATS_HISTOGRAM_COUNT
73} grpc_stats_histograms;
Craig Tiller640dfe42017-08-30 13:34:49 -070074extern const char *grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
Craig Tillereda90972017-09-08 09:52:29 -070075extern const char *grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
Craig Tiller640dfe42017-08-30 13:34:49 -070076typedef enum {
Craig Tiller0ff222a2017-09-01 09:41:43 -070077 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_FIRST_SLOT = 0,
78 GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_BUCKETS = 64,
79 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_FIRST_SLOT = 64,
80 GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_BUCKETS = 128,
81 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_FIRST_SLOT = 192,
Craig Tiller640dfe42017-08-30 13:34:49 -070082 GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -070083 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_FIRST_SLOT = 256,
Craig Tiller640dfe42017-08-30 13:34:49 -070084 GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -070085 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_FIRST_SLOT = 320,
Craig Tiller640dfe42017-08-30 13:34:49 -070086 GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -070087 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_FIRST_SLOT = 384,
Craig Tillerc92f18c2017-08-31 16:46:32 -070088 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_BUCKETS = 64,
Craig Tiller4f5acf72017-09-08 11:38:41 -070089 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_FIRST_SLOT = 448,
Craig Tillereda90972017-09-08 09:52:29 -070090 GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -070091 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_FIRST_SLOT = 512,
Craig Tiller57bb9a92017-08-31 16:44:15 -070092 GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_BUCKETS = 64,
Craig Tiller0ff222a2017-09-01 09:41:43 -070093 GRPC_STATS_HISTOGRAM_BUCKETS = 576
Craig Tiller640dfe42017-08-30 13:34:49 -070094} grpc_stats_histogram_constants;
95#define GRPC_STATS_INC_CLIENT_CALLS_CREATED(exec_ctx) \
96 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED)
97#define GRPC_STATS_INC_SERVER_CALLS_CREATED(exec_ctx) \
98 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SERVER_CALLS_CREATED)
Craig Tiller640dfe42017-08-30 13:34:49 -070099#define GRPC_STATS_INC_SYSCALL_POLL(exec_ctx) \
100 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_POLL)
101#define GRPC_STATS_INC_SYSCALL_WAIT(exec_ctx) \
102 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_WAIT)
Craig Tiller0ff222a2017-09-01 09:41:43 -0700103#define GRPC_STATS_INC_POLLSET_KICK(exec_ctx) \
104 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK)
105#define GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER(exec_ctx) \
106 GRPC_STATS_INC_COUNTER((exec_ctx), \
107 GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER)
108#define GRPC_STATS_INC_POLLSET_KICKED_AGAIN(exec_ctx) \
109 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN)
110#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD(exec_ctx) \
111 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD)
112#define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV(exec_ctx) \
113 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV)
114#define GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD(exec_ctx) \
115 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD)
Craig Tiller640dfe42017-08-30 13:34:49 -0700116#define GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS(exec_ctx) \
117 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS)
Craig Tiller57bb9a92017-08-31 16:44:15 -0700118#define GRPC_STATS_INC_SYSCALL_WRITE(exec_ctx) \
119 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_WRITE)
120#define GRPC_STATS_INC_SYSCALL_READ(exec_ctx) \
121 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_READ)
122#define GRPC_STATS_INC_HTTP2_OP_BATCHES(exec_ctx) \
123 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_BATCHES)
124#define GRPC_STATS_INC_HTTP2_OP_CANCEL(exec_ctx) \
125 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_CANCEL)
126#define GRPC_STATS_INC_HTTP2_OP_SEND_INITIAL_METADATA(exec_ctx) \
127 GRPC_STATS_INC_COUNTER((exec_ctx), \
128 GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA)
129#define GRPC_STATS_INC_HTTP2_OP_SEND_MESSAGE(exec_ctx) \
130 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE)
131#define GRPC_STATS_INC_HTTP2_OP_SEND_TRAILING_METADATA(exec_ctx) \
132 GRPC_STATS_INC_COUNTER((exec_ctx), \
133 GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA)
134#define GRPC_STATS_INC_HTTP2_OP_RECV_INITIAL_METADATA(exec_ctx) \
135 GRPC_STATS_INC_COUNTER((exec_ctx), \
136 GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA)
137#define GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE(exec_ctx) \
138 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE)
139#define GRPC_STATS_INC_HTTP2_OP_RECV_TRAILING_METADATA(exec_ctx) \
140 GRPC_STATS_INC_COUNTER((exec_ctx), \
141 GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA)
142#define GRPC_STATS_INC_HTTP2_PINGS_SENT(exec_ctx) \
143 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_PINGS_SENT)
144#define GRPC_STATS_INC_HTTP2_WRITES_BEGUN(exec_ctx) \
145 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN)
146#define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED(exec_ctx) \
147 GRPC_STATS_INC_COUNTER((exec_ctx), \
148 GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED)
149#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS(exec_ctx) \
150 GRPC_STATS_INC_COUNTER((exec_ctx), \
151 GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS)
152#define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS(exec_ctx) \
153 GRPC_STATS_INC_COUNTER( \
154 (exec_ctx), GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS)
155#define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED(exec_ctx) \
156 GRPC_STATS_INC_COUNTER((exec_ctx), \
157 GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED)
158#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_ITEMS(exec_ctx) \
159 GRPC_STATS_INC_COUNTER((exec_ctx), \
160 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_ITEMS)
161#define GRPC_STATS_INC_EXECUTOR_SCHEDULED_TO_SELF(exec_ctx) \
162 GRPC_STATS_INC_COUNTER((exec_ctx), \
163 GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF)
164#define GRPC_STATS_INC_EXECUTOR_WAKEUP_INITIATED(exec_ctx) \
165 GRPC_STATS_INC_COUNTER((exec_ctx), \
166 GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED)
167#define GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED(exec_ctx) \
168 GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED)
Craig Tillerf0ba70a2017-09-05 11:47:14 -0700169#define GRPC_STATS_INC_CALL_INITIAL_SIZE(exec_ctx, value) \
170 grpc_stats_inc_call_initial_size((exec_ctx), (int)(value))
171void grpc_stats_inc_call_initial_size(grpc_exec_ctx *exec_ctx, int x);
172#define GRPC_STATS_INC_POLL_EVENTS_RETURNED(exec_ctx, value) \
173 grpc_stats_inc_poll_events_returned((exec_ctx), (int)(value))
174void grpc_stats_inc_poll_events_returned(grpc_exec_ctx *exec_ctx, int x);
Craig Tiller97ec5eb2017-09-01 12:57:36 -0700175#define GRPC_STATS_INC_TCP_WRITE_SIZE(exec_ctx, value) \
Craig Tiller56a84842017-09-01 16:36:52 -0700176 grpc_stats_inc_tcp_write_size((exec_ctx), (int)(value))
177void grpc_stats_inc_tcp_write_size(grpc_exec_ctx *exec_ctx, int x);
Craig Tiller97ec5eb2017-09-01 12:57:36 -0700178#define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(exec_ctx, value) \
Craig Tiller56a84842017-09-01 16:36:52 -0700179 grpc_stats_inc_tcp_write_iov_size((exec_ctx), (int)(value))
180void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx *exec_ctx, int x);
Craig Tiller97ec5eb2017-09-01 12:57:36 -0700181#define GRPC_STATS_INC_TCP_READ_SIZE(exec_ctx, value) \
Craig Tiller56a84842017-09-01 16:36:52 -0700182 grpc_stats_inc_tcp_read_size((exec_ctx), (int)(value))
183void grpc_stats_inc_tcp_read_size(grpc_exec_ctx *exec_ctx, int x);
184#define GRPC_STATS_INC_TCP_READ_OFFER(exec_ctx, value) \
185 grpc_stats_inc_tcp_read_offer((exec_ctx), (int)(value))
186void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx *exec_ctx, int x);
Craig Tillereda90972017-09-08 09:52:29 -0700187#define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(exec_ctx, value) \
188 grpc_stats_inc_tcp_read_offer_iov_size((exec_ctx), (int)(value))
189void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx *exec_ctx, int x);
Craig Tiller56a84842017-09-01 16:36:52 -0700190#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(exec_ctx, value) \
191 grpc_stats_inc_http2_send_message_size((exec_ctx), (int)(value))
192void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx *exec_ctx, int x);
Craig Tiller0ff222a2017-09-01 09:41:43 -0700193extern const int grpc_stats_histo_buckets[8];
194extern const int grpc_stats_histo_start[8];
Craig Tillerf0ba70a2017-09-05 11:47:14 -0700195extern const int *const grpc_stats_histo_bucket_boundaries[8];
196extern void (*const grpc_stats_inc_histogram[8])(grpc_exec_ctx *exec_ctx,
Craig Tiller56a84842017-09-01 16:36:52 -0700197 int x);
Craig Tiller28086682017-07-18 14:22:19 -0700198
199#endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */