couchbase 4.4.2 → 4.4.4
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.
- package/BUILDING.md +182 -0
- package/CMakeLists.txt +13 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +4 -2
- package/deps/couchbase-cxx-cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/BUILDING.md +206 -0
- package/deps/couchbase-cxx-client/CMakeLists.txt +18 -13
- package/deps/couchbase-cxx-client/README.md +2 -2
- package/deps/couchbase-cxx-client/cmake/APKBUILD.in +54 -0
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +0 -5
- package/deps/couchbase-cxx-client/cmake/Packaging.cmake +177 -10
- package/deps/couchbase-cxx-client/cmake/RPath.cmake +10 -0
- package/deps/couchbase-cxx-client/cmake/Testing.cmake +1 -1
- package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +28 -2
- package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
- package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +45 -6
- package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +2 -2
- package/deps/couchbase-cxx-client/cmake/debian/changelog.in +5 -0
- package/deps/couchbase-cxx-client/cmake/debian/compat +1 -0
- package/deps/couchbase-cxx-client/cmake/debian/control +40 -0
- package/deps/couchbase-cxx-client/cmake/debian/rules +41 -0
- package/deps/couchbase-cxx-client/cmake/debian/source/format +1 -0
- package/deps/couchbase-cxx-client/core/agent_group.cxx +8 -0
- package/deps/couchbase-cxx-client/core/agent_group.hxx +4 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +16 -20
- package/deps/couchbase-cxx-client/core/bucket.hxx +12 -12
- package/deps/couchbase-cxx-client/core/cluster.cxx +44 -52
- package/deps/couchbase-cxx-client/core/cluster_agent.cxx +8 -0
- package/deps/couchbase-cxx-client/core/cluster_agent.hxx +4 -0
- package/deps/couchbase-cxx-client/core/collections_component.cxx +2 -2
- package/deps/couchbase-cxx-client/core/columnar/agent.cxx +2 -2
- package/deps/couchbase-cxx-client/core/columnar/agent.hxx +1 -1
- package/deps/couchbase-cxx-client/core/columnar/management_component.cxx +3 -3
- package/deps/couchbase-cxx-client/core/columnar/query_component.cxx +103 -45
- package/deps/couchbase-cxx-client/core/columnar/query_component.hxx +1 -0
- package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +8 -0
- package/deps/couchbase-cxx-client/core/http_component.cxx +55 -24
- package/deps/couchbase-cxx-client/core/http_component.hxx +4 -0
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +15 -15
- package/deps/couchbase-cxx-client/core/impl/bootstrap_error.hxx +10 -2
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +6 -6
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +36 -40
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +29 -5
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +5 -5
- package/deps/couchbase-cxx-client/core/impl/error.cxx +24 -3
- package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +13 -5
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -3
- package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
- package/deps/couchbase-cxx-client/core/impl/scan_result.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/search.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +12 -12
- package/deps/couchbase-cxx-client/core/io/http_command.hxx +31 -20
- package/deps/couchbase-cxx-client/core/io/http_session.cxx +5 -0
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +17 -4
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +97 -49
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +15 -14
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +48 -33
- package/deps/couchbase-cxx-client/core/io/streams.cxx +256 -0
- package/deps/couchbase-cxx-client/core/io/streams.hxx +31 -155
- package/deps/couchbase-cxx-client/core/logger/configuration.hxx +5 -0
- package/deps/couchbase-cxx-client/core/logger/custom_rotating_file_sink.cxx +2 -3
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +39 -7
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +7 -0
- package/deps/couchbase-cxx-client/core/meta/features.hxx +11 -0
- package/deps/couchbase-cxx-client/core/meta/version.cxx +47 -6
- package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.cxx +188 -0
- package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.hxx +73 -0
- package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +23 -17
- package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_append.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +23 -15
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +4 -3
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +4 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_upsert.cxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +4 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_upsert.cxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +37 -17
- package/deps/couchbase-cxx-client/core/platform/base64.cc +1 -1
- package/deps/couchbase-cxx-client/core/platform/random.cc +2 -0
- package/deps/couchbase-cxx-client/core/platform/uuid.h +6 -6
- package/deps/couchbase-cxx-client/core/row_streamer.cxx +1 -1
- package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.cc +1 -1
- package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.h +4 -4
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +8 -0
- package/deps/couchbase-cxx-client/core/tracing/constants.hxx +3 -0
- package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.cxx +87 -0
- package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.hxx +57 -0
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +9 -21
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +6 -33
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +57 -56
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +17 -18
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +0 -20
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +2 -2
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +128 -52
- package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +4 -3
- package/deps/couchbase-cxx-client/couchbase/codec/tao_json_serializer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/common_options.hxx +16 -1
- package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +16 -20
- package/deps/couchbase-cxx-client/couchbase/mutate_in_specs.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +4 -3
- package/deps/couchbase-cxx-client/couchbase/search_options.hxx +1 -1
- package/dist/analyticsindexmanager.d.ts +98 -14
- package/dist/analyticsindexmanager.js +452 -411
- package/dist/binding.d.ts +53 -4
- package/dist/bindingutilities.d.ts +26 -1
- package/dist/bindingutilities.js +108 -1
- package/dist/couchbase.d.ts +3 -1
- package/dist/couchbase.js +2 -0
- package/dist/rangeScan.d.ts +1 -1
- package/dist/rangeScan.js +1 -1
- package/dist/transactions.d.ts +34 -3
- package/dist/transactions.js +25 -18
- package/dist/transcoders.d.ts +68 -0
- package/dist/transcoders.js +194 -1
- package/dist/usermanager.d.ts +14 -14
- package/dist/usermanager.js +178 -228
- package/dist/utilities.js +4 -6
- package/dist/utilities_internal.js +1 -2
- package/package.json +9 -8
- package/src/binding.cpp +13 -13
- package/src/connection.cpp +22 -0
- package/src/connection.hpp +12 -0
- package/src/connection_autogen.cpp +100 -0
- package/src/jstocbpp_autogen.hpp +315 -8
- package/src/jstocbpp_transactions.hpp +1 -2
- package/tools/gen-bindings-js.js +38 -3
- package/tools/gen-bindings-json.py +575 -328
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
#pragma once
|
|
19
19
|
|
|
20
20
|
#include <couchbase/retry_strategy.hxx>
|
|
21
|
+
#include <couchbase/tracing/request_span.hxx>
|
|
21
22
|
|
|
22
23
|
#include <chrono>
|
|
23
24
|
#include <memory>
|
|
@@ -69,6 +70,18 @@ public:
|
|
|
69
70
|
return self();
|
|
70
71
|
}
|
|
71
72
|
|
|
73
|
+
/**
|
|
74
|
+
* @param span
|
|
75
|
+
*
|
|
76
|
+
* @since 1.0.4
|
|
77
|
+
* @volatile
|
|
78
|
+
*/
|
|
79
|
+
auto parent_span(std::shared_ptr<tracing::request_span> span) -> derived_class&
|
|
80
|
+
{
|
|
81
|
+
parent_span_ = std::move(span);
|
|
82
|
+
return self();
|
|
83
|
+
}
|
|
84
|
+
|
|
72
85
|
/**
|
|
73
86
|
* Immutable value object representing consistent options.
|
|
74
87
|
*
|
|
@@ -78,6 +91,7 @@ public:
|
|
|
78
91
|
struct built {
|
|
79
92
|
const std::optional<std::chrono::milliseconds> timeout;
|
|
80
93
|
const std::shared_ptr<couchbase::retry_strategy> retry_strategy;
|
|
94
|
+
const std::shared_ptr<tracing::request_span> parent_span;
|
|
81
95
|
};
|
|
82
96
|
|
|
83
97
|
protected:
|
|
@@ -88,7 +102,7 @@ protected:
|
|
|
88
102
|
*/
|
|
89
103
|
[[nodiscard]] auto build_common_options() const -> built
|
|
90
104
|
{
|
|
91
|
-
return { timeout_, retry_strategy_ };
|
|
105
|
+
return { timeout_, retry_strategy_, parent_span_ };
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
/**
|
|
@@ -107,6 +121,7 @@ protected:
|
|
|
107
121
|
private:
|
|
108
122
|
std::optional<std::chrono::milliseconds> timeout_{};
|
|
109
123
|
std::shared_ptr<couchbase::retry_strategy> retry_strategy_{ nullptr };
|
|
124
|
+
std::shared_ptr<tracing::request_span> parent_span_{ nullptr };
|
|
110
125
|
};
|
|
111
126
|
|
|
112
127
|
} // namespace couchbase
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include "opentelemetry/sdk/metrics/meter.h"
|
|
21
21
|
#include <couchbase/metrics/meter.hxx>
|
|
22
22
|
|
|
23
|
+
#include <algorithm>
|
|
23
24
|
#include <iostream>
|
|
24
25
|
#include <thread>
|
|
25
26
|
#include <utility>
|
|
@@ -37,44 +38,39 @@ namespace couchbase::metrics
|
|
|
37
38
|
class otel_sync_histogram
|
|
38
39
|
{
|
|
39
40
|
public:
|
|
40
|
-
otel_sync_histogram(nostd::shared_ptr<metrics_api::Histogram<
|
|
41
|
+
otel_sync_histogram(nostd::shared_ptr<metrics_api::Histogram<std::uint64_t>> histogram_counter)
|
|
41
42
|
: histogram_counter_(histogram_counter)
|
|
42
43
|
{
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
+
|
|
46
|
+
void record(std::uint64_t value,
|
|
45
47
|
const opentelemetry::common::KeyValueIterable& tags,
|
|
46
48
|
opentelemetry::context::Context& ctx)
|
|
47
49
|
{
|
|
48
|
-
|
|
49
|
-
if (value > LONG_MAX) {
|
|
50
|
-
value = LONG_MAX;
|
|
51
|
-
}
|
|
52
|
-
long lvalue = static_cast<long>(value);
|
|
53
|
-
histogram_counter_->Record(lvalue, tags, ctx);
|
|
50
|
+
histogram_counter_->Record(value, tags, ctx);
|
|
54
51
|
}
|
|
55
52
|
|
|
56
53
|
private:
|
|
57
|
-
nostd::shared_ptr<metrics_api::Histogram<
|
|
54
|
+
nostd::shared_ptr<metrics_api::Histogram<std::uint64_t>> histogram_counter_;
|
|
58
55
|
std::mutex mutex_;
|
|
59
56
|
};
|
|
60
57
|
|
|
61
58
|
class otel_value_recorder : public couchbase::metrics::value_recorder
|
|
62
59
|
{
|
|
63
60
|
public:
|
|
64
|
-
explicit otel_value_recorder(
|
|
65
|
-
|
|
61
|
+
explicit otel_value_recorder(
|
|
62
|
+
nostd::shared_ptr<metrics_api::Histogram<std::uint64_t>> histogram_counter,
|
|
63
|
+
const std::map<std::string, std::string>& tags)
|
|
66
64
|
: histogram_counter_(histogram_counter)
|
|
67
65
|
, tags_(tags)
|
|
68
66
|
{
|
|
69
67
|
}
|
|
70
68
|
void record_value(std::int64_t value) override
|
|
71
69
|
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
long lvalue = static_cast<long>(value);
|
|
70
|
+
value = std::max<int64_t>(value, 0);
|
|
71
|
+
auto uvalue = static_cast<std::uint64_t>(value);
|
|
76
72
|
histogram_counter_->Record(
|
|
77
|
-
|
|
73
|
+
uvalue, opentelemetry::common::KeyValueIterableView<decltype(tags_)>{ tags_ }, context_);
|
|
78
74
|
}
|
|
79
75
|
|
|
80
76
|
const std::map<std::string, std::string> tags()
|
|
@@ -82,13 +78,13 @@ public:
|
|
|
82
78
|
return tags_;
|
|
83
79
|
}
|
|
84
80
|
|
|
85
|
-
nostd::shared_ptr<metrics_api::Histogram<
|
|
81
|
+
nostd::shared_ptr<metrics_api::Histogram<std::uint64_t>> histogram_counter()
|
|
86
82
|
{
|
|
87
83
|
return histogram_counter_;
|
|
88
84
|
}
|
|
89
85
|
|
|
90
86
|
private:
|
|
91
|
-
nostd::shared_ptr<metrics_api::Histogram<
|
|
87
|
+
nostd::shared_ptr<metrics_api::Histogram<std::uint64_t>> histogram_counter_;
|
|
92
88
|
const std::map<std::string, std::string> tags_;
|
|
93
89
|
opentelemetry::context::Context context_{};
|
|
94
90
|
std::mutex mutex_;
|
|
@@ -115,8 +111,8 @@ public:
|
|
|
115
111
|
// api doesn't seem to allow this.
|
|
116
112
|
return recorders_
|
|
117
113
|
.insert({ name,
|
|
118
|
-
std::make_shared<otel_value_recorder>(
|
|
119
|
-
|
|
114
|
+
std::make_shared<otel_value_recorder>(
|
|
115
|
+
meter_->CreateUInt64Histogram(name, "", "us"), tags) })
|
|
120
116
|
->second;
|
|
121
117
|
}
|
|
122
118
|
// so it is already, lets see if we already have one with those tags, or need
|
|
@@ -235,7 +235,7 @@ public:
|
|
|
235
235
|
template<typename Value, typename Transcoder = codec::default_json_transcoder>
|
|
236
236
|
static auto upsert(std::string path, const Value& value) -> subdoc::upsert
|
|
237
237
|
{
|
|
238
|
-
return { std::move(path), std::move(Transcoder::template encode(value).data) };
|
|
238
|
+
return { std::move(path), std::move(Transcoder::template encode<const Value&>(value).data) };
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
/**
|
|
@@ -453,7 +453,7 @@ public:
|
|
|
453
453
|
template<typename Value, typename Transcoder = codec::default_json_transcoder>
|
|
454
454
|
static auto array_add_unique(std::string path, const Value& value) -> subdoc::array_add_unique
|
|
455
455
|
{
|
|
456
|
-
return { std::move(path), std::move(Transcoder::template encode(value).data) };
|
|
456
|
+
return { std::move(path), std::move(Transcoder::template encode<Value>(value).data) };
|
|
457
457
|
}
|
|
458
458
|
|
|
459
459
|
/**
|
|
@@ -445,7 +445,7 @@ struct query_options : public common_options<query_options> {
|
|
|
445
445
|
std::enable_if_t<codec::is_serializer_v<Serializer>, bool> = true>
|
|
446
446
|
auto raw(std::string name, const Value& value) -> query_options&
|
|
447
447
|
{
|
|
448
|
-
raw_[std::move(name)] = std::move(Serializer::template serialize(value));
|
|
448
|
+
raw_[std::move(name)] = std::move(Serializer::template serialize<const Value&>(value));
|
|
449
449
|
return self();
|
|
450
450
|
}
|
|
451
451
|
|
|
@@ -563,7 +563,8 @@ private:
|
|
|
563
563
|
std::enable_if_t<codec::is_serializer_v<Serializer>, bool> = true>
|
|
564
564
|
void encode_positional_parameters(const Parameter& parameter, Rest... args)
|
|
565
565
|
{
|
|
566
|
-
positional_parameters_.emplace_back(
|
|
566
|
+
positional_parameters_.emplace_back(
|
|
567
|
+
std::move(Serializer::template serialize<const Parameter&>(parameter)));
|
|
567
568
|
if constexpr (sizeof...(args) > 0) {
|
|
568
569
|
encode_positional_parameters<Serializer>(args...);
|
|
569
570
|
}
|
|
@@ -577,7 +578,7 @@ private:
|
|
|
577
578
|
void encode_named_parameters(const std::pair<Name, Parameter>& parameter, Rest... args)
|
|
578
579
|
{
|
|
579
580
|
named_parameters_[parameter.first] =
|
|
580
|
-
std::move(Serializer::template serialize(parameter.second));
|
|
581
|
+
std::move(Serializer::template serialize<Parameter>(parameter.second));
|
|
581
582
|
if constexpr (sizeof...(args) > 0) {
|
|
582
583
|
encode_named_parameters<Serializer>(args...);
|
|
583
584
|
}
|
|
@@ -192,7 +192,7 @@ struct search_options : public common_options<search_options> {
|
|
|
192
192
|
std::enable_if_t<codec::is_serializer_v<Serializer>, bool> = true>
|
|
193
193
|
auto raw(std::string name, const Value& value) -> search_options&
|
|
194
194
|
{
|
|
195
|
-
raw_[std::move(name)] = std::move(Serializer::template serialize(value));
|
|
195
|
+
raw_[std::move(name)] = std::move(Serializer::template serialize<Value>(value));
|
|
196
196
|
return self();
|
|
197
197
|
}
|
|
198
198
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Cluster } from './cluster';
|
|
3
|
+
import { CppManagementAnalyticsCouchbaseRemoteLink, CppManagementAnalyticsS3ExternalLink, CppManagementAnalyticsAzureBlobExternalLink } from './binding';
|
|
3
4
|
import { NodeCallback } from './utilities';
|
|
4
5
|
/**
|
|
5
6
|
* Represents the type of an analytics link.
|
|
@@ -155,6 +156,14 @@ export interface IAnalyticsLink {
|
|
|
155
156
|
* Specifies what type of analytics link this represents.
|
|
156
157
|
*/
|
|
157
158
|
linkType: AnalyticsLinkType;
|
|
159
|
+
/**
|
|
160
|
+
* The dataverse that this link belongs to.
|
|
161
|
+
*/
|
|
162
|
+
dataverse: string;
|
|
163
|
+
/**
|
|
164
|
+
* The name of this link.
|
|
165
|
+
*/
|
|
166
|
+
name: string;
|
|
158
167
|
}
|
|
159
168
|
/**
|
|
160
169
|
* This is a base class for specific link configurations for the analytics service.
|
|
@@ -168,6 +177,18 @@ export declare abstract class AnalyticsLink implements IAnalyticsLink {
|
|
|
168
177
|
* Specifies what type of analytics link this represents.
|
|
169
178
|
*/
|
|
170
179
|
linkType: AnalyticsLinkType;
|
|
180
|
+
/**
|
|
181
|
+
* The dataverse that this link belongs to.
|
|
182
|
+
*/
|
|
183
|
+
dataverse: string;
|
|
184
|
+
/**
|
|
185
|
+
* The name of this link.
|
|
186
|
+
*/
|
|
187
|
+
name: string;
|
|
188
|
+
/**
|
|
189
|
+
* Validates the link.
|
|
190
|
+
*/
|
|
191
|
+
abstract validate(): void;
|
|
171
192
|
/**
|
|
172
193
|
* @internal
|
|
173
194
|
*/
|
|
@@ -250,18 +271,22 @@ export declare class CouchbaseRemoteAnalyticsLink extends AnalyticsLink implemen
|
|
|
250
271
|
* (@see ICouchbaseAnalyticsEncryptionSettings.clientCertificate) is being used.
|
|
251
272
|
*/
|
|
252
273
|
password?: string;
|
|
274
|
+
/**
|
|
275
|
+
* Validates the CouchbaseRemoteAnalyticsLink.
|
|
276
|
+
*/
|
|
277
|
+
validate(): void;
|
|
253
278
|
/**
|
|
254
279
|
* @internal
|
|
255
280
|
*/
|
|
256
|
-
constructor(data:
|
|
281
|
+
constructor(data: ICouchbaseRemoteAnalyticsLink);
|
|
257
282
|
/**
|
|
258
283
|
* @internal
|
|
259
284
|
*/
|
|
260
|
-
static
|
|
285
|
+
static _toCppData(data: CouchbaseRemoteAnalyticsLink): CppManagementAnalyticsCouchbaseRemoteLink;
|
|
261
286
|
/**
|
|
262
287
|
* @internal
|
|
263
288
|
*/
|
|
264
|
-
static
|
|
289
|
+
static _fromCppData(data: CppManagementAnalyticsCouchbaseRemoteLink): CouchbaseRemoteAnalyticsLink;
|
|
265
290
|
}
|
|
266
291
|
/**
|
|
267
292
|
* Provides options for configuring an analytics remote S3 link.
|
|
@@ -341,15 +366,19 @@ export declare class S3ExternalAnalyticsLink extends AnalyticsLink implements IS
|
|
|
341
366
|
/**
|
|
342
367
|
* @internal
|
|
343
368
|
*/
|
|
344
|
-
constructor(data:
|
|
369
|
+
constructor(data: IS3ExternalAnalyticsLink);
|
|
370
|
+
/**
|
|
371
|
+
* Validates the S3ExternalAnalyticsLink.
|
|
372
|
+
*/
|
|
373
|
+
validate(): void;
|
|
345
374
|
/**
|
|
346
375
|
* @internal
|
|
347
376
|
*/
|
|
348
|
-
static
|
|
377
|
+
static _toCppData(data: S3ExternalAnalyticsLink): CppManagementAnalyticsS3ExternalLink;
|
|
349
378
|
/**
|
|
350
379
|
* @internal
|
|
351
380
|
*/
|
|
352
|
-
static
|
|
381
|
+
static _fromCppData(data: CppManagementAnalyticsS3ExternalLink): S3ExternalAnalyticsLink;
|
|
353
382
|
}
|
|
354
383
|
/**
|
|
355
384
|
* Provides options for configuring an analytics remote Azure link.
|
|
@@ -435,15 +464,19 @@ export declare class AzureExternalAnalyticsLink extends AnalyticsLink implements
|
|
|
435
464
|
/**
|
|
436
465
|
* @internal
|
|
437
466
|
*/
|
|
438
|
-
constructor(data:
|
|
467
|
+
constructor(data: IAzureExternalAnalyticsLink);
|
|
468
|
+
/**
|
|
469
|
+
* Validates the AzureExternalAnalyticsLink.
|
|
470
|
+
*/
|
|
471
|
+
validate(): void;
|
|
439
472
|
/**
|
|
440
473
|
* @internal
|
|
441
474
|
*/
|
|
442
|
-
static
|
|
475
|
+
static _toCppData(data: AzureExternalAnalyticsLink): CppManagementAnalyticsAzureBlobExternalLink;
|
|
443
476
|
/**
|
|
444
477
|
* @internal
|
|
445
478
|
*/
|
|
446
|
-
static
|
|
479
|
+
static _fromCppData(data: CppManagementAnalyticsAzureBlobExternalLink): AzureExternalAnalyticsLink;
|
|
447
480
|
}
|
|
448
481
|
/**
|
|
449
482
|
* @category Management
|
|
@@ -571,6 +604,18 @@ export interface GetAllAnalyticsIndexesOptions {
|
|
|
571
604
|
* @category Management
|
|
572
605
|
*/
|
|
573
606
|
export interface ConnectAnalyticsLinkOptions {
|
|
607
|
+
/**
|
|
608
|
+
* Whether or not the call should attempt to force the link connection.
|
|
609
|
+
*/
|
|
610
|
+
force?: boolean;
|
|
611
|
+
/**
|
|
612
|
+
* The name of the dataverse the link belongs to.
|
|
613
|
+
*/
|
|
614
|
+
dataverseName?: string;
|
|
615
|
+
/**
|
|
616
|
+
* The name of the link to connect.
|
|
617
|
+
*/
|
|
618
|
+
linkName?: string;
|
|
574
619
|
/**
|
|
575
620
|
* The timeout for this operation, represented in milliseconds.
|
|
576
621
|
*/
|
|
@@ -580,6 +625,14 @@ export interface ConnectAnalyticsLinkOptions {
|
|
|
580
625
|
* @category Management
|
|
581
626
|
*/
|
|
582
627
|
export interface DisconnectAnalyticsLinkOptions {
|
|
628
|
+
/**
|
|
629
|
+
* The name of the dataverse the link belongs to.
|
|
630
|
+
*/
|
|
631
|
+
dataverseName?: string;
|
|
632
|
+
/**
|
|
633
|
+
* The name of the link to connect.
|
|
634
|
+
*/
|
|
635
|
+
linkName?: string;
|
|
583
636
|
/**
|
|
584
637
|
* The timeout for this operation, represented in milliseconds.
|
|
585
638
|
*/
|
|
@@ -654,7 +707,6 @@ export declare class AnalyticsIndexManager {
|
|
|
654
707
|
* @internal
|
|
655
708
|
*/
|
|
656
709
|
constructor(cluster: Cluster);
|
|
657
|
-
private get _http();
|
|
658
710
|
/**
|
|
659
711
|
* Creates a new dataverse.
|
|
660
712
|
*
|
|
@@ -726,19 +778,51 @@ export declare class AnalyticsIndexManager {
|
|
|
726
778
|
/**
|
|
727
779
|
* Connects a not yet connected link.
|
|
728
780
|
*
|
|
729
|
-
* @param
|
|
781
|
+
* @param linkStr The name of the link to connect.
|
|
782
|
+
* @param options Optional parameters for this operation.
|
|
783
|
+
* @param callback A node-style callback to be invoked after execution.
|
|
784
|
+
* @deprecated Use the other overload instead.
|
|
785
|
+
*/
|
|
786
|
+
connectLink(linkStr: string, options?: ConnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
787
|
+
/**
|
|
788
|
+
* Connects a not yet connected link.
|
|
789
|
+
*
|
|
790
|
+
* @param options Optional parameters for this operation.
|
|
791
|
+
* @param callback A node-style callback to be invoked after execution.
|
|
792
|
+
*/
|
|
793
|
+
connectLink(options?: ConnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
794
|
+
/**
|
|
795
|
+
* @internal
|
|
796
|
+
*/
|
|
797
|
+
_connectLinkDeprecated(linkStr: string, options?: ConnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
798
|
+
/**
|
|
799
|
+
* @internal
|
|
800
|
+
*/
|
|
801
|
+
_connectLink(options?: ConnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
802
|
+
/**
|
|
803
|
+
* Disconnects a previously connected link.
|
|
804
|
+
*
|
|
805
|
+
* @param linkStr The name of the link to disconnect.
|
|
730
806
|
* @param options Optional parameters for this operation.
|
|
731
807
|
* @param callback A node-style callback to be invoked after execution.
|
|
808
|
+
* @deprecated Use the other overload instead.
|
|
732
809
|
*/
|
|
733
|
-
|
|
810
|
+
disconnectLink(linkStr: string, options?: DisconnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
734
811
|
/**
|
|
735
812
|
* Disconnects a previously connected link.
|
|
736
813
|
*
|
|
737
|
-
* @param linkName The name of the link to disconnect.
|
|
738
814
|
* @param options Optional parameters for this operation.
|
|
739
815
|
* @param callback A node-style callback to be invoked after execution.
|
|
740
816
|
*/
|
|
741
|
-
disconnectLink(
|
|
817
|
+
disconnectLink(options?: DisconnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
818
|
+
/**
|
|
819
|
+
* @internal
|
|
820
|
+
*/
|
|
821
|
+
_disconnectLinkDeprecated(linkStr: string, options?: DisconnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
822
|
+
/**
|
|
823
|
+
* @internal
|
|
824
|
+
*/
|
|
825
|
+
_disconnectLink(options?: DisconnectAnalyticsLinkOptions, callback?: NodeCallback<void>): Promise<void>;
|
|
742
826
|
/**
|
|
743
827
|
* Returns a list of all pending mutations.
|
|
744
828
|
*
|