grpc 1.6.7 → 1.7.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +579 -77
  3. data/include/grpc/byte_buffer.h +1 -63
  4. data/include/grpc/compression.h +27 -5
  5. data/include/grpc/fork.h +24 -0
  6. data/include/grpc/grpc.h +12 -6
  7. data/include/grpc/grpc_security.h +28 -7
  8. data/include/grpc/impl/codegen/atm.h +1 -0
  9. data/include/grpc/impl/codegen/byte_buffer.h +86 -0
  10. data/include/grpc/impl/codegen/compression_types.h +63 -5
  11. data/include/grpc/impl/codegen/fork.h +48 -0
  12. data/include/grpc/impl/codegen/grpc_types.h +26 -9
  13. data/include/grpc/impl/codegen/port_platform.h +11 -4
  14. data/include/grpc/impl/codegen/slice.h +6 -1
  15. data/include/grpc/impl/codegen/sync.h +3 -1
  16. data/include/grpc/impl/codegen/sync_custom.h +36 -0
  17. data/include/grpc/module.modulemap +75 -3
  18. data/include/grpc/slice.h +1 -5
  19. data/include/grpc/support/sync_custom.h +24 -0
  20. data/src/core/ext/census/base_resources.c +14 -14
  21. data/src/core/ext/census/context.c +7 -5
  22. data/src/core/ext/census/grpc_filter.c +12 -14
  23. data/src/core/ext/census/mlog.c +2 -1
  24. data/src/core/ext/census/resource.c +13 -9
  25. data/src/core/ext/filters/client_channel/channel_connectivity.c +15 -8
  26. data/src/core/ext/filters/client_channel/client_channel.c +418 -439
  27. data/src/core/ext/filters/client_channel/client_channel_factory.c +4 -5
  28. data/src/core/ext/filters/client_channel/client_channel_plugin.c +2 -2
  29. data/src/core/ext/filters/client_channel/http_connect_handshaker.c +7 -5
  30. data/src/core/ext/filters/client_channel/http_proxy.c +17 -21
  31. data/src/core/ext/filters/client_channel/lb_policy.c +1 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c +7 -7
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +371 -257
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c +7 -5
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c +25 -14
  36. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +16 -16
  37. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +33 -28
  38. data/src/core/ext/filters/client_channel/lb_policy_factory.c +10 -8
  39. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  40. data/src/core/ext/filters/client_channel/proxy_mapper_registry.c +1 -1
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c +7 -6
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c +62 -28
  43. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c +29 -23
  44. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c +25 -14
  45. data/src/core/ext/filters/client_channel/retry_throttle.c +9 -6
  46. data/src/core/ext/filters/client_channel/subchannel.c +30 -30
  47. data/src/core/ext/filters/client_channel/subchannel.h +1 -4
  48. data/src/core/ext/filters/client_channel/subchannel_index.c +31 -15
  49. data/src/core/ext/filters/client_channel/subchannel_index.h +7 -0
  50. data/src/core/ext/filters/client_channel/uri_parser.c +4 -3
  51. data/src/core/ext/filters/deadline/deadline_filter.c +78 -39
  52. data/src/core/ext/filters/deadline/deadline_filter.h +7 -1
  53. data/src/core/ext/filters/http/client/http_client_filter.c +14 -14
  54. data/src/core/ext/filters/http/http_filters_plugin.c +1 -1
  55. data/src/core/ext/filters/http/message_compress/message_compress_filter.c +240 -175
  56. data/src/core/ext/filters/http/server/http_server_filter.c +48 -36
  57. data/src/core/ext/filters/load_reporting/{load_reporting_filter.c → server_load_reporting_filter.c} +11 -12
  58. data/src/core/ext/filters/load_reporting/{load_reporting_filter.h → server_load_reporting_filter.h} +6 -5
  59. data/src/core/ext/filters/load_reporting/{load_reporting.c → server_load_reporting_plugin.c} +19 -13
  60. data/src/core/ext/filters/load_reporting/{load_reporting.h → server_load_reporting_plugin.h} +4 -3
  61. data/src/core/ext/filters/max_age/max_age_filter.c +2 -3
  62. data/src/core/ext/filters/message_size/message_size_filter.c +4 -2
  63. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c +0 -1
  64. data/src/core/ext/transport/chttp2/client/chttp2_connector.c +5 -5
  65. data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +1 -1
  66. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +1 -1
  67. data/src/core/ext/transport/chttp2/server/chttp2_server.c +20 -18
  68. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +1 -0
  69. data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +493 -210
  70. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
  71. data/src/core/ext/transport/chttp2/transport/flow_control.c +9 -8
  72. data/src/core/ext/transport/chttp2/transport/frame_data.c +2 -2
  73. data/src/core/ext/transport/chttp2/transport/frame_goaway.c +2 -2
  74. data/src/core/ext/transport/chttp2/transport/frame_ping.c +5 -4
  75. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +1 -1
  76. data/src/core/ext/transport/chttp2/transport/frame_settings.c +10 -9
  77. data/src/core/ext/transport/chttp2/transport/frame_window_update.c +9 -5
  78. data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +62 -41
  79. data/src/core/ext/transport/chttp2/transport/hpack_parser.c +52 -8
  80. data/src/core/ext/transport/chttp2/transport/hpack_table.c +2 -2
  81. data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +3 -2
  82. data/src/core/ext/transport/chttp2/transport/internal.h +60 -30
  83. data/src/core/ext/transport/chttp2/transport/parsing.c +16 -5
  84. data/src/core/ext/transport/chttp2/transport/stream_lists.c +36 -16
  85. data/src/core/ext/transport/chttp2/transport/stream_map.c +6 -4
  86. data/src/core/ext/transport/chttp2/transport/writing.c +133 -105
  87. data/src/core/ext/transport/inproc/inproc_transport.c +61 -65
  88. data/src/core/lib/channel/channel_args.c +112 -12
  89. data/src/core/lib/channel/channel_args.h +31 -0
  90. data/src/core/lib/channel/channel_stack.c +1 -15
  91. data/src/core/lib/channel/channel_stack.h +3 -10
  92. data/src/core/lib/channel/channel_stack_builder.c +41 -10
  93. data/src/core/lib/channel/channel_stack_builder.h +10 -0
  94. data/src/core/lib/channel/connected_channel.c +94 -23
  95. data/src/core/lib/channel/handshaker.c +8 -6
  96. data/src/core/lib/channel/handshaker_registry.c +1 -1
  97. data/src/core/lib/compression/algorithm_metadata.h +14 -0
  98. data/src/core/lib/compression/compression.c +101 -1
  99. data/src/core/lib/compression/stream_compression.c +32 -146
  100. data/src/core/lib/compression/stream_compression.h +28 -4
  101. data/src/core/lib/compression/stream_compression_gzip.c +228 -0
  102. data/src/core/lib/{iomgr/ev_epoll_thread_pool_linux.h → compression/stream_compression_gzip.h} +5 -7
  103. data/src/core/lib/compression/stream_compression_identity.c +94 -0
  104. data/src/core/lib/{iomgr/ev_epoll_limited_pollers_linux.h → compression/stream_compression_identity.h} +7 -8
  105. data/src/core/lib/debug/stats.c +174 -0
  106. data/src/core/lib/debug/stats.h +61 -0
  107. data/src/core/lib/debug/stats_data.c +687 -0
  108. data/src/core/lib/debug/stats_data.h +470 -0
  109. data/src/core/lib/debug/trace.c +3 -3
  110. data/src/core/lib/debug/trace.h +1 -1
  111. data/src/core/lib/http/format_request.c +1 -1
  112. data/src/core/lib/http/httpcli.c +8 -7
  113. data/src/core/lib/http/httpcli_security_connector.c +2 -1
  114. data/src/core/lib/http/parser.c +4 -3
  115. data/src/core/lib/iomgr/call_combiner.c +202 -0
  116. data/src/core/lib/iomgr/call_combiner.h +121 -0
  117. data/src/core/lib/iomgr/closure.c +18 -4
  118. data/src/core/lib/iomgr/combiner.c +11 -4
  119. data/src/core/lib/iomgr/error.c +26 -24
  120. data/src/core/lib/iomgr/ev_epoll1_linux.c +395 -212
  121. data/src/core/lib/iomgr/ev_epollex_linux.c +141 -128
  122. data/src/core/lib/iomgr/ev_epollsig_linux.c +44 -41
  123. data/src/core/lib/iomgr/ev_poll_posix.c +99 -75
  124. data/src/core/lib/iomgr/ev_posix.c +5 -9
  125. data/src/core/lib/iomgr/ev_posix.h +1 -1
  126. data/src/core/lib/iomgr/exec_ctx.h +6 -1
  127. data/src/core/lib/iomgr/executor.c +142 -36
  128. data/src/core/lib/iomgr/executor.h +6 -1
  129. data/src/core/lib/iomgr/fork_posix.c +88 -0
  130. data/src/core/lib/iomgr/fork_windows.c +39 -0
  131. data/src/core/lib/iomgr/iocp_windows.c +2 -0
  132. data/src/core/lib/iomgr/iomgr.c +2 -8
  133. data/src/core/lib/iomgr/is_epollexclusive_available.c +6 -6
  134. data/src/core/lib/iomgr/load_file.c +2 -1
  135. data/src/core/lib/iomgr/polling_entity.c +9 -9
  136. data/src/core/lib/iomgr/polling_entity.h +7 -1
  137. data/src/core/lib/iomgr/pollset.h +1 -1
  138. data/src/core/lib/iomgr/pollset_uv.c +1 -1
  139. data/src/core/lib/iomgr/pollset_windows.c +3 -3
  140. data/src/core/lib/iomgr/port.h +4 -0
  141. data/src/core/lib/iomgr/resolve_address_posix.c +8 -7
  142. data/src/core/lib/iomgr/resolve_address_windows.c +1 -1
  143. data/src/core/lib/iomgr/resource_quota.c +24 -19
  144. data/src/core/lib/iomgr/socket_factory_posix.c +4 -4
  145. data/src/core/lib/iomgr/socket_mutator.c +4 -4
  146. data/src/core/lib/iomgr/socket_utils_windows.c +0 -4
  147. data/src/core/lib/iomgr/tcp_client_posix.c +5 -4
  148. data/src/core/lib/iomgr/tcp_posix.c +181 -20
  149. data/src/core/lib/iomgr/tcp_server_posix.c +8 -7
  150. data/src/core/lib/iomgr/tcp_server_utils_posix_common.c +1 -1
  151. data/src/core/lib/iomgr/timer.h +4 -0
  152. data/src/core/lib/iomgr/timer_generic.c +138 -3
  153. data/src/core/lib/iomgr/timer_generic.h +3 -0
  154. data/src/core/lib/iomgr/timer_heap.c +4 -4
  155. data/src/core/lib/iomgr/timer_manager.c +2 -2
  156. data/src/core/lib/iomgr/timer_uv.c +2 -0
  157. data/src/core/lib/iomgr/udp_server.c +10 -8
  158. data/src/core/lib/iomgr/unix_sockets_posix.c +4 -2
  159. data/src/core/lib/iomgr/wakeup_fd_cv.c +9 -8
  160. data/src/core/lib/iomgr/wakeup_fd_cv.h +2 -2
  161. data/src/core/lib/json/json.c +1 -1
  162. data/src/core/lib/json/json_string.c +13 -13
  163. data/src/core/lib/profiling/timers.h +18 -8
  164. data/src/core/lib/security/credentials/composite/composite_credentials.c +4 -10
  165. data/src/core/lib/security/credentials/google_default/google_default_credentials.c +2 -1
  166. data/src/core/lib/security/credentials/jwt/jwt_verifier.c +11 -6
  167. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +4 -4
  168. data/src/core/lib/security/credentials/plugin/plugin_credentials.c +132 -50
  169. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
  170. data/src/core/lib/security/transport/client_auth_filter.c +68 -135
  171. data/src/core/lib/security/transport/secure_endpoint.c +110 -90
  172. data/src/core/lib/security/transport/secure_endpoint.h +8 -3
  173. data/src/core/lib/security/transport/security_connector.c +10 -12
  174. data/src/core/lib/security/transport/security_handshaker.c +45 -24
  175. data/src/core/lib/security/transport/server_auth_filter.c +71 -20
  176. data/src/core/lib/slice/b64.c +2 -2
  177. data/src/core/lib/slice/slice.c +16 -14
  178. data/src/core/lib/slice/slice_buffer.c +5 -4
  179. data/src/core/lib/slice/slice_hash_table.c +3 -2
  180. data/src/core/lib/slice/slice_intern.c +8 -5
  181. data/src/core/lib/support/block_annotate.h +22 -0
  182. data/src/core/lib/support/fork.c +62 -0
  183. data/src/core/lib/support/fork.h +35 -0
  184. data/src/core/lib/support/log_linux.c +1 -1
  185. data/src/core/lib/support/string.c +15 -1
  186. data/src/core/lib/support/string.h +3 -0
  187. data/src/core/lib/support/thd_internal.h +6 -0
  188. data/src/core/lib/support/thd_posix.c +56 -0
  189. data/src/core/lib/support/thd_windows.c +2 -0
  190. data/src/core/lib/surface/alarm.c +22 -15
  191. data/src/core/lib/surface/byte_buffer.c +4 -2
  192. data/src/core/lib/surface/call.c +442 -141
  193. data/src/core/lib/surface/call.h +6 -6
  194. data/src/core/lib/surface/call_log_batch.c +1 -1
  195. data/src/core/lib/surface/call_test_only.h +12 -0
  196. data/src/core/lib/surface/channel.c +39 -4
  197. data/src/core/lib/surface/channel_init.c +6 -6
  198. data/src/core/lib/surface/channel_ping.c +2 -2
  199. data/src/core/lib/surface/completion_queue.c +56 -57
  200. data/src/core/lib/surface/init.c +17 -3
  201. data/src/core/lib/surface/init_secure.c +5 -1
  202. data/src/core/lib/surface/lame_client.cc +9 -10
  203. data/src/core/lib/surface/server.c +81 -72
  204. data/src/core/lib/surface/version.c +2 -2
  205. data/src/core/lib/transport/byte_stream.c +1 -0
  206. data/src/core/lib/transport/byte_stream.h +3 -1
  207. data/src/core/lib/transport/connectivity_state.c +2 -1
  208. data/src/core/lib/transport/metadata.c +7 -4
  209. data/src/core/lib/transport/metadata_batch.c +18 -16
  210. data/src/core/lib/transport/metadata_batch.h +1 -0
  211. data/src/core/lib/transport/service_config.c +5 -3
  212. data/src/core/lib/transport/static_metadata.c +395 -614
  213. data/src/core/lib/transport/static_metadata.h +165 -133
  214. data/src/core/lib/transport/status_conversion.c +1 -1
  215. data/src/core/lib/transport/transport.c +20 -20
  216. data/src/core/lib/transport/transport.h +8 -5
  217. data/src/core/lib/transport/transport_impl.h +0 -3
  218. data/src/core/lib/transport/transport_op_string.c +8 -1
  219. data/src/core/plugin_registry/grpc_plugin_registry.c +4 -4
  220. data/src/core/tsi/fake_transport_security.c +133 -2
  221. data/src/core/tsi/fake_transport_security.h +5 -0
  222. data/src/core/tsi/ssl_transport_security.c +105 -8
  223. data/src/core/tsi/ssl_transport_security.h +30 -7
  224. data/src/core/tsi/transport_security.h +8 -2
  225. data/src/core/tsi/transport_security_grpc.c +20 -13
  226. data/src/core/tsi/transport_security_grpc.h +13 -9
  227. data/src/ruby/ext/grpc/rb_call_credentials.c +6 -2
  228. data/src/ruby/ext/grpc/rb_grpc.c +1 -1
  229. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +30 -20
  230. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +50 -35
  231. data/src/ruby/lib/grpc.rb +1 -0
  232. data/src/ruby/lib/grpc/generic/active_call.rb +34 -9
  233. data/src/ruby/lib/grpc/generic/bidi_call.rb +19 -10
  234. data/src/ruby/lib/grpc/generic/client_stub.rb +95 -38
  235. data/src/ruby/lib/grpc/generic/interceptor_registry.rb +53 -0
  236. data/src/ruby/lib/grpc/generic/interceptors.rb +186 -0
  237. data/src/ruby/lib/grpc/generic/rpc_desc.rb +66 -20
  238. data/src/ruby/lib/grpc/generic/rpc_server.rb +15 -3
  239. data/src/ruby/lib/grpc/google_rpc_status_utils.rb +1 -2
  240. data/src/ruby/lib/grpc/version.rb +1 -1
  241. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +1 -0
  242. data/src/ruby/spec/channel_connection_spec.rb +1 -34
  243. data/src/ruby/spec/client_server_spec.rb +188 -82
  244. data/src/ruby/spec/generic/active_call_spec.rb +65 -11
  245. data/src/ruby/spec/generic/client_interceptors_spec.rb +153 -0
  246. data/src/ruby/spec/generic/interceptor_registry_spec.rb +65 -0
  247. data/src/ruby/spec/generic/rpc_desc_spec.rb +38 -0
  248. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -34
  249. data/src/ruby/spec/generic/server_interceptors_spec.rb +218 -0
  250. data/src/ruby/spec/spec_helper.rb +4 -0
  251. data/src/ruby/spec/support/helpers.rb +73 -0
  252. data/src/ruby/spec/support/services.rb +147 -0
  253. data/third_party/cares/ares_build.h +21 -62
  254. data/third_party/cares/cares/ares.h +23 -1
  255. data/third_party/cares/cares/ares__close_sockets.c +2 -2
  256. data/third_party/cares/cares/ares_create_query.c +3 -3
  257. data/third_party/cares/cares/ares_expand_name.c +6 -2
  258. data/third_party/cares/cares/ares_expand_string.c +1 -1
  259. data/third_party/cares/cares/ares_getnameinfo.c +27 -7
  260. data/third_party/cares/cares/ares_init.c +407 -39
  261. data/third_party/cares/cares/ares_library_init.c +10 -0
  262. data/third_party/cares/cares/ares_library_init.h +2 -1
  263. data/third_party/cares/cares/ares_nowarn.c +6 -6
  264. data/third_party/cares/cares/ares_nowarn.h +2 -2
  265. data/third_party/cares/cares/ares_parse_naptr_reply.c +6 -1
  266. data/third_party/cares/cares/ares_private.h +11 -0
  267. data/third_party/cares/cares/ares_process.c +126 -37
  268. data/third_party/cares/cares/ares_version.h +2 -2
  269. data/third_party/cares/cares/ares_writev.c +2 -2
  270. data/third_party/cares/cares/config-win32.h +8 -34
  271. data/third_party/cares/cares/inet_net_pton.c +2 -2
  272. data/third_party/cares/cares/setup_once.h +5 -5
  273. data/third_party/cares/config_darwin/ares_config.h +98 -196
  274. data/third_party/cares/config_linux/ares_config.h +103 -203
  275. metadata +47 -20
  276. data/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +0 -1957
  277. data/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +0 -1182
@@ -0,0 +1,470 @@
1
+ /*
2
+ * Copyright 2017 gRPC authors.
3
+ *
4
+ * 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
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * 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
+
24
+ #include <inttypes.h>
25
+ #include "src/core/lib/iomgr/exec_ctx.h"
26
+
27
+ typedef enum {
28
+ GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED,
29
+ GRPC_STATS_COUNTER_SERVER_CALLS_CREATED,
30
+ GRPC_STATS_COUNTER_CQS_CREATED,
31
+ GRPC_STATS_COUNTER_CLIENT_CHANNELS_CREATED,
32
+ GRPC_STATS_COUNTER_CLIENT_SUBCHANNELS_CREATED,
33
+ GRPC_STATS_COUNTER_SERVER_CHANNELS_CREATED,
34
+ GRPC_STATS_COUNTER_SYSCALL_POLL,
35
+ GRPC_STATS_COUNTER_SYSCALL_WAIT,
36
+ GRPC_STATS_COUNTER_POLLSET_KICK,
37
+ GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER,
38
+ GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN,
39
+ GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD,
40
+ GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV,
41
+ GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD,
42
+ GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS,
43
+ GRPC_STATS_COUNTER_SYSCALL_WRITE,
44
+ GRPC_STATS_COUNTER_SYSCALL_READ,
45
+ GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED,
46
+ GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS,
47
+ GRPC_STATS_COUNTER_HTTP2_OP_BATCHES,
48
+ GRPC_STATS_COUNTER_HTTP2_OP_CANCEL,
49
+ GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA,
50
+ GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE,
51
+ GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA,
52
+ GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA,
53
+ GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE,
54
+ GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA,
55
+ GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES,
56
+ GRPC_STATS_COUNTER_HTTP2_PINGS_SENT,
57
+ GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN,
58
+ GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED,
59
+ GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED,
60
+ GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES,
61
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE,
62
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM,
63
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE,
64
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA,
65
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA,
66
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING,
67
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS,
68
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT,
69
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM,
70
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API,
71
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL,
72
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL,
73
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS,
74
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING,
75
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING,
76
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE,
77
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING,
78
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING,
79
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED,
80
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE,
81
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM,
82
+ GRPC_STATS_COUNTER_HPACK_RECV_INDEXED,
83
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX,
84
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V,
85
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX,
86
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V,
87
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX,
88
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V,
89
+ GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED,
90
+ GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN,
91
+ GRPC_STATS_COUNTER_HPACK_RECV_BINARY,
92
+ GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64,
93
+ GRPC_STATS_COUNTER_HPACK_SEND_INDEXED,
94
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX,
95
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V,
96
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX,
97
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V,
98
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX,
99
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V,
100
+ GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED,
101
+ GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN,
102
+ GRPC_STATS_COUNTER_HPACK_SEND_BINARY,
103
+ GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64,
104
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED,
105
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS,
106
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS,
107
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED,
108
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS,
109
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS,
110
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF,
111
+ GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED,
112
+ GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED,
113
+ GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES,
114
+ GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS,
115
+ GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED,
116
+ GRPC_STATS_COUNTER_COUNT
117
+ } grpc_stats_counters;
118
+ extern const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
119
+ extern const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
120
+ typedef enum {
121
+ GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
122
+ GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED,
123
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE,
124
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE,
125
+ GRPC_STATS_HISTOGRAM_TCP_READ_SIZE,
126
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER,
127
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE,
128
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE,
129
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE,
130
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE,
131
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE,
132
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE,
133
+ GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED,
134
+ GRPC_STATS_HISTOGRAM_COUNT
135
+ } grpc_stats_histograms;
136
+ extern const char *grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
137
+ extern const char *grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
138
+ typedef enum {
139
+ GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_FIRST_SLOT = 0,
140
+ GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_BUCKETS = 64,
141
+ GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_FIRST_SLOT = 64,
142
+ GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED_BUCKETS = 128,
143
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_FIRST_SLOT = 192,
144
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE_BUCKETS = 64,
145
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_FIRST_SLOT = 256,
146
+ GRPC_STATS_HISTOGRAM_TCP_WRITE_IOV_SIZE_BUCKETS = 64,
147
+ GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_FIRST_SLOT = 320,
148
+ GRPC_STATS_HISTOGRAM_TCP_READ_SIZE_BUCKETS = 64,
149
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_FIRST_SLOT = 384,
150
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_BUCKETS = 64,
151
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_FIRST_SLOT = 448,
152
+ GRPC_STATS_HISTOGRAM_TCP_READ_OFFER_IOV_SIZE_BUCKETS = 64,
153
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_FIRST_SLOT = 512,
154
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_SIZE_BUCKETS = 64,
155
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_FIRST_SLOT = 576,
156
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_INITIAL_METADATA_PER_WRITE_BUCKETS = 64,
157
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_FIRST_SLOT = 640,
158
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_MESSAGE_PER_WRITE_BUCKETS = 64,
159
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_FIRST_SLOT = 704,
160
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_TRAILING_METADATA_PER_WRITE_BUCKETS = 64,
161
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_FIRST_SLOT = 768,
162
+ GRPC_STATS_HISTOGRAM_HTTP2_SEND_FLOWCTL_PER_WRITE_BUCKETS = 64,
163
+ GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_FIRST_SLOT = 832,
164
+ GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED_BUCKETS = 8,
165
+ GRPC_STATS_HISTOGRAM_BUCKETS = 840
166
+ } grpc_stats_histogram_constants;
167
+ #define GRPC_STATS_INC_CLIENT_CALLS_CREATED(exec_ctx) \
168
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED)
169
+ #define GRPC_STATS_INC_SERVER_CALLS_CREATED(exec_ctx) \
170
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SERVER_CALLS_CREATED)
171
+ #define GRPC_STATS_INC_CQS_CREATED(exec_ctx) \
172
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_CQS_CREATED)
173
+ #define GRPC_STATS_INC_CLIENT_CHANNELS_CREATED(exec_ctx) \
174
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_CLIENT_CHANNELS_CREATED)
175
+ #define GRPC_STATS_INC_CLIENT_SUBCHANNELS_CREATED(exec_ctx) \
176
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
177
+ GRPC_STATS_COUNTER_CLIENT_SUBCHANNELS_CREATED)
178
+ #define GRPC_STATS_INC_SERVER_CHANNELS_CREATED(exec_ctx) \
179
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SERVER_CHANNELS_CREATED)
180
+ #define GRPC_STATS_INC_SYSCALL_POLL(exec_ctx) \
181
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_POLL)
182
+ #define GRPC_STATS_INC_SYSCALL_WAIT(exec_ctx) \
183
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_WAIT)
184
+ #define GRPC_STATS_INC_POLLSET_KICK(exec_ctx) \
185
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK)
186
+ #define GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER(exec_ctx) \
187
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
188
+ GRPC_STATS_COUNTER_POLLSET_KICKED_WITHOUT_POLLER)
189
+ #define GRPC_STATS_INC_POLLSET_KICKED_AGAIN(exec_ctx) \
190
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICKED_AGAIN)
191
+ #define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD(exec_ctx) \
192
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_FD)
193
+ #define GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV(exec_ctx) \
194
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_WAKEUP_CV)
195
+ #define GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD(exec_ctx) \
196
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_POLLSET_KICK_OWN_THREAD)
197
+ #define GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS(exec_ctx) \
198
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HISTOGRAM_SLOW_LOOKUPS)
199
+ #define GRPC_STATS_INC_SYSCALL_WRITE(exec_ctx) \
200
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_WRITE)
201
+ #define GRPC_STATS_INC_SYSCALL_READ(exec_ctx) \
202
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SYSCALL_READ)
203
+ #define GRPC_STATS_INC_TCP_BACKUP_POLLERS_CREATED(exec_ctx) \
204
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
205
+ GRPC_STATS_COUNTER_TCP_BACKUP_POLLERS_CREATED)
206
+ #define GRPC_STATS_INC_TCP_BACKUP_POLLER_POLLS(exec_ctx) \
207
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_TCP_BACKUP_POLLER_POLLS)
208
+ #define GRPC_STATS_INC_HTTP2_OP_BATCHES(exec_ctx) \
209
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_BATCHES)
210
+ #define GRPC_STATS_INC_HTTP2_OP_CANCEL(exec_ctx) \
211
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_CANCEL)
212
+ #define GRPC_STATS_INC_HTTP2_OP_SEND_INITIAL_METADATA(exec_ctx) \
213
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
214
+ GRPC_STATS_COUNTER_HTTP2_OP_SEND_INITIAL_METADATA)
215
+ #define GRPC_STATS_INC_HTTP2_OP_SEND_MESSAGE(exec_ctx) \
216
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_SEND_MESSAGE)
217
+ #define GRPC_STATS_INC_HTTP2_OP_SEND_TRAILING_METADATA(exec_ctx) \
218
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
219
+ GRPC_STATS_COUNTER_HTTP2_OP_SEND_TRAILING_METADATA)
220
+ #define GRPC_STATS_INC_HTTP2_OP_RECV_INITIAL_METADATA(exec_ctx) \
221
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
222
+ GRPC_STATS_COUNTER_HTTP2_OP_RECV_INITIAL_METADATA)
223
+ #define GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE(exec_ctx) \
224
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_OP_RECV_MESSAGE)
225
+ #define GRPC_STATS_INC_HTTP2_OP_RECV_TRAILING_METADATA(exec_ctx) \
226
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
227
+ GRPC_STATS_COUNTER_HTTP2_OP_RECV_TRAILING_METADATA)
228
+ #define GRPC_STATS_INC_HTTP2_SETTINGS_WRITES(exec_ctx) \
229
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_SETTINGS_WRITES)
230
+ #define GRPC_STATS_INC_HTTP2_PINGS_SENT(exec_ctx) \
231
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_PINGS_SENT)
232
+ #define GRPC_STATS_INC_HTTP2_WRITES_BEGUN(exec_ctx) \
233
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_BEGUN)
234
+ #define GRPC_STATS_INC_HTTP2_WRITES_OFFLOADED(exec_ctx) \
235
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_OFFLOADED)
236
+ #define GRPC_STATS_INC_HTTP2_WRITES_CONTINUED(exec_ctx) \
237
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_WRITES_CONTINUED)
238
+ #define GRPC_STATS_INC_HTTP2_PARTIAL_WRITES(exec_ctx) \
239
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HTTP2_PARTIAL_WRITES)
240
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE(exec_ctx) \
241
+ GRPC_STATS_INC_COUNTER( \
242
+ (exec_ctx), \
243
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_INITIAL_WRITE)
244
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM(exec_ctx) \
245
+ GRPC_STATS_INC_COUNTER( \
246
+ (exec_ctx), \
247
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_START_NEW_STREAM)
248
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE(exec_ctx) \
249
+ GRPC_STATS_INC_COUNTER( \
250
+ (exec_ctx), GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_MESSAGE)
251
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA( \
252
+ exec_ctx) \
253
+ GRPC_STATS_INC_COUNTER( \
254
+ (exec_ctx), \
255
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_INITIAL_METADATA)
256
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA( \
257
+ exec_ctx) \
258
+ GRPC_STATS_INC_COUNTER( \
259
+ (exec_ctx), \
260
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_TRAILING_METADATA)
261
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING(exec_ctx) \
262
+ GRPC_STATS_INC_COUNTER( \
263
+ (exec_ctx), \
264
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RETRY_SEND_PING)
265
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS(exec_ctx) \
266
+ GRPC_STATS_INC_COUNTER( \
267
+ (exec_ctx), \
268
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CONTINUE_PINGS)
269
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT(exec_ctx) \
270
+ GRPC_STATS_INC_COUNTER( \
271
+ (exec_ctx), GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_GOAWAY_SENT)
272
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM(exec_ctx) \
273
+ GRPC_STATS_INC_COUNTER( \
274
+ (exec_ctx), GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_RST_STREAM)
275
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API(exec_ctx) \
276
+ GRPC_STATS_INC_COUNTER( \
277
+ (exec_ctx), \
278
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_CLOSE_FROM_API)
279
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL( \
280
+ exec_ctx) \
281
+ GRPC_STATS_INC_COUNTER( \
282
+ (exec_ctx), \
283
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_STREAM_FLOW_CONTROL)
284
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL( \
285
+ exec_ctx) \
286
+ GRPC_STATS_INC_COUNTER( \
287
+ (exec_ctx), \
288
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL)
289
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS(exec_ctx) \
290
+ GRPC_STATS_INC_COUNTER( \
291
+ (exec_ctx), \
292
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS)
293
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING( \
294
+ exec_ctx) \
295
+ GRPC_STATS_INC_COUNTER( \
296
+ (exec_ctx), \
297
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING)
298
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING( \
299
+ exec_ctx) \
300
+ GRPC_STATS_INC_COUNTER( \
301
+ (exec_ctx), \
302
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING)
303
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE( \
304
+ exec_ctx) \
305
+ GRPC_STATS_INC_COUNTER( \
306
+ (exec_ctx), \
307
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_UPDATE)
308
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING(exec_ctx) \
309
+ GRPC_STATS_INC_COUNTER( \
310
+ (exec_ctx), \
311
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_APPLICATION_PING)
312
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING(exec_ctx) \
313
+ GRPC_STATS_INC_COUNTER( \
314
+ (exec_ctx), \
315
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_KEEPALIVE_PING)
316
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED( \
317
+ exec_ctx) \
318
+ GRPC_STATS_INC_COUNTER( \
319
+ (exec_ctx), \
320
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED)
321
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE(exec_ctx) \
322
+ GRPC_STATS_INC_COUNTER( \
323
+ (exec_ctx), \
324
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE)
325
+ #define GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM(exec_ctx) \
326
+ GRPC_STATS_INC_COUNTER( \
327
+ (exec_ctx), \
328
+ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM)
329
+ #define GRPC_STATS_INC_HPACK_RECV_INDEXED(exec_ctx) \
330
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_RECV_INDEXED)
331
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX(exec_ctx) \
332
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
333
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX)
334
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX_V(exec_ctx) \
335
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
336
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V)
337
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX(exec_ctx) \
338
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
339
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX)
340
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_NOTIDX_V(exec_ctx) \
341
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
342
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NOTIDX_V)
343
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX(exec_ctx) \
344
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
345
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX)
346
+ #define GRPC_STATS_INC_HPACK_RECV_LITHDR_NVRIDX_V(exec_ctx) \
347
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
348
+ GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_NVRIDX_V)
349
+ #define GRPC_STATS_INC_HPACK_RECV_UNCOMPRESSED(exec_ctx) \
350
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_RECV_UNCOMPRESSED)
351
+ #define GRPC_STATS_INC_HPACK_RECV_HUFFMAN(exec_ctx) \
352
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_RECV_HUFFMAN)
353
+ #define GRPC_STATS_INC_HPACK_RECV_BINARY(exec_ctx) \
354
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_RECV_BINARY)
355
+ #define GRPC_STATS_INC_HPACK_RECV_BINARY_BASE64(exec_ctx) \
356
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
357
+ GRPC_STATS_COUNTER_HPACK_RECV_BINARY_BASE64)
358
+ #define GRPC_STATS_INC_HPACK_SEND_INDEXED(exec_ctx) \
359
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_SEND_INDEXED)
360
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX(exec_ctx) \
361
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
362
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX)
363
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_INCIDX_V(exec_ctx) \
364
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
365
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_INCIDX_V)
366
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX(exec_ctx) \
367
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
368
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX)
369
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_NOTIDX_V(exec_ctx) \
370
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
371
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NOTIDX_V)
372
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX(exec_ctx) \
373
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
374
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX)
375
+ #define GRPC_STATS_INC_HPACK_SEND_LITHDR_NVRIDX_V(exec_ctx) \
376
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
377
+ GRPC_STATS_COUNTER_HPACK_SEND_LITHDR_NVRIDX_V)
378
+ #define GRPC_STATS_INC_HPACK_SEND_UNCOMPRESSED(exec_ctx) \
379
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_SEND_UNCOMPRESSED)
380
+ #define GRPC_STATS_INC_HPACK_SEND_HUFFMAN(exec_ctx) \
381
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_SEND_HUFFMAN)
382
+ #define GRPC_STATS_INC_HPACK_SEND_BINARY(exec_ctx) \
383
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_SEND_BINARY)
384
+ #define GRPC_STATS_INC_HPACK_SEND_BINARY_BASE64(exec_ctx) \
385
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
386
+ GRPC_STATS_COUNTER_HPACK_SEND_BINARY_BASE64)
387
+ #define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED(exec_ctx) \
388
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
389
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED)
390
+ #define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS(exec_ctx) \
391
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
392
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS)
393
+ #define GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS(exec_ctx) \
394
+ GRPC_STATS_INC_COUNTER( \
395
+ (exec_ctx), GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS)
396
+ #define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED(exec_ctx) \
397
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
398
+ GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED)
399
+ #define GRPC_STATS_INC_EXECUTOR_SCHEDULED_SHORT_ITEMS(exec_ctx) \
400
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
401
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS)
402
+ #define GRPC_STATS_INC_EXECUTOR_SCHEDULED_LONG_ITEMS(exec_ctx) \
403
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
404
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS)
405
+ #define GRPC_STATS_INC_EXECUTOR_SCHEDULED_TO_SELF(exec_ctx) \
406
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
407
+ GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF)
408
+ #define GRPC_STATS_INC_EXECUTOR_WAKEUP_INITIATED(exec_ctx) \
409
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
410
+ GRPC_STATS_COUNTER_EXECUTOR_WAKEUP_INITIATED)
411
+ #define GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED(exec_ctx) \
412
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_EXECUTOR_QUEUE_DRAINED)
413
+ #define GRPC_STATS_INC_EXECUTOR_PUSH_RETRIES(exec_ctx) \
414
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES)
415
+ #define GRPC_STATS_INC_SERVER_REQUESTED_CALLS(exec_ctx) \
416
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS)
417
+ #define GRPC_STATS_INC_SERVER_SLOWPATH_REQUESTS_QUEUED(exec_ctx) \
418
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
419
+ GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED)
420
+ #define GRPC_STATS_INC_CALL_INITIAL_SIZE(exec_ctx, value) \
421
+ grpc_stats_inc_call_initial_size((exec_ctx), (int)(value))
422
+ void grpc_stats_inc_call_initial_size(grpc_exec_ctx *exec_ctx, int x);
423
+ #define GRPC_STATS_INC_POLL_EVENTS_RETURNED(exec_ctx, value) \
424
+ grpc_stats_inc_poll_events_returned((exec_ctx), (int)(value))
425
+ void grpc_stats_inc_poll_events_returned(grpc_exec_ctx *exec_ctx, int x);
426
+ #define GRPC_STATS_INC_TCP_WRITE_SIZE(exec_ctx, value) \
427
+ grpc_stats_inc_tcp_write_size((exec_ctx), (int)(value))
428
+ void grpc_stats_inc_tcp_write_size(grpc_exec_ctx *exec_ctx, int x);
429
+ #define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(exec_ctx, value) \
430
+ grpc_stats_inc_tcp_write_iov_size((exec_ctx), (int)(value))
431
+ void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx *exec_ctx, int x);
432
+ #define GRPC_STATS_INC_TCP_READ_SIZE(exec_ctx, value) \
433
+ grpc_stats_inc_tcp_read_size((exec_ctx), (int)(value))
434
+ void grpc_stats_inc_tcp_read_size(grpc_exec_ctx *exec_ctx, int x);
435
+ #define GRPC_STATS_INC_TCP_READ_OFFER(exec_ctx, value) \
436
+ grpc_stats_inc_tcp_read_offer((exec_ctx), (int)(value))
437
+ void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx *exec_ctx, int x);
438
+ #define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(exec_ctx, value) \
439
+ grpc_stats_inc_tcp_read_offer_iov_size((exec_ctx), (int)(value))
440
+ void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx *exec_ctx, int x);
441
+ #define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(exec_ctx, value) \
442
+ grpc_stats_inc_http2_send_message_size((exec_ctx), (int)(value))
443
+ void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx *exec_ctx, int x);
444
+ #define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(exec_ctx, value) \
445
+ grpc_stats_inc_http2_send_initial_metadata_per_write((exec_ctx), (int)(value))
446
+ void grpc_stats_inc_http2_send_initial_metadata_per_write(
447
+ grpc_exec_ctx *exec_ctx, int x);
448
+ #define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(exec_ctx, value) \
449
+ grpc_stats_inc_http2_send_message_per_write((exec_ctx), (int)(value))
450
+ void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx *exec_ctx,
451
+ int x);
452
+ #define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(exec_ctx, value) \
453
+ grpc_stats_inc_http2_send_trailing_metadata_per_write((exec_ctx), \
454
+ (int)(value))
455
+ void grpc_stats_inc_http2_send_trailing_metadata_per_write(
456
+ grpc_exec_ctx *exec_ctx, int x);
457
+ #define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(exec_ctx, value) \
458
+ grpc_stats_inc_http2_send_flowctl_per_write((exec_ctx), (int)(value))
459
+ void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx *exec_ctx,
460
+ int x);
461
+ #define GRPC_STATS_INC_SERVER_CQS_CHECKED(exec_ctx, value) \
462
+ grpc_stats_inc_server_cqs_checked((exec_ctx), (int)(value))
463
+ void grpc_stats_inc_server_cqs_checked(grpc_exec_ctx *exec_ctx, int x);
464
+ extern const int grpc_stats_histo_buckets[13];
465
+ extern const int grpc_stats_histo_start[13];
466
+ extern const int *const grpc_stats_histo_bucket_boundaries[13];
467
+ extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx,
468
+ int x);
469
+
470
+ #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */