couchbase 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/ext/CMakeLists.txt +4 -1
  4. data/ext/cache/extconf_include.rb +4 -3
  5. data/ext/cache/mozilla-ca-bundle.crt +66 -93
  6. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  7. data/ext/couchbase/CMakeLists.txt +24 -11
  8. data/ext/couchbase/cmake/APKBUILD.in +17 -1
  9. data/ext/couchbase/cmake/Bundler.cmake +9 -1
  10. data/ext/couchbase/cmake/Cache.cmake +48 -19
  11. data/ext/couchbase/cmake/CompilerOptions.cmake +3 -1
  12. data/ext/couchbase/cmake/OpenSSL.cmake +10 -2
  13. data/ext/couchbase/cmake/Packaging.cmake +48 -8
  14. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +43 -1
  15. data/ext/couchbase/cmake/build_config.hxx.in +2 -0
  16. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +18 -0
  17. data/ext/couchbase/cmake/tarball_glob.txt +10 -0
  18. data/ext/couchbase/core/app_telemetry_meter.cxx +1 -0
  19. data/ext/couchbase/core/app_telemetry_reporter.cxx +45 -43
  20. data/ext/couchbase/core/app_telemetry_reporter.hxx +4 -3
  21. data/ext/couchbase/core/bucket.cxx +128 -13
  22. data/ext/couchbase/core/bucket.hxx +12 -2
  23. data/ext/couchbase/core/cluster.cxx +304 -152
  24. data/ext/couchbase/core/cluster.hxx +32 -0
  25. data/ext/couchbase/core/cluster_credentials.cxx +25 -0
  26. data/ext/couchbase/core/cluster_credentials.hxx +5 -0
  27. data/ext/couchbase/core/cluster_label_listener.cxx +72 -0
  28. data/ext/couchbase/core/cluster_label_listener.hxx +46 -0
  29. data/ext/couchbase/core/cluster_options.hxx +4 -0
  30. data/ext/couchbase/core/deprecation_utils.hxx +26 -0
  31. data/ext/couchbase/core/error.hxx +27 -0
  32. data/ext/couchbase/core/free_form_http_request.hxx +0 -2
  33. data/ext/couchbase/core/http_component.cxx +12 -48
  34. data/ext/couchbase/core/impl/analytics.cxx +3 -2
  35. data/ext/couchbase/core/impl/analytics.hxx +2 -1
  36. data/ext/couchbase/core/impl/analytics_index_manager.cxx +249 -137
  37. data/ext/couchbase/core/impl/binary_collection.cxx +134 -58
  38. data/ext/couchbase/core/impl/bucket_manager.cxx +87 -35
  39. data/ext/couchbase/core/impl/collection.cxx +560 -245
  40. data/ext/couchbase/core/impl/collection_manager.cxx +89 -49
  41. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +4 -4
  42. data/ext/couchbase/core/impl/error.cxx +20 -13
  43. data/ext/couchbase/core/impl/error.hxx +15 -10
  44. data/ext/couchbase/core/impl/get_all_replicas.hxx +1 -1
  45. data/ext/couchbase/core/impl/get_any_replica.hxx +2 -1
  46. data/ext/couchbase/core/impl/get_replica.hxx +2 -0
  47. data/ext/couchbase/core/impl/lookup_in_replica.hxx +1 -1
  48. data/ext/couchbase/core/impl/observability_recorder.cxx +161 -0
  49. data/ext/couchbase/core/impl/observability_recorder.hxx +77 -0
  50. data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
  51. data/ext/couchbase/core/impl/public_bucket.cxx +31 -7
  52. data/ext/couchbase/core/impl/public_cluster.cxx +107 -19
  53. data/ext/couchbase/core/impl/query.cxx +6 -3
  54. data/ext/couchbase/core/impl/query.hxx +3 -1
  55. data/ext/couchbase/core/impl/query_index_manager.cxx +267 -102
  56. data/ext/couchbase/core/impl/scope.cxx +53 -11
  57. data/ext/couchbase/core/impl/search.cxx +8 -4
  58. data/ext/couchbase/core/impl/search.hxx +6 -2
  59. data/ext/couchbase/core/impl/search_index_manager.cxx +131 -41
  60. data/ext/couchbase/core/impl/with_cancellation.hxx +75 -0
  61. data/ext/couchbase/core/io/config_tracker.cxx +9 -9
  62. data/ext/couchbase/core/io/config_tracker.hxx +2 -1
  63. data/ext/couchbase/core/io/http_command.hxx +98 -49
  64. data/ext/couchbase/core/io/http_context.hxx +2 -0
  65. data/ext/couchbase/core/io/http_session.cxx +23 -10
  66. data/ext/couchbase/core/io/http_session.hxx +17 -9
  67. data/ext/couchbase/core/io/http_session_manager.hxx +163 -228
  68. data/ext/couchbase/core/io/http_traits.hxx +0 -7
  69. data/ext/couchbase/core/io/mcbp_command.hxx +123 -44
  70. data/ext/couchbase/core/io/mcbp_session.cxx +251 -26
  71. data/ext/couchbase/core/io/mcbp_session.hxx +9 -1
  72. data/ext/couchbase/core/io/mcbp_traits.hxx +0 -8
  73. data/ext/couchbase/core/io/streams.cxx +3 -3
  74. data/ext/couchbase/core/io/streams.hxx +3 -2
  75. data/ext/couchbase/core/meta/features.hxx +15 -0
  76. data/ext/couchbase/core/meta/version.cxx +13 -0
  77. data/ext/couchbase/core/meta/version.hxx +3 -0
  78. data/ext/couchbase/core/metrics/constants.hxx +23 -0
  79. data/ext/couchbase/core/metrics/logging_meter.cxx +5 -5
  80. data/ext/couchbase/core/metrics/meter_wrapper.cxx +65 -63
  81. data/ext/couchbase/core/metrics/meter_wrapper.hxx +12 -10
  82. data/ext/couchbase/core/operations/document_analytics.hxx +0 -5
  83. data/ext/couchbase/core/operations/document_append.hxx +0 -4
  84. data/ext/couchbase/core/operations/document_decrement.hxx +0 -5
  85. data/ext/couchbase/core/operations/document_exists.hxx +0 -7
  86. data/ext/couchbase/core/operations/document_get.hxx +0 -7
  87. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +77 -27
  88. data/ext/couchbase/core/operations/document_get_and_lock.hxx +0 -9
  89. data/ext/couchbase/core/operations/document_get_and_touch.hxx +0 -9
  90. data/ext/couchbase/core/operations/document_get_any_replica.hxx +83 -2
  91. data/ext/couchbase/core/operations/document_get_projected.hxx +0 -9
  92. data/ext/couchbase/core/operations/document_increment.hxx +0 -5
  93. data/ext/couchbase/core/operations/document_insert.hxx +0 -4
  94. data/ext/couchbase/core/operations/document_lookup_in.hxx +0 -9
  95. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +46 -4
  96. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +121 -43
  97. data/ext/couchbase/core/operations/document_mutate_in.hxx +0 -5
  98. data/ext/couchbase/core/operations/document_prepend.hxx +0 -4
  99. data/ext/couchbase/core/operations/document_query.hxx +0 -4
  100. data/ext/couchbase/core/operations/document_remove.hxx +0 -4
  101. data/ext/couchbase/core/operations/document_replace.hxx +0 -4
  102. data/ext/couchbase/core/operations/document_search.hxx +0 -7
  103. data/ext/couchbase/core/operations/document_touch.hxx +0 -7
  104. data/ext/couchbase/core/operations/document_unlock.hxx +0 -6
  105. data/ext/couchbase/core/operations/document_upsert.hxx +0 -4
  106. data/ext/couchbase/core/operations/document_view.cxx +2 -0
  107. data/ext/couchbase/core/operations/document_view.hxx +10 -13
  108. data/ext/couchbase/core/operations/http_noop.hxx +2 -0
  109. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +2 -0
  110. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +2 -0
  111. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +2 -0
  112. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +2 -0
  113. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +2 -0
  114. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  115. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +2 -0
  116. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +2 -0
  117. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +2 -0
  118. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +2 -0
  119. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +2 -0
  120. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +2 -0
  121. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +2 -0
  122. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +2 -0
  123. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +2 -0
  124. data/ext/couchbase/core/operations/management/bucket_create.hxx +2 -0
  125. data/ext/couchbase/core/operations/management/bucket_describe.hxx +2 -0
  126. data/ext/couchbase/core/operations/management/bucket_drop.hxx +2 -0
  127. data/ext/couchbase/core/operations/management/bucket_flush.hxx +2 -0
  128. data/ext/couchbase/core/operations/management/bucket_get.hxx +2 -0
  129. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +2 -0
  130. data/ext/couchbase/core/operations/management/bucket_update.hxx +2 -0
  131. data/ext/couchbase/core/operations/management/change_password.hxx +2 -0
  132. data/ext/couchbase/core/operations/management/cluster_describe.hxx +2 -0
  133. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +2 -0
  134. data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
  135. data/ext/couchbase/core/operations/management/collection_drop.hxx +2 -0
  136. data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
  137. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
  138. data/ext/couchbase/core/operations/management/error_utils.cxx +4 -1
  139. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +2 -0
  140. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +2 -0
  141. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +2 -0
  142. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +2 -0
  143. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +2 -0
  144. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +2 -0
  145. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +2 -0
  146. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +2 -0
  147. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +2 -0
  148. data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
  149. data/ext/couchbase/core/operations/management/group_drop.hxx +2 -0
  150. data/ext/couchbase/core/operations/management/group_get.hxx +2 -0
  151. data/ext/couchbase/core/operations/management/group_get_all.hxx +2 -0
  152. data/ext/couchbase/core/operations/management/group_upsert.hxx +2 -0
  153. data/ext/couchbase/core/operations/management/query_index_build.hxx +2 -0
  154. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +68 -30
  155. data/ext/couchbase/core/operations/management/query_index_create.hxx +2 -0
  156. data/ext/couchbase/core/operations/management/query_index_drop.hxx +2 -0
  157. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +4 -3
  158. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +2 -1
  159. data/ext/couchbase/core/operations/management/role_get_all.hxx +2 -0
  160. data/ext/couchbase/core/operations/management/scope_create.hxx +2 -0
  161. data/ext/couchbase/core/operations/management/scope_drop.hxx +2 -0
  162. data/ext/couchbase/core/operations/management/scope_get_all.hxx +2 -0
  163. data/ext/couchbase/core/operations/management/search_get_stats.hxx +2 -0
  164. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +2 -0
  165. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +2 -0
  166. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +2 -0
  167. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +2 -0
  168. data/ext/couchbase/core/operations/management/search_index_drop.hxx +2 -0
  169. data/ext/couchbase/core/operations/management/search_index_get.hxx +2 -0
  170. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +2 -0
  171. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
  172. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +2 -0
  173. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +2 -0
  174. data/ext/couchbase/core/operations/management/user_drop.hxx +2 -0
  175. data/ext/couchbase/core/operations/management/user_get.hxx +2 -0
  176. data/ext/couchbase/core/operations/management/user_get_all.hxx +2 -0
  177. data/ext/couchbase/core/operations/management/user_upsert.hxx +2 -0
  178. data/ext/couchbase/core/operations/management/view_index_drop.hxx +2 -0
  179. data/ext/couchbase/core/operations/management/view_index_get.hxx +2 -0
  180. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
  181. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +2 -0
  182. data/ext/couchbase/core/operations/operation_traits.hxx +6 -0
  183. data/ext/couchbase/core/operations.hxx +0 -1
  184. data/ext/couchbase/core/operations_fwd.hxx +8 -0
  185. data/ext/couchbase/core/origin.cxx +67 -12
  186. data/ext/couchbase/core/origin.hxx +13 -8
  187. data/ext/couchbase/core/orphan_reporter.cxx +164 -0
  188. data/ext/couchbase/core/orphan_reporter.hxx +65 -0
  189. data/ext/couchbase/core/sasl/CMakeLists.txt +1 -0
  190. data/ext/couchbase/core/sasl/client.cc +6 -0
  191. data/ext/couchbase/core/sasl/mechanism.cc +2 -1
  192. data/ext/couchbase/core/sasl/mechanism.h +2 -1
  193. data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.cc +41 -0
  194. data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.h +47 -0
  195. data/ext/couchbase/core/tls_context_provider.cxx +44 -0
  196. data/ext/couchbase/core/tls_context_provider.hxx +44 -0
  197. data/ext/couchbase/core/tracing/attribute_helpers.hxx +45 -0
  198. data/ext/couchbase/core/tracing/constants.hxx +148 -68
  199. data/ext/couchbase/core/tracing/threshold_logging_options.hxx +0 -3
  200. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +122 -170
  201. data/ext/couchbase/core/tracing/tracer_wrapper.cxx +17 -24
  202. data/ext/couchbase/core/tracing/tracer_wrapper.hxx +8 -10
  203. data/ext/couchbase/core/tracing/wrapper_sdk_tracer.cxx +114 -0
  204. data/ext/couchbase/core/tracing/wrapper_sdk_tracer.hxx +85 -0
  205. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +16 -14
  206. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +4 -4
  207. data/ext/couchbase/core/transactions/transactions.cxx +1 -1
  208. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +1 -2
  209. data/ext/couchbase/core/utils/byteswap.hxx +12 -0
  210. data/ext/couchbase/core/utils/concurrent_fixed_priority_queue.hxx +102 -0
  211. data/ext/couchbase/core/utils/connection_string.cxx +2 -0
  212. data/ext/couchbase/couchbase/certificate_authenticator.hxx +1 -0
  213. data/ext/couchbase/couchbase/cluster.hxx +47 -0
  214. data/ext/couchbase/couchbase/cluster_options.hxx +16 -0
  215. data/ext/couchbase/couchbase/collection.hxx +60 -15
  216. data/ext/couchbase/couchbase/error_codes.hxx +48 -48
  217. data/ext/couchbase/couchbase/jwt_authenticator.hxx +52 -0
  218. data/ext/couchbase/couchbase/metrics/meter.hxx +2 -1
  219. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +75 -80
  220. data/ext/couchbase/couchbase/network_options.hxx +19 -0
  221. data/ext/couchbase/couchbase/password_authenticator.hxx +1 -0
  222. data/ext/couchbase/couchbase/tracing/otel_tracer.hxx +15 -17
  223. data/ext/couchbase/couchbase/tracing/request_span.hxx +2 -2
  224. data/ext/couchbase.cxx +4 -0
  225. data/ext/extconf.rb +1 -0
  226. data/ext/rcb_analytics.cxx +157 -47
  227. data/ext/rcb_backend.cxx +118 -71
  228. data/ext/rcb_buckets.cxx +39 -16
  229. data/ext/rcb_collections.cxx +36 -12
  230. data/ext/rcb_crud.cxx +587 -294
  231. data/ext/rcb_hdr_histogram.cxx +219 -0
  232. data/ext/rcb_hdr_histogram.hxx +28 -0
  233. data/ext/rcb_multi.cxx +142 -59
  234. data/ext/rcb_observability.cxx +132 -0
  235. data/ext/rcb_observability.hxx +49 -0
  236. data/ext/rcb_query.cxx +77 -27
  237. data/ext/rcb_search.cxx +92 -31
  238. data/ext/rcb_users.cxx +69 -26
  239. data/ext/rcb_utils.cxx +91 -0
  240. data/ext/rcb_utils.hxx +141 -168
  241. data/ext/rcb_views.cxx +36 -12
  242. data/lib/active_support/cache/couchbase_store.rb +6 -6
  243. data/lib/couchbase/authenticator.rb +14 -0
  244. data/lib/couchbase/binary_collection.rb +37 -22
  245. data/lib/couchbase/bucket.rb +46 -31
  246. data/lib/couchbase/cluster.rb +146 -61
  247. data/lib/couchbase/collection.rb +257 -186
  248. data/lib/couchbase/datastructures/couchbase_list.rb +81 -50
  249. data/lib/couchbase/datastructures/couchbase_map.rb +86 -50
  250. data/lib/couchbase/datastructures/couchbase_queue.rb +64 -38
  251. data/lib/couchbase/datastructures/couchbase_set.rb +57 -41
  252. data/lib/couchbase/deprecations.rb +1 -1
  253. data/lib/couchbase/diagnostics.rb +8 -8
  254. data/lib/couchbase/errors.rb +6 -0
  255. data/lib/couchbase/management/analytics_index_manager.rb +90 -59
  256. data/lib/couchbase/management/bucket_manager.rb +73 -45
  257. data/lib/couchbase/management/collection_manager.rb +86 -43
  258. data/lib/couchbase/management/collection_query_index_manager.rb +56 -33
  259. data/lib/couchbase/management/query_index_manager.rb +88 -36
  260. data/lib/couchbase/management/scope_search_index_manager.rb +119 -52
  261. data/lib/couchbase/management/search_index_manager.rb +401 -178
  262. data/lib/couchbase/management/user_manager.rb +343 -174
  263. data/lib/couchbase/management/view_index_manager.rb +166 -73
  264. data/lib/couchbase/metrics/logging_meter.rb +108 -0
  265. data/lib/couchbase/metrics/logging_value_recorder.rb +50 -0
  266. data/lib/couchbase/metrics/meter.rb +27 -0
  267. data/lib/couchbase/metrics/noop_meter.rb +30 -0
  268. data/lib/couchbase/metrics/noop_value_recorder.rb +27 -0
  269. data/lib/couchbase/metrics/value_recorder.rb +25 -0
  270. data/lib/couchbase/options.rb +69 -3
  271. data/lib/couchbase/protostellar/cluster.rb +3 -0
  272. data/lib/couchbase/scope.rb +62 -48
  273. data/lib/couchbase/search_options.rb +18 -18
  274. data/lib/couchbase/tracing/noop_span.rb +29 -0
  275. data/lib/couchbase/tracing/noop_tracer.rb +29 -0
  276. data/lib/couchbase/tracing/request_span.rb +34 -0
  277. data/lib/couchbase/tracing/request_tracer.rb +28 -0
  278. data/lib/couchbase/tracing/threshold_logging_span.rb +112 -0
  279. data/lib/couchbase/tracing/threshold_logging_tracer.rb +231 -0
  280. data/lib/couchbase/utils/hdr_histogram.rb +55 -0
  281. data/lib/couchbase/utils/observability.rb +257 -0
  282. data/lib/couchbase/utils/observability_constants.rb +200 -0
  283. data/lib/couchbase/utils/stdlib_logger_adapter.rb +1 -3
  284. data/lib/couchbase/version.rb +1 -1
  285. data/lib/couchbase.rb +2 -2
  286. metadata +58 -6
@@ -23,6 +23,7 @@
23
23
  #include "core/io/retry_context.hxx"
24
24
  #include "core/protocol/client_request.hxx"
25
25
  #include "core/protocol/cmd_get_collections_manifest.hxx"
26
+ #include "core/public_fwd.hxx"
26
27
  #include "core/timeout_defaults.hxx"
27
28
  #include "core/topology/collections_manifest.hxx"
28
29
 
@@ -48,6 +49,7 @@ struct collections_manifest_get_request {
48
49
 
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
  io::retry_context<true> retries{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  mcbp_context&& /* context */) const;
@@ -46,6 +46,9 @@ extract_common_query_error_code(std::uint64_t code, const std::string& message)
46
46
  -> std::optional<std::error_code>
47
47
  {
48
48
  switch (code) {
49
+ case 3000: /* ICode: E_PARSE_SYNTAX, IKey: "parse.syntax_error" */
50
+ return errc::common::parsing_failure;
51
+
49
52
  case 1191: /* ICode: E_SERVICE_USER_REQUEST_EXCEEDED, IKey: "service.requests.exceeded" */
50
53
  case 1192: /* ICode: E_SERVICE_USER_REQUEST_RATE_EXCEEDED, IKey: "service.request.rate.exceeded"
51
54
  */
@@ -55,7 +58,7 @@ extract_common_query_error_code(std::uint64_t code, const std::string& message)
55
58
  */
56
59
  return errc::common::rate_limited;
57
60
 
58
- case 13014: /*ICode: E_DATASTORE_INSUFFICIENT_CREDENTIALS, IKey:
61
+ case 13014: /* ICode: E_DATASTORE_INSUFFICIENT_CREDENTIALS, IKey:
59
62
  "datastore.couchbase.insufficient_credentials" */
60
63
  return errc::common::authentication_failure;
61
64
 
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_deploy_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_drop_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -47,6 +48,7 @@ struct eventing_get_all_functions_request {
47
48
 
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
51
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
50
52
 
51
53
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
52
54
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_get_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -23,6 +23,7 @@
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/management/eventing_status.hxx"
25
25
  #include "core/platform/uuid.h"
26
+ #include "core/public_fwd.hxx"
26
27
  #include "core/timeout_defaults.hxx"
27
28
  #include "eventing_problem.hxx"
28
29
 
@@ -49,6 +50,7 @@ struct eventing_get_status_request {
49
50
 
50
51
  std::optional<std::string> client_context_id{};
51
52
  std::optional<std::chrono::milliseconds> timeout{};
53
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
52
54
 
53
55
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
54
56
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_pause_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_resume_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_undeploy_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/eventing_function.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
  #include "eventing_problem.hxx"
27
28
 
@@ -48,6 +49,7 @@ struct eventing_upsert_function_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/service_type.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
@@ -49,6 +50,7 @@ struct freeform_request {
49
50
 
50
51
  std::optional<std::string> client_context_id{};
51
52
  std::optional<std::chrono::milliseconds> timeout{};
53
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
52
54
 
53
55
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
54
56
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -42,6 +43,7 @@ struct group_drop_request {
42
43
 
43
44
  std::optional<std::string> client_context_id{};
44
45
  std::optional<std::chrono::milliseconds> timeout{};
46
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
45
47
 
46
48
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
47
49
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/rbac.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
27
28
  namespace couchbase::core::operations::management
@@ -44,6 +45,7 @@ struct group_get_request {
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
48
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
47
49
 
48
50
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
49
51
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/rbac.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
27
28
  namespace couchbase::core::operations::management
@@ -42,6 +43,7 @@ struct group_get_all_request {
42
43
 
43
44
  std::optional<std::string> client_context_id{};
44
45
  std::optional<std::chrono::milliseconds> timeout{};
46
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
45
47
 
46
48
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
47
49
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/rbac.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
27
28
  namespace couchbase::core::operations::management
@@ -44,6 +45,7 @@ struct group_upsert_request {
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
48
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
47
49
 
48
50
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
49
51
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/query_context.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
@@ -55,6 +56,7 @@ struct query_index_build_request {
55
56
 
56
57
  std::optional<std::string> client_context_id{};
57
58
  std::optional<std::chrono::milliseconds> timeout{};
59
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
58
60
 
59
61
  [[nodiscard]] auto encode_to(encoded_request_type& encoded, http_context& context) const
60
62
  -> std::error_code;
@@ -21,7 +21,9 @@
21
21
  #include "core/operations/management/query_index_build.hxx"
22
22
  #include "core/operations/management/query_index_get_all_deferred.hxx"
23
23
  #include "core/operations/operation_traits.hxx"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/query_context.hxx"
26
+ #include "core/tracing/constants.hxx"
25
27
  #include "couchbase/management/query_index.hxx"
26
28
 
27
29
  namespace couchbase::core::operations
@@ -56,6 +58,7 @@ struct query_index_build_deferred_request {
56
58
 
57
59
  std::optional<std::string> client_context_id{};
58
60
  std::optional<std::chrono::milliseconds> timeout{};
61
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
59
62
 
60
63
  [[nodiscard]] response_type make_response(error_context::http&& ctx,
61
64
  const encoded_response_type& /* encoded */) const
@@ -85,36 +88,71 @@ struct query_index_build_deferred_request {
85
88
  template<typename Core, typename Handler>
86
89
  void execute(Core core, Handler handler)
87
90
  {
88
- core->execute(query_index_get_all_deferred_request{ bucket_name,
89
- scope_name.value_or(""),
90
- collection_name.value_or(""),
91
- query_ctx,
92
- client_context_id,
93
- timeout },
94
- [core,
95
- handler = std::move(handler),
96
- bucket_name = bucket_name,
97
- scope_name = scope_name.value_or(""),
98
- collection_name = collection_name.value_or(""),
99
- query_ctx = query_ctx,
100
- client_context_id = client_context_id,
101
- timeout = timeout](query_index_get_all_deferred_response resp1) mutable {
102
- auto list_resp = std::move(resp1);
103
- if (list_resp.ctx.ec || list_resp.index_names.empty()) {
104
- return handler(convert_response(std::move(list_resp)));
105
- }
106
- core->execute(query_index_build_request{ std::move(bucket_name),
107
- scope_name,
108
- collection_name,
109
- query_ctx,
110
- std::move(list_resp.index_names),
111
- client_context_id,
112
- timeout },
113
- [handler = std::move(handler)](
114
- query_index_build_response build_resp) mutable {
115
- return handler(convert_response(std::move(build_resp)));
116
- });
117
- });
91
+ auto get_deferred_indexes_span = core->tracer()->create_span(
92
+ tracing::operation::mgr_query_get_all_deferred_indexes, parent_span);
93
+ if (get_deferred_indexes_span->uses_tags()) {
94
+ get_deferred_indexes_span->add_tag(tracing::attributes::op::service, tracing::service::query);
95
+ get_deferred_indexes_span->add_tag(tracing::attributes::op::bucket_name, bucket_name);
96
+ if (scope_name.has_value()) {
97
+ get_deferred_indexes_span->add_tag(tracing::attributes::op::scope_name, scope_name.value());
98
+ }
99
+ if (collection_name.has_value()) {
100
+ get_deferred_indexes_span->add_tag(tracing::attributes::op::collection_name,
101
+ collection_name.value());
102
+ }
103
+ }
104
+ core->execute(
105
+ query_index_get_all_deferred_request{ bucket_name,
106
+ scope_name.value_or(""),
107
+ collection_name.value_or(""),
108
+ query_ctx,
109
+ client_context_id,
110
+ timeout,
111
+ get_deferred_indexes_span },
112
+ [core,
113
+ handler = std::move(handler),
114
+ bucket_name = bucket_name,
115
+ scope_name = scope_name.value_or(""),
116
+ collection_name = collection_name.value_or(""),
117
+ query_ctx = query_ctx,
118
+ client_context_id = client_context_id,
119
+ timeout = timeout,
120
+ get_deferred_indexes_span = std::move(get_deferred_indexes_span)](
121
+ query_index_get_all_deferred_response resp1) mutable {
122
+ get_deferred_indexes_span->end();
123
+ auto list_resp = std::move(resp1);
124
+ if (list_resp.ctx.ec || list_resp.index_names.empty()) {
125
+ return handler(convert_response(std::move(list_resp)));
126
+ }
127
+
128
+ auto build_indexes_span = core->tracer()->create_span(
129
+ tracing::operation::mgr_query_build_indexes, get_deferred_indexes_span);
130
+ if (build_indexes_span->uses_tags()) {
131
+ build_indexes_span->add_tag(tracing::attributes::op::service, tracing::service::query);
132
+ build_indexes_span->add_tag(tracing::attributes::op::bucket_name, bucket_name);
133
+ if (!scope_name.empty()) {
134
+ build_indexes_span->add_tag(tracing::attributes::op::scope_name, scope_name);
135
+ }
136
+ if (!collection_name.empty()) {
137
+ build_indexes_span->add_tag(tracing::attributes::op::collection_name, collection_name);
138
+ }
139
+ }
140
+
141
+ core->execute(
142
+ query_index_build_request{ std::move(bucket_name),
143
+ scope_name,
144
+ collection_name,
145
+ query_ctx,
146
+ std::move(list_resp.index_names),
147
+ client_context_id,
148
+ timeout,
149
+ build_indexes_span },
150
+ [handler = std::move(handler), build_indexes_span = std::move(build_indexes_span)](
151
+ query_index_build_response build_resp) mutable {
152
+ build_indexes_span->end();
153
+ return handler(convert_response(std::move(build_resp)));
154
+ });
155
+ });
118
156
  }
119
157
  };
120
158
  } // namespace management
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/query_context.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
@@ -60,6 +61,7 @@ struct query_index_create_request {
60
61
 
61
62
  std::optional<std::string> client_context_id{};
62
63
  std::optional<std::chrono::milliseconds> timeout{};
64
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
63
65
 
64
66
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
65
67
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/query_context.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
@@ -56,6 +57,7 @@ struct query_index_drop_request {
56
57
 
57
58
  std::optional<std::string> client_context_id{};
58
59
  std::optional<std::chrono::milliseconds> timeout{};
60
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
59
61
 
60
62
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
61
63
  http_context& context) const;
@@ -17,13 +17,13 @@
17
17
 
18
18
  #pragma once
19
19
 
20
+ #include <couchbase/management/query_index.hxx>
21
+
20
22
  #include "core/error_context/http.hxx"
21
23
  #include "core/io/http_context.hxx"
22
24
  #include "core/io/http_message.hxx"
23
- #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
24
26
  #include "core/query_context.hxx"
25
- #include "core/timeout_defaults.hxx"
26
- #include "couchbase/management/query_index.hxx"
27
27
 
28
28
  namespace couchbase::core::operations::management
29
29
  {
@@ -50,6 +50,7 @@ struct query_index_get_all_request {
50
50
  query_context query_ctx;
51
51
  std::optional<std::string> client_context_id{};
52
52
  std::optional<std::chrono::milliseconds> timeout{};
53
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
53
54
 
54
55
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
55
56
  http_context& context) const;
@@ -21,9 +21,9 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/query_context.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
- #include "couchbase/management/query_index.hxx"
27
27
 
28
28
  namespace couchbase::core::operations::management
29
29
  {
@@ -51,6 +51,7 @@ struct query_index_get_all_deferred_request {
51
51
  query_context query_ctx;
52
52
  std::optional<std::string> client_context_id{};
53
53
  std::optional<std::chrono::milliseconds> timeout{};
54
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
54
55
 
55
56
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
56
57
  http_context& context) const;
@@ -22,6 +22,7 @@
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/management/rbac.hxx"
24
24
  #include "core/platform/uuid.h"
25
+ #include "core/public_fwd.hxx"
25
26
  #include "core/timeout_defaults.hxx"
26
27
 
27
28
  namespace couchbase::core::operations::management
@@ -42,6 +43,7 @@ struct role_get_all_request {
42
43
 
43
44
  std::optional<std::string> client_context_id{};
44
45
  std::optional<std::chrono::milliseconds> timeout{};
46
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
45
47
 
46
48
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
47
49
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -44,6 +45,7 @@ struct scope_create_request {
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
48
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
47
49
 
48
50
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
49
51
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -44,6 +45,7 @@ struct scope_drop_request {
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
48
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
47
49
 
48
50
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
49
51
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
  #include "core/topology/collections_manifest.hxx"
26
27
 
@@ -44,6 +45,7 @@ struct scope_get_all_request {
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
48
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
47
49
 
48
50
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
49
51
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -41,6 +42,7 @@ struct search_get_stats_request {
41
42
 
42
43
  std::optional<std::string> client_context_id{};
43
44
  std::optional<std::chrono::milliseconds> timeout{};
45
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
44
46
 
45
47
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
46
48
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -49,6 +50,7 @@ struct search_index_analyze_document_request {
49
50
 
50
51
  std::optional<std::string> client_context_id{};
51
52
  std::optional<std::chrono::milliseconds> timeout{};
53
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
52
54
 
53
55
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
54
56
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -48,6 +49,7 @@ struct search_index_control_ingest_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations
@@ -50,6 +51,7 @@ struct search_index_control_plan_freeze_request {
50
51
 
51
52
  std::optional<std::string> client_context_id{};
52
53
  std::optional<std::chrono::milliseconds> timeout{};
54
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
53
55
 
54
56
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
55
57
  http_context& context) const;
@@ -21,6 +21,7 @@
21
21
  #include "core/io/http_context.hxx"
22
22
  #include "core/io/http_message.hxx"
23
23
  #include "core/platform/uuid.h"
24
+ #include "core/public_fwd.hxx"
24
25
  #include "core/timeout_defaults.hxx"
25
26
 
26
27
  namespace couchbase::core::operations::management
@@ -48,6 +49,7 @@ struct search_index_control_query_request {
48
49
 
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
52
+ std::shared_ptr<couchbase::tracing::request_span> parent_span{ nullptr };
51
53
 
52
54
  [[nodiscard]] std::error_code encode_to(encoded_request_type& encoded,
53
55
  http_context& context) const;