couchbase 3.7.0-aarch64-linux → 3.8.0-aarch64-linux

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/active_support/cache/couchbase_store.rb +6 -6
  4. data/lib/couchbase/3.2/libcouchbase.so +0 -0
  5. data/lib/couchbase/3.3/libcouchbase.so +0 -0
  6. data/lib/couchbase/3.4/libcouchbase.so +0 -0
  7. data/lib/couchbase/{3.1 → 4.0}/libcouchbase.so +0 -0
  8. data/lib/couchbase/authenticator.rb +14 -0
  9. data/lib/couchbase/binary_collection.rb +37 -22
  10. data/lib/couchbase/bucket.rb +46 -31
  11. data/lib/couchbase/cluster.rb +146 -61
  12. data/lib/couchbase/collection.rb +257 -186
  13. data/lib/couchbase/datastructures/couchbase_list.rb +81 -50
  14. data/lib/couchbase/datastructures/couchbase_map.rb +86 -50
  15. data/lib/couchbase/datastructures/couchbase_queue.rb +64 -38
  16. data/lib/couchbase/datastructures/couchbase_set.rb +57 -41
  17. data/lib/couchbase/deprecations.rb +1 -1
  18. data/lib/couchbase/diagnostics.rb +8 -8
  19. data/lib/couchbase/errors.rb +6 -0
  20. data/lib/couchbase/libcouchbase.rb +1 -1
  21. data/lib/couchbase/management/analytics_index_manager.rb +90 -59
  22. data/lib/couchbase/management/bucket_manager.rb +73 -45
  23. data/lib/couchbase/management/collection_manager.rb +86 -43
  24. data/lib/couchbase/management/collection_query_index_manager.rb +56 -33
  25. data/lib/couchbase/management/query_index_manager.rb +88 -36
  26. data/lib/couchbase/management/scope_search_index_manager.rb +119 -52
  27. data/lib/couchbase/management/search_index_manager.rb +401 -178
  28. data/lib/couchbase/management/user_manager.rb +343 -174
  29. data/lib/couchbase/management/view_index_manager.rb +166 -73
  30. data/lib/couchbase/metrics/logging_meter.rb +108 -0
  31. data/lib/couchbase/metrics/logging_value_recorder.rb +50 -0
  32. data/lib/couchbase/metrics/meter.rb +27 -0
  33. data/lib/couchbase/metrics/noop_meter.rb +30 -0
  34. data/lib/couchbase/metrics/noop_value_recorder.rb +27 -0
  35. data/lib/couchbase/metrics/value_recorder.rb +25 -0
  36. data/lib/couchbase/options.rb +69 -3
  37. data/lib/couchbase/protostellar/cluster.rb +3 -0
  38. data/lib/couchbase/scope.rb +62 -48
  39. data/lib/couchbase/search_options.rb +18 -18
  40. data/lib/couchbase/tracing/noop_span.rb +29 -0
  41. data/lib/couchbase/tracing/noop_tracer.rb +29 -0
  42. data/lib/couchbase/tracing/request_span.rb +34 -0
  43. data/lib/couchbase/tracing/request_tracer.rb +28 -0
  44. data/lib/couchbase/tracing/threshold_logging_span.rb +112 -0
  45. data/lib/couchbase/tracing/threshold_logging_tracer.rb +231 -0
  46. data/lib/couchbase/utils/hdr_histogram.rb +55 -0
  47. data/lib/couchbase/utils/observability.rb +257 -0
  48. data/lib/couchbase/utils/observability_constants.rb +200 -0
  49. data/lib/couchbase/utils/stdlib_logger_adapter.rb +1 -3
  50. data/lib/couchbase/version.rb +1 -1
  51. data/lib/couchbase.rb +2 -2
  52. metadata +37 -8
@@ -0,0 +1,200 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025-Present Couchbase, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Couchbase
18
+ module Observability # rubocop:disable Metrics/ModuleLength
19
+ OP_GET = "get"
20
+ OP_GET_MULTI = "get_multi"
21
+ OP_GET_AND_LOCK = "get_and_lock"
22
+ OP_GET_AND_TOUCH = "get_and_touch"
23
+ OP_GET_ALL_REPLICAS = "get_all_replicas"
24
+ OP_GET_ANY_REPLICA = "get_any_replica"
25
+ OP_GET_REPLICA = "get_replica"
26
+ OP_EXISTS = "exists"
27
+ OP_REPLACE = "replace"
28
+ OP_UPSERT = "upsert"
29
+ OP_UPSERT_MULTI = "upsert_multi"
30
+ OP_REMOVE = "remove"
31
+ OP_REMOVE_MULTI = "remove_multi"
32
+ OP_INSERT = "insert"
33
+ OP_TOUCH = "touch"
34
+ OP_UNLOCK = "unlock"
35
+ OP_LOOKUP_IN = "lookup_in"
36
+ OP_LOOKUP_IN_ALL_REPLICAS = "lookup_in_all_replicas"
37
+ OP_LOOKUP_IN_ANY_REPLICA = "lookup_in_any_replica"
38
+ OP_LOOKUP_IN_REPLICA = "lookup_in_replica"
39
+ OP_MUTATE_IN = "mutate_in"
40
+ OP_SCAN = "scan"
41
+ OP_INCREMENT = "increment"
42
+ OP_DECREMENT = "decrement"
43
+ OP_APPEND = "append"
44
+ OP_PREPEND = "prepend"
45
+
46
+ OP_QUERY = "query"
47
+ OP_SEARCH_QUERY = "search"
48
+ OP_ANALYTICS_QUERY = "analytics"
49
+ OP_VIEW_QUERY = "views"
50
+
51
+ OP_PING = "ping"
52
+ OP_DIAGNOSTICS = "diagnostics"
53
+
54
+ OP_BM_CREATE_BUCKET = "manager_buckets_create_bucket"
55
+ OP_BM_DROP_BUCKET = "manager_buckets_drop_bucket"
56
+ OP_BM_FLUSH_BUCKET = "manager_buckets_flush_bucket"
57
+ OP_BM_GET_ALL_BUCKETS = "manager_buckets_get_all_buckets"
58
+ OP_BM_GET_BUCKET = "manager_buckets_get_bucket"
59
+ OP_BM_UPDATE_BUCKET = "manager_buckets_update_bucket"
60
+
61
+ OP_CM_CREATE_COLLECTION = "manager_collections_create_collection"
62
+ OP_CM_UPDATE_COLLECTION = "manager_collections_update_collection"
63
+ OP_CM_DROP_COLLECTION = "manager_collections_drop_collection"
64
+ OP_CM_CREATE_SCOPE = "manager_collections_create_scope"
65
+ OP_CM_DROP_SCOPE = "manager_collections_drop_scope"
66
+ OP_CM_GET_ALL_SCOPES = "manager_collections_get_all_scopes"
67
+ OP_CM_GET_SCOPE = "manager_collections_get_scope"
68
+
69
+ OP_QM_BUILD_DEFERRED_INDEXES = "manager_query_build_deferred_indexes"
70
+ OP_QM_CREATE_INDEX = "manager_query_create_index"
71
+ OP_QM_CREATE_PRIMARY_INDEX = "manager_query_create_primary_index"
72
+ OP_QM_DROP_INDEX = "manager_query_drop_index"
73
+ OP_QM_DROP_PRIMARY_INDEX = "manager_query_drop_primary_index"
74
+ OP_QM_GET_ALL_INDEXES = "manager_query_get_all_indexes"
75
+ OP_QM_WATCH_INDEXES = "manager_query_watch_indexes"
76
+
77
+ OP_AM_CREATE_DATAVERSE = "manager_analytics_create_dataverse"
78
+ OP_AM_DROP_DATAVERSE = "manager_analytics_drop_dataverse"
79
+ OP_AM_CREATE_DATASET = "manager_analytics_create_dataset"
80
+ OP_AM_DROP_DATASET = "manager_analytics_drop_dataset"
81
+ OP_AM_GET_ALL_DATASETS = "manager_analytics_get_all_datasets"
82
+ OP_AM_CREATE_INDEX = "manager_analytics_create_index"
83
+ OP_AM_DROP_INDEX = "manager_analytics_drop_index"
84
+ OP_AM_GET_ALL_INDEXES = "manager_analytics_get_all_indexes"
85
+ OP_AM_CONNECT_LINK = "manager_analytics_connect_link"
86
+ OP_AM_DISCONNECT_LINK = "manager_analytics_disconnect_link"
87
+ OP_AM_GET_PENDING_MUTATIONS = "manager_analytics_get_pending_mutations"
88
+ OP_AM_CREATE_LINK = "manager_analytics_create_link"
89
+ OP_AM_REPLACE_LINK = "manager_analytics_replace_link"
90
+ OP_AM_DROP_LINK = "manager_analytics_drop_link"
91
+ OP_AM_GET_LINKS = "manager_analytics_get_links"
92
+
93
+ OP_SM_GET_INDEX = "manager_search_get_index"
94
+ OP_SM_GET_ALL_INDEXES = "manager_search_get_all_indexes"
95
+ OP_SM_UPSERT_INDEX = "manager_search_upsert_index"
96
+ OP_SM_DROP_INDEX = "manager_search_drop_index"
97
+ OP_SM_GET_INDEXED_DOCUMENTS_COUNT = "manager_search_get_indexed_documents_count"
98
+ OP_SM_GET_INDEX_STATS = "manager_search_get_index_stats"
99
+ OP_SM_GET_STATS = "manager_search_get_stats"
100
+ OP_SM_PAUSE_INGEST = "manager_search_pause_index"
101
+ OP_SM_RESUME_INGEST = "manager_search_resume_index"
102
+ OP_SM_ALLOW_QUERYING = "manager_search_allow_querying"
103
+ OP_SM_DISALLOW_QUERYING = "manager_search_disallow_querying"
104
+ OP_SM_FREEZE_PLAN = "manager_search_freeze_plan"
105
+ OP_SM_UNFREEZE_PLAN = "manager_search_unfreeze_plan"
106
+ OP_SM_ANALYZE_DOCUMENT = "manager_search_analyze_document"
107
+
108
+ OP_UM_DROP_GROUP = "manager_users_drop_group"
109
+ OP_UM_DROP_USER = "manager_users_drop_user"
110
+ OP_UM_GET_ALL_GROUPS = "manager_users_get_all_groups"
111
+ OP_UM_GET_ALL_USERS = "manager_users_get_all_users"
112
+ OP_UM_GET_GROUP = "manager_users_get_group"
113
+ OP_UM_GET_ROLES = "manager_users_get_roles"
114
+ OP_UM_GET_USER = "manager_users_get_user"
115
+ OP_UM_UPSERT_GROUP = "manager_users_upsert_group"
116
+ OP_UM_UPSERT_USER = "manager_users_upsert_user"
117
+ OP_UM_CHANGE_PASSWORD = "manager_users_change_password"
118
+
119
+ OP_VM_GET_DESIGN_DOCUMENT = "manager_views_get_design_document"
120
+ OP_VM_GET_ALL_DESIGN_DOCUMENTS = "manager_views_get_all_design_documents"
121
+ OP_VM_UPSERT_DESIGN_DOCUMENT = "manager_views_upsert_design_document"
122
+ OP_VM_DROP_DESIGN_DOCUMENT = "manager_views_drop_design_document"
123
+ OP_VM_PUBLISH_DESIGN_DOCUMENT = "manager_views_publish_design_document"
124
+
125
+ OP_LIST_EACH = "list_each"
126
+ OP_LIST_LENGTH = "list_length"
127
+ OP_LIST_PUSH = "list_push"
128
+ OP_LIST_UNSHIFT = "list_unshift"
129
+ OP_LIST_INSERT = "list_insert"
130
+ OP_LIST_AT = "list_at"
131
+ OP_LIST_DELETE_AT = "list_delete_at"
132
+ OP_LIST_CLEAR = "list_clear"
133
+
134
+ OP_MAP_EACH = "map_each"
135
+ OP_MAP_LENGTH = "map_length"
136
+ OP_MAP_CLEAR = "map_clear"
137
+ OP_MAP_FETCH = "map_fetch"
138
+ OP_MAP_DELETE = "map_delete"
139
+ OP_MAP_KEY_EXISTS = "map_key"
140
+ OP_MAP_STORE = "map_store"
141
+
142
+ OP_QUEUE_EACH = "queue_each"
143
+ OP_QUEUE_LENGTH = "queue_length"
144
+ OP_QUEUE_CLEAR = "queue_clear"
145
+ OP_QUEUE_PUSH = "queue_push"
146
+ OP_QUEUE_POP = "queue_pop"
147
+
148
+ OP_SET_EACH = "set_each"
149
+ OP_SET_LENGTH = "set_length"
150
+ OP_SET_ADD = "set_add"
151
+ OP_SET_CLEAR = "set_clear"
152
+ OP_SET_DELETE = "set_delete"
153
+
154
+ STEP_REQUEST_ENCODING = "request_encoding"
155
+ STEP_DISPATCH_TO_SERVER = "dispatch_to_server"
156
+
157
+ # Common attributes
158
+ ATTR_SYSTEM_NAME = "db.system.name"
159
+ ATTR_CLUSTER_NAME = "couchbase.cluster.name"
160
+ ATTR_CLUSTER_UUID = "couchbase.cluster.uuid"
161
+
162
+ # Operation-level attributes
163
+ ATTR_OPERATION_NAME = "db.operation.name"
164
+ ATTR_SERVICE = "couchbase.service"
165
+ ATTR_BUCKET_NAME = "db.namespace"
166
+ ATTR_SCOPE_NAME = "couchbase.scope.name"
167
+ ATTR_COLLECTION_NAME = "couchbase.collection.name"
168
+ ATTR_RETRIES = "couchbase.retries"
169
+ ATTR_DURABILITY = "couchbase.durability"
170
+ ATTR_QUERY_STATEMENT = "db.query.text"
171
+ ATTR_ERROR_TYPE = "error.type"
172
+
173
+ # Dispatch-level attributes
174
+ ATTR_LOCAL_ID = "couchbase.local_id"
175
+ ATTR_OPERATION_ID = "couchbase.operation_id"
176
+ ATTR_PEER_ADDRESS = "network.peer.address"
177
+ ATTR_PEER_PORT = "network.peer.port"
178
+ ATTR_SERVER_DURATION = "couchbase.server_duration"
179
+
180
+ # Reserved attributes
181
+ ATTR_RESERVED_UNIT = "__unit"
182
+
183
+ ATTR_VALUE_SYSTEM_NAME = "couchbase"
184
+
185
+ ATTR_VALUE_DURABILITY_MAJORITY = "majority"
186
+ ATTR_VALUE_DURABILITY_MAJORITY_AND_PERSIST_TO_ACTIVE = "majority_and_persist_active"
187
+ ATTR_VALUE_DURABILITY_PERSIST_TO_MAJORITY = "persist_majority"
188
+
189
+ ATTR_VALUE_SERVICE_KV = "kv"
190
+ ATTR_VALUE_SERVICE_QUERY = "query"
191
+ ATTR_VALUE_SERVICE_SEARCH = "search"
192
+ ATTR_VALUE_SERVICE_VIEWS = "views"
193
+ ATTR_VALUE_SERVICE_ANALYTICS = "analytics"
194
+ ATTR_VALUE_SERVICE_MANAGEMENT = "management"
195
+
196
+ ATTR_VALUE_RESERVED_UNIT_SECONDS = "s"
197
+
198
+ METER_NAME_OPERATION_DURATION = "db.client.operation.duration"
199
+ end
200
+ end
@@ -43,9 +43,7 @@ module Couchbase
43
43
  )
44
44
  end
45
45
 
46
- private
47
-
48
- def map_spdlog_level(level)
46
+ def self.map_spdlog_level(level)
49
47
  case level
50
48
  when :trace, :debug
51
49
  ::Logger::Severity::DEBUG
@@ -21,5 +21,5 @@ module Couchbase
21
21
  # $ ruby -rcouchbase -e 'pp Couchbase::VERSION'
22
22
  # {:sdk=>"3.4.0", :ruby_abi=>"3.1.0", :revision=>"416fe68e6029ec8a4c40611cf6e6b30d3b90d20f"}
23
23
  VERSION = {} unless defined?(VERSION) # rubocop:disable Style/MutableConstant
24
- VERSION.update(:sdk => "3.7.0")
24
+ VERSION.update(:sdk => "3.8.0")
25
25
  end
data/lib/couchbase.rb CHANGED
@@ -25,8 +25,8 @@ require "couchbase/railtie" if defined?(Rails)
25
25
 
26
26
  # @!macro uncommitted
27
27
  # @couchbase.stability
28
- # Uncommitted: This API may change in the future.
28
+ # **Uncommitted:** This API may change in the future.
29
29
  #
30
30
  # @!macro volatile
31
31
  # @couchbase.stability
32
- # Volatile: This API is subject to change at any time.
32
+ # **Volatile:** This API is subject to change at any time.
metadata CHANGED
@@ -1,14 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: couchbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.0
4
+ version: 3.8.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Sergey Avseyev
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-09-29 00:00:00.000000000 Z
10
+ date: 2026-03-31 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: concurrent-ruby
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.3'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.3'
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: grpc
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -35,10 +49,10 @@ files:
35
49
  - ext/extconf.rb
36
50
  - lib/active_support/cache/couchbase_store.rb
37
51
  - lib/couchbase.rb
38
- - lib/couchbase/3.1/libcouchbase.so
39
52
  - lib/couchbase/3.2/libcouchbase.so
40
53
  - lib/couchbase/3.3/libcouchbase.so
41
54
  - lib/couchbase/3.4/libcouchbase.so
55
+ - lib/couchbase/4.0/libcouchbase.so
42
56
  - lib/couchbase/analytics_options.rb
43
57
  - lib/couchbase/authenticator.rb
44
58
  - lib/couchbase/binary_collection.rb
@@ -73,6 +87,12 @@ files:
73
87
  - lib/couchbase/management/search_index_manager.rb
74
88
  - lib/couchbase/management/user_manager.rb
75
89
  - lib/couchbase/management/view_index_manager.rb
90
+ - lib/couchbase/metrics/logging_meter.rb
91
+ - lib/couchbase/metrics/logging_value_recorder.rb
92
+ - lib/couchbase/metrics/meter.rb
93
+ - lib/couchbase/metrics/noop_meter.rb
94
+ - lib/couchbase/metrics/noop_value_recorder.rb
95
+ - lib/couchbase/metrics/value_recorder.rb
76
96
  - lib/couchbase/mutation_state.rb
77
97
  - lib/couchbase/options.rb
78
98
  - lib/couchbase/protostellar.rb
@@ -148,9 +168,18 @@ files:
148
168
  - lib/couchbase/scope.rb
149
169
  - lib/couchbase/search_options.rb
150
170
  - lib/couchbase/subdoc.rb
171
+ - lib/couchbase/tracing/noop_span.rb
172
+ - lib/couchbase/tracing/noop_tracer.rb
173
+ - lib/couchbase/tracing/request_span.rb
174
+ - lib/couchbase/tracing/request_tracer.rb
175
+ - lib/couchbase/tracing/threshold_logging_span.rb
176
+ - lib/couchbase/tracing/threshold_logging_tracer.rb
151
177
  - lib/couchbase/transcoder_flags.rb
152
178
  - lib/couchbase/utils.rb
153
179
  - lib/couchbase/utils/generic_logger_adapter.rb
180
+ - lib/couchbase/utils/hdr_histogram.rb
181
+ - lib/couchbase/utils/observability.rb
182
+ - lib/couchbase/utils/observability_constants.rb
154
183
  - lib/couchbase/utils/stdlib_logger_adapter.rb
155
184
  - lib/couchbase/utils/time.rb
156
185
  - lib/couchbase/version.rb
@@ -163,9 +192,9 @@ metadata:
163
192
  homepage_uri: https://docs.couchbase.com/ruby-sdk/current/hello-world/start-using-sdk.html
164
193
  bug_tracker_uri: https://jira.issues.couchbase.com/browse/RCBC
165
194
  mailing_list_uri: https://www.couchbase.com/forums/c/ruby-sdk
166
- source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.7.0
167
- changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.7.0
168
- documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.7.0/index.html
195
+ source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.8.0
196
+ changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.8.0
197
+ documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.8.0/index.html
169
198
  github_repo: https://github.com/couchbase/couchbase-ruby-client
170
199
  rubygems_mfa_required: 'true'
171
200
  rdoc_options:
@@ -177,14 +206,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
206
  requirements:
178
207
  - - ">"
179
208
  - !ruby/object:Gem::Version
180
- version: '3.1'
209
+ version: '3.2'
181
210
  required_rubygems_version: !ruby/object:Gem::Requirement
182
211
  requirements:
183
212
  - - ">="
184
213
  - !ruby/object:Gem::Version
185
214
  version: '0'
186
215
  requirements: []
187
- rubygems_version: 3.3.27
216
+ rubygems_version: 3.4.19
188
217
  specification_version: 4
189
218
  summary: SDK for Couchbase Server
190
219
  test_files: []