mt-libcouchbase 1.4.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.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/.travis.yml +38 -0
- data/Gemfile +4 -0
- data/LICENSE +24 -0
- data/README.md +445 -0
- data/Rakefile +76 -0
- data/ext/README.md +6 -0
- data/ext/Rakefile +19 -0
- data/ext/libcouchbase/.gitignore +132 -0
- data/ext/libcouchbase/CMakeLists.txt +455 -0
- data/ext/libcouchbase/CONTRIBUTING.md +105 -0
- data/ext/libcouchbase/LICENSE +202 -0
- data/ext/libcouchbase/README.markdown +195 -0
- data/ext/libcouchbase/RELEASE_NOTES.markdown +3523 -0
- data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +52 -0
- data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
- data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
- data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +18 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +54 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +57 -0
- data/ext/libcouchbase/cmake/Modules/FindProfiler.cmake +16 -0
- data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +49 -0
- data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +142 -0
- data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
- data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
- data/ext/libcouchbase/cmake/config-cmake.h.in +80 -0
- data/ext/libcouchbase/cmake/configure +355 -0
- data/ext/libcouchbase/cmake/defs.mk.in +6 -0
- data/ext/libcouchbase/cmake/dtrace-instr-link.pl +51 -0
- data/ext/libcouchbase/cmake/libcouchbase.stp.in +829 -0
- data/ext/libcouchbase/cmake/source_files.cmake +104 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.c +1022 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
- data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +25 -0
- data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
- data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +259 -0
- data/ext/libcouchbase/contrib/cbsasl/src/client.c +419 -0
- data/ext/libcouchbase/contrib/cbsasl/src/common.c +50 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.c +500 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.h +99 -0
- data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
- data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.c +938 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.h +610 -0
- data/ext/libcouchbase/contrib/genhash/genhash.c +371 -0
- data/ext/libcouchbase/contrib/genhash/genhash.h +241 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
- data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
- data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
- data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4893 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
- data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +7 -0
- data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
- data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
- data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +75 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +100 -0
- data/ext/libcouchbase/contrib/snappy/snappy.cc +1312 -0
- data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
- data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
- data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
- data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
- data/ext/libcouchbase/doc/Doxyfile +2495 -0
- data/ext/libcouchbase/doc/DoxygenLayout.xml +109 -0
- data/ext/libcouchbase/doc/Makefile +44 -0
- data/ext/libcouchbase/doc/apiattr.h +117 -0
- data/ext/libcouchbase/doc/cbc-n1qlback.markdown +88 -0
- data/ext/libcouchbase/doc/cbc-pillowfight.markdown +296 -0
- data/ext/libcouchbase/doc/cbc-subdoc.markdown +299 -0
- data/ext/libcouchbase/doc/cbc.markdown +763 -0
- data/ext/libcouchbase/doc/cbcrc.markdown +52 -0
- data/ext/libcouchbase/doc/common-additional-options.markdown +82 -0
- data/ext/libcouchbase/doc/common-options.markdown +71 -0
- data/ext/libcouchbase/doc/environment.h +93 -0
- data/ext/libcouchbase/doc/example/threads.c +77 -0
- data/ext/libcouchbase/doc/footer.html +22 -0
- data/ext/libcouchbase/doc/genman.sh +25 -0
- data/ext/libcouchbase/doc/header.html +52 -0
- data/ext/libcouchbase/doc/intro.h +130 -0
- data/ext/libcouchbase/doc/mainpage.h +136 -0
- data/ext/libcouchbase/doc/man/cbc-admin.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cat.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-connstr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cp.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-decr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-flush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-hash.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-incr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-lock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcflush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcversion.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1ql.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1qlback.1 +198 -0
- data/ext/libcouchbase/doc/man/cbc-observe.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-pillowfight.1 +499 -0
- data/ext/libcouchbase/doc/man/cbc-ping.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-rm.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-role-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-stats.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-subdoc.1 +494 -0
- data/ext/libcouchbase/doc/man/cbc-unlock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-upsert.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-verbosity.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-version.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-view.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-watch.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc.1 +1035 -0
- data/ext/libcouchbase/doc/man/cbcrc.4 +71 -0
- data/ext/libcouchbase/doc/style.css +1162 -0
- data/ext/libcouchbase/example/CMakeLists.txt +52 -0
- data/ext/libcouchbase/example/README.markdown +47 -0
- data/ext/libcouchbase/example/analytics/.gitignore +1 -0
- data/ext/libcouchbase/example/analytics/analytics.c +158 -0
- data/ext/libcouchbase/example/analytics/build-queries.rb +34 -0
- data/ext/libcouchbase/example/analytics/cJSON.c +1 -0
- data/ext/libcouchbase/example/analytics/cJSON.h +1 -0
- data/ext/libcouchbase/example/analytics/queries/00-show-dataverse.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/01-setup-dataset-breweries.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/02-setup-dataset-beers.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/03-initiate-shadow.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/04-list-datasets.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/05-count-breweries.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/06-first-brewery.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/07-key-based-lookup.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/08-exact-match-lookup.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/09-exact-match-lookup-different-shape.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/10-other-query-filters.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/11-equijoin.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/12-equijoin-select-star.json +10 -0
- data/ext/libcouchbase/example/analytics/queries/13-ansi-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/14-join-select-values.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/15-nested-outer-join.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/16-theta-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/17-existential-quantification.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/18-universal-quantification.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/19-simple-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/20-simple-aggregation-unwrapped-value.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/21-simple-aggregation-explicit.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/22-grouping-and-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/23-grouping-and-aggregation-with-hint.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/24-grouping-and-limits.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/25-named-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/26-positional-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries.h +113 -0
- data/ext/libcouchbase/example/crypto/.gitignore +2 -0
- data/ext/libcouchbase/example/crypto/Makefile +13 -0
- data/ext/libcouchbase/example/crypto/common_provider.c +26 -0
- data/ext/libcouchbase/example/crypto/common_provider.h +33 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_decrypt.c +144 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_encrypt.c +146 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.c +271 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.h +29 -0
- data/ext/libcouchbase/example/db/db.c +171 -0
- data/ext/libcouchbase/example/db/vb.c +227 -0
- data/ext/libcouchbase/example/fts/.gitignore +1 -0
- data/ext/libcouchbase/example/fts/build-queries.rb +33 -0
- data/ext/libcouchbase/example/fts/fts.c +142 -0
- data/ext/libcouchbase/example/fts/queries/00-simple-text-query.json +12 -0
- data/ext/libcouchbase/example/fts/queries/01-simple-text-query-on-non-default-index.json +9 -0
- data/ext/libcouchbase/example/fts/queries/02-simple-text-query-on-stored-field.json +13 -0
- data/ext/libcouchbase/example/fts/queries/03-match-query-with-facet.json +19 -0
- data/ext/libcouchbase/example/fts/queries/04-docid-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/05-unanalyzed-term-query-with-fuzziness-level-of-0.json +13 -0
- data/ext/libcouchbase/example/fts/queries/06-unanalyzed-term-query-with-fuzziness-level-of-2.json +14 -0
- data/ext/libcouchbase/example/fts/queries/07-match-phrase-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/08-phrase-query.json +16 -0
- data/ext/libcouchbase/example/fts/queries/09-query-string-query.json +9 -0
- data/ext/libcouchbase/example/fts/queries/10-conjunction-query.json +21 -0
- data/ext/libcouchbase/example/fts/queries/11-wild-card-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/12-numeric-range-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/13-regexp-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries.h +61 -0
- data/ext/libcouchbase/example/instancepool/main.cc +112 -0
- data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
- data/ext/libcouchbase/example/instancepool/pool.h +69 -0
- data/ext/libcouchbase/example/libeventdirect/main.c +222 -0
- data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
- data/ext/libcouchbase/example/minimal/.gitignore +1 -0
- data/ext/libcouchbase/example/minimal/minimal.c +132 -0
- data/ext/libcouchbase/example/minimal/query.c +185 -0
- data/ext/libcouchbase/example/observe/durability.c +102 -0
- data/ext/libcouchbase/example/observe/observe.c +159 -0
- data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +143 -0
- data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +201 -0
- data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +286 -0
- data/ext/libcouchbase/example/tick/tick.c +119 -0
- data/ext/libcouchbase/example/tracing/.gitignore +2 -0
- data/ext/libcouchbase/example/tracing/Makefile +8 -0
- data/ext/libcouchbase/example/tracing/cJSON.c +1 -0
- data/ext/libcouchbase/example/tracing/cJSON.h +1 -0
- data/ext/libcouchbase/example/tracing/tracing.c +439 -0
- data/ext/libcouchbase/example/tracing/views.c +444 -0
- data/ext/libcouchbase/example/users/README +48 -0
- data/ext/libcouchbase/example/users/users.c +147 -0
- data/ext/libcouchbase/example/views/views-example.cc +83 -0
- data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
- data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
- data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
- data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
- data/ext/libcouchbase/include/libcouchbase/auth.h +297 -0
- data/ext/libcouchbase/include/libcouchbase/cbft.h +151 -0
- data/ext/libcouchbase/include/libcouchbase/cntl-private.h +319 -0
- data/ext/libcouchbase/include/libcouchbase/cntl.h +1418 -0
- data/ext/libcouchbase/include/libcouchbase/configuration.h.in +29 -0
- data/ext/libcouchbase/include/libcouchbase/couchbase.h +4089 -0
- data/ext/libcouchbase/include/libcouchbase/crypto.h +306 -0
- data/ext/libcouchbase/include/libcouchbase/deprecated.h +312 -0
- data/ext/libcouchbase/include/libcouchbase/error.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
- data/ext/libcouchbase/include/libcouchbase/iops.h +1053 -0
- data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
- data/ext/libcouchbase/include/libcouchbase/kvbuf.h +137 -0
- data/ext/libcouchbase/include/libcouchbase/metrics.h +79 -0
- data/ext/libcouchbase/include/libcouchbase/n1ql.h +539 -0
- data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +370 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
- data/ext/libcouchbase/include/libcouchbase/subdoc.h +347 -0
- data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
- data/ext/libcouchbase/include/libcouchbase/tracing.h +437 -0
- data/ext/libcouchbase/include/libcouchbase/vbucket.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/views.h +357 -0
- data/ext/libcouchbase/include/libcouchbase/visibility.h +66 -0
- data/ext/libcouchbase/include/memcached/COPYING +30 -0
- data/ext/libcouchbase/include/memcached/README +10 -0
- data/ext/libcouchbase/include/memcached/protocol_binary.h +885 -0
- data/ext/libcouchbase/packaging/README +7 -0
- data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
- data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
- data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
- data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
- data/ext/libcouchbase/packaging/deb/compat +1 -0
- data/ext/libcouchbase/packaging/deb/control +72 -0
- data/ext/libcouchbase/packaging/deb/copyright +10 -0
- data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
- data/ext/libcouchbase/packaging/deb/package.mk +31 -0
- data/ext/libcouchbase/packaging/deb/rules +46 -0
- data/ext/libcouchbase/packaging/deb/source/format +1 -0
- data/ext/libcouchbase/packaging/distinfo/README +1 -0
- data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
- data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
- data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
- data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
- data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
- data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +101 -0
- data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
- data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +467 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
- data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +66 -0
- data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
- data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
- data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
- data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +44 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +218 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +155 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +709 -0
- data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +13 -0
- data/ext/libcouchbase/plugins/io/select/plugin-select.c +451 -0
- data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
- data/ext/libcouchbase/src/README.md +101 -0
- data/ext/libcouchbase/src/aspend.h +105 -0
- data/ext/libcouchbase/src/auth-priv.h +85 -0
- data/ext/libcouchbase/src/auth.cc +146 -0
- data/ext/libcouchbase/src/bootstrap.cc +263 -0
- data/ext/libcouchbase/src/bootstrap.h +149 -0
- data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +450 -0
- data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.cc +527 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.h +107 -0
- data/ext/libcouchbase/src/bucketconfig/bc_static.cc +150 -0
- data/ext/libcouchbase/src/bucketconfig/clconfig.h +700 -0
- data/ext/libcouchbase/src/bucketconfig/confmon.cc +403 -0
- data/ext/libcouchbase/src/callbacks.c +380 -0
- data/ext/libcouchbase/src/cbft.cc +253 -0
- data/ext/libcouchbase/src/cntl.cc +1057 -0
- data/ext/libcouchbase/src/config_static.h +176 -0
- data/ext/libcouchbase/src/connspec.cc +555 -0
- data/ext/libcouchbase/src/connspec.h +155 -0
- data/ext/libcouchbase/src/crypto.cc +399 -0
- data/ext/libcouchbase/src/ctx-log-inl.h +44 -0
- data/ext/libcouchbase/src/dns-srv.cc +146 -0
- data/ext/libcouchbase/src/dump.cc +103 -0
- data/ext/libcouchbase/src/errmap.cc +173 -0
- data/ext/libcouchbase/src/errmap.h +271 -0
- data/ext/libcouchbase/src/getconfig.cc +72 -0
- data/ext/libcouchbase/src/gethrtime.c +109 -0
- data/ext/libcouchbase/src/handler.cc +1101 -0
- data/ext/libcouchbase/src/hashtable.c +75 -0
- data/ext/libcouchbase/src/hdr_timings.c +92 -0
- data/ext/libcouchbase/src/hostlist.cc +293 -0
- data/ext/libcouchbase/src/hostlist.h +160 -0
- data/ext/libcouchbase/src/http/http-priv.h +326 -0
- data/ext/libcouchbase/src/http/http.cc +672 -0
- data/ext/libcouchbase/src/http/http.h +1 -0
- data/ext/libcouchbase/src/http/http_io.cc +316 -0
- data/ext/libcouchbase/src/instance.cc +917 -0
- data/ext/libcouchbase/src/internal.h +285 -0
- data/ext/libcouchbase/src/iofactory.c +575 -0
- data/ext/libcouchbase/src/jsparse/parser.cc +445 -0
- data/ext/libcouchbase/src/jsparse/parser.h +159 -0
- data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
- data/ext/libcouchbase/src/lcbht/lcbht.h +210 -0
- data/ext/libcouchbase/src/lcbio/connect.cc +603 -0
- data/ext/libcouchbase/src/lcbio/connect.h +400 -0
- data/ext/libcouchbase/src/lcbio/ctx.c +658 -0
- data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
- data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
- data/ext/libcouchbase/src/lcbio/iotable.h +169 -0
- data/ext/libcouchbase/src/lcbio/ioutils.cc +356 -0
- data/ext/libcouchbase/src/lcbio/ioutils.h +144 -0
- data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
- data/ext/libcouchbase/src/lcbio/manager.cc +579 -0
- data/ext/libcouchbase/src/lcbio/manager.h +195 -0
- data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
- data/ext/libcouchbase/src/lcbio/rw-inl.h +137 -0
- data/ext/libcouchbase/src/lcbio/ssl.h +159 -0
- data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
- data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
- data/ext/libcouchbase/src/lcbio/timer.c +132 -0
- data/ext/libcouchbase/src/legacy.c +431 -0
- data/ext/libcouchbase/src/list.c +144 -0
- data/ext/libcouchbase/src/list.h +127 -0
- data/ext/libcouchbase/src/logging.c +244 -0
- data/ext/libcouchbase/src/logging.h +88 -0
- data/ext/libcouchbase/src/mc/compress.cc +171 -0
- data/ext/libcouchbase/src/mc/compress.h +56 -0
- data/ext/libcouchbase/src/mc/forward.c +186 -0
- data/ext/libcouchbase/src/mc/forward.h +90 -0
- data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
- data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
- data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +115 -0
- data/ext/libcouchbase/src/mc/mcreq.c +983 -0
- data/ext/libcouchbase/src/mc/mcreq.h +1015 -0
- data/ext/libcouchbase/src/mcserver/mcserver.cc +1055 -0
- data/ext/libcouchbase/src/mcserver/mcserver.h +221 -0
- data/ext/libcouchbase/src/mcserver/negotiate.cc +757 -0
- data/ext/libcouchbase/src/mcserver/negotiate.h +128 -0
- data/ext/libcouchbase/src/mctx-helper.h +62 -0
- data/ext/libcouchbase/src/metrics.cc +132 -0
- data/ext/libcouchbase/src/n1ql/ixmgmt.cc +857 -0
- data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
- data/ext/libcouchbase/src/n1ql/n1ql.cc +830 -0
- data/ext/libcouchbase/src/n1ql/params.cc +260 -0
- data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
- data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
- data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
- data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
- data/ext/libcouchbase/src/newconfig.cc +365 -0
- data/ext/libcouchbase/src/nodeinfo.cc +184 -0
- data/ext/libcouchbase/src/operations/cbflush.cc +63 -0
- data/ext/libcouchbase/src/operations/counter.cc +117 -0
- data/ext/libcouchbase/src/operations/durability-cas.cc +251 -0
- data/ext/libcouchbase/src/operations/durability-seqno.cc +170 -0
- data/ext/libcouchbase/src/operations/durability.cc +668 -0
- data/ext/libcouchbase/src/operations/durability_internal.h +306 -0
- data/ext/libcouchbase/src/operations/get.cc +409 -0
- data/ext/libcouchbase/src/operations/observe-seqno.cc +94 -0
- data/ext/libcouchbase/src/operations/observe.cc +367 -0
- data/ext/libcouchbase/src/operations/ping.cc +496 -0
- data/ext/libcouchbase/src/operations/pktfwd.cc +86 -0
- data/ext/libcouchbase/src/operations/remove.cc +84 -0
- data/ext/libcouchbase/src/operations/stats.cc +459 -0
- data/ext/libcouchbase/src/operations/store.cc +358 -0
- data/ext/libcouchbase/src/operations/subdoc.cc +614 -0
- data/ext/libcouchbase/src/operations/touch.cc +84 -0
- data/ext/libcouchbase/src/packetutils.h +388 -0
- data/ext/libcouchbase/src/probes.d +182 -0
- data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
- data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
- data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
- data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
- data/ext/libcouchbase/src/rdb/rope.c +419 -0
- data/ext/libcouchbase/src/rdb/rope.h +488 -0
- data/ext/libcouchbase/src/retrychk.cc +113 -0
- data/ext/libcouchbase/src/retryq.cc +458 -0
- data/ext/libcouchbase/src/retryq.h +170 -0
- data/ext/libcouchbase/src/ringbuffer.c +442 -0
- data/ext/libcouchbase/src/ringbuffer.h +100 -0
- data/ext/libcouchbase/src/rnd.cc +61 -0
- data/ext/libcouchbase/src/rnd.h +39 -0
- data/ext/libcouchbase/src/settings.c +125 -0
- data/ext/libcouchbase/src/settings.h +273 -0
- data/ext/libcouchbase/src/sllist-inl.h +197 -0
- data/ext/libcouchbase/src/sllist.h +76 -0
- data/ext/libcouchbase/src/ssl/CMakeLists.txt +11 -0
- data/ext/libcouchbase/src/ssl/ssl_c.c +442 -0
- data/ext/libcouchbase/src/ssl/ssl_common.c +478 -0
- data/ext/libcouchbase/src/ssl/ssl_e.c +421 -0
- data/ext/libcouchbase/src/ssl/ssl_iot_common.h +182 -0
- data/ext/libcouchbase/src/strcodecs/base64.c +307 -0
- data/ext/libcouchbase/src/strcodecs/strcodecs.h +302 -0
- data/ext/libcouchbase/src/timings.c +207 -0
- data/ext/libcouchbase/src/trace.h +117 -0
- data/ext/libcouchbase/src/tracing/span.cc +421 -0
- data/ext/libcouchbase/src/tracing/threshold_logging_tracer.cc +213 -0
- data/ext/libcouchbase/src/tracing/tracer.cc +53 -0
- data/ext/libcouchbase/src/tracing/tracing-internal.h +198 -0
- data/ext/libcouchbase/src/utilities.c +176 -0
- data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
- data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
- data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
- data/ext/libcouchbase/src/vbucket/hash.h +30 -0
- data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
- data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
- data/ext/libcouchbase/src/vbucket/vbucket.c +1735 -0
- data/ext/libcouchbase/src/views/docreq.cc +213 -0
- data/ext/libcouchbase/src/views/docreq.h +94 -0
- data/ext/libcouchbase/src/views/viewreq.cc +381 -0
- data/ext/libcouchbase/src/views/viewreq.h +87 -0
- data/ext/libcouchbase/src/wait.cc +156 -0
- data/ext/libcouchbase/tests/CMakeLists.txt +149 -0
- data/ext/libcouchbase/tests/basic/t_base64.cc +109 -0
- data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
- data/ext/libcouchbase/tests/basic/t_connstr.cc +456 -0
- data/ext/libcouchbase/tests/basic/t_creds.cc +96 -0
- data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
- data/ext/libcouchbase/tests/basic/t_host.cc +210 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.cc +82 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
- data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
- data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
- data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
- data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +17 -0
- data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
- data/ext/libcouchbase/tests/basic/t_packet.cc +215 -0
- data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
- data/ext/libcouchbase/tests/basic/t_scram.cc +514 -0
- data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
- data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
- data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
- data/ext/libcouchbase/tests/check-all.cc +612 -0
- data/ext/libcouchbase/tests/htparse/t_basic.cc +173 -0
- data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
- data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
- data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
- data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
- data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
- data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
- data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.cc +632 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.h +480 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
- data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
- data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
- data/ext/libcouchbase/tests/iotests/t_behavior.cc +220 -0
- data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
- data/ext/libcouchbase/tests/iotests/t_confmon.cc +223 -0
- data/ext/libcouchbase/tests/iotests/t_durability.cc +1108 -0
- data/ext/libcouchbase/tests/iotests/t_eerrs.cc +121 -0
- data/ext/libcouchbase/tests/iotests/t_errmap.cc +181 -0
- data/ext/libcouchbase/tests/iotests/t_forward.cc +118 -0
- data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
- data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
- data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
- data/ext/libcouchbase/tests/iotests/t_lock.cc +274 -0
- data/ext/libcouchbase/tests/iotests/t_misc.cc +777 -0
- data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
- data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
- data/ext/libcouchbase/tests/iotests/t_netfail.cc +778 -0
- data/ext/libcouchbase/tests/iotests/t_obseqno.cc +156 -0
- data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
- data/ext/libcouchbase/tests/iotests/t_sched.cc +87 -0
- data/ext/libcouchbase/tests/iotests/t_serverops.cc +231 -0
- data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
- data/ext/libcouchbase/tests/iotests/t_snappy.cc +316 -0
- data/ext/libcouchbase/tests/iotests/t_subdoc.cc +857 -0
- data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
- data/ext/libcouchbase/tests/iotests/t_views.cc +417 -0
- data/ext/libcouchbase/tests/iotests/testutil.cc +251 -0
- data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
- data/ext/libcouchbase/tests/mc/mctest.h +119 -0
- data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
- data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
- data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
- data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
- data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
- data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
- data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
- data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
- data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
- data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
- data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
- data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
- data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
- data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
- data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
- data/ext/libcouchbase/tests/socktests/socktest.cc +344 -0
- data/ext/libcouchbase/tests/socktests/socktest.h +447 -0
- data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
- data/ext/libcouchbase/tests/socktests/t_manager.cc +159 -0
- data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
- data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
- data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
- data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
- data/ext/libcouchbase/tests/start_mock.bat +15 -0
- data/ext/libcouchbase/tests/start_mock.sh +42 -0
- data/ext/libcouchbase/tests/unit_tests.cc +43 -0
- data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
- data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
- data/ext/libcouchbase/tests/vbucket/confdata/ketama_expected.json +2562 -0
- data/ext/libcouchbase/tests/vbucket/confdata/map_node_present_nodesext_missing_nodes.json +94 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_ketama_config.json +31 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/t_config.cc +386 -0
- data/ext/libcouchbase/tools/CMakeLists.txt +80 -0
- data/ext/libcouchbase/tools/cbc-handlers.h +636 -0
- data/ext/libcouchbase/tools/cbc-n1qlback.cc +496 -0
- data/ext/libcouchbase/tools/cbc-pillowfight.cc +1230 -0
- data/ext/libcouchbase/tools/cbc-proxy.cc +534 -0
- data/ext/libcouchbase/tools/cbc-subdoc.cc +825 -0
- data/ext/libcouchbase/tools/cbc.cc +1928 -0
- data/ext/libcouchbase/tools/common/histogram.cc +44 -0
- data/ext/libcouchbase/tools/common/histogram.h +23 -0
- data/ext/libcouchbase/tools/common/options.cc +451 -0
- data/ext/libcouchbase/tools/common/options.h +90 -0
- data/ext/libcouchbase/tools/docgen/docgen.h +495 -0
- data/ext/libcouchbase/tools/docgen/loc.h +211 -0
- data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
- data/ext/libcouchbase/tools/docgen/seqgen.h +122 -0
- data/ext/libcouchbase/tools/extract-packets.rb +110 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.c +1199 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.h +73 -0
- data/lib/mt-libcouchbase/bucket.rb +825 -0
- data/lib/mt-libcouchbase/callbacks.rb +69 -0
- data/lib/mt-libcouchbase/connection.rb +896 -0
- data/lib/mt-libcouchbase/design_docs.rb +92 -0
- data/lib/mt-libcouchbase/error.rb +68 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdbase.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdcounter.rb +36 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdendure.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdfts.rb +24 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdget.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdgetreplica.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdhttp.rb +58 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdn1ql.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobseqno.rb +33 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobserve.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstore.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstoredur.rb +45 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdsubdoc.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdverbosity.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdviewquery.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/contigbuf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st.rb +15 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st0.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st1.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st2.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st3.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/crst_u.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_st_v.rb +11 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_t.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durabilityopt_sv0.rb +63 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/enums.rb +1007 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/fragbuf.rb +18 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/ftshandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/histogram.rb +34 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/http_request_t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/keybuf.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/multicmd_ctx.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/mutation_token.rb +17 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlparams.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respbase.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respcounter.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respendure.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respfts.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respget.rb +44 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/resphttp.rb +48 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respmcversion.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respn1ql.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobseqno.rb +52 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobserve.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respserverbase.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstats.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstore.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstoredur.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respsubdoc.rb +35 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respviewquery.rb +67 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdentry.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdspec.rb +31 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf_u_buf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/viewhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase.rb +1175 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb +22 -0
- data/lib/mt-libcouchbase/ext/tasks.rb +39 -0
- data/lib/mt-libcouchbase/n1ql.rb +80 -0
- data/lib/mt-libcouchbase/query_full_text.rb +147 -0
- data/lib/mt-libcouchbase/query_n1ql.rb +123 -0
- data/lib/mt-libcouchbase/query_view.rb +135 -0
- data/lib/mt-libcouchbase/results_fiber.rb +281 -0
- data/lib/mt-libcouchbase/results_native.rb +220 -0
- data/lib/mt-libcouchbase/subdoc_request.rb +139 -0
- data/lib/mt-libcouchbase/version.rb +5 -0
- data/lib/mt-libcouchbase.rb +40 -0
- data/mt-libcouchbase.gemspec +68 -0
- data/spec/bucket_spec.rb +290 -0
- data/spec/connection_spec.rb +257 -0
- data/spec/design_docs_spec.rb +31 -0
- data/spec/error_spec.rb +26 -0
- data/spec/fts_spec.rb +135 -0
- data/spec/n1ql_spec.rb +260 -0
- data/spec/results_libuv_spec.rb +244 -0
- data/spec/results_native_spec.rb +259 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
- data/spec/subdoc_spec.rb +192 -0
- data/spec/view_spec.rb +201 -0
- data/windows_build.md +36 -0
- metadata +873 -0
|
@@ -0,0 +1,829 @@
|
|
|
1
|
+
/* -*- mode: systemtap; -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright 2017 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
|
+
|
|
18
|
+
/*
|
|
19
|
+
* SystemTap tapset to make it easier to trace libcouchbase
|
|
20
|
+
*
|
|
21
|
+
* All probes provided by libcouchbase can be listed using following command:
|
|
22
|
+
*
|
|
23
|
+
* stap -L 'process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("*")'
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Convert opcode from couchbase KV protocol to string representation
|
|
29
|
+
*/
|
|
30
|
+
function libcouchbase_opcode:string(opcode:long)
|
|
31
|
+
{
|
|
32
|
+
if (opcode == 0x00) return "GET"
|
|
33
|
+
else if (opcode == 0x01) return "SET"
|
|
34
|
+
else if (opcode == 0x02) return "ADD"
|
|
35
|
+
else if (opcode == 0x03) return "REPLACE"
|
|
36
|
+
else if (opcode == 0x04) return "DELETE"
|
|
37
|
+
else if (opcode == 0x05) return "INCREMENT"
|
|
38
|
+
else if (opcode == 0x06) return "DECREMENT"
|
|
39
|
+
else if (opcode == 0x08) return "FLUSH"
|
|
40
|
+
else if (opcode == 0x09) return "GETQ"
|
|
41
|
+
else if (opcode == 0x0a) return "NOOP"
|
|
42
|
+
else if (opcode == 0x0b) return "VERSION"
|
|
43
|
+
else if (opcode == 0x0e) return "APPEND"
|
|
44
|
+
else if (opcode == 0x0f) return "PREPEND"
|
|
45
|
+
else if (opcode == 0x10) return "STAT"
|
|
46
|
+
else if (opcode == 0x1b) return "VERBOSITY"
|
|
47
|
+
else if (opcode == 0x1c) return "TOUCH"
|
|
48
|
+
else if (opcode == 0x1d) return "GAT"
|
|
49
|
+
else if (opcode == 0x1f) return "HELLO"
|
|
50
|
+
else if (opcode == 0x20) return "SASL_LIST_MECHS"
|
|
51
|
+
else if (opcode == 0x21) return "SASL_AUTH"
|
|
52
|
+
else if (opcode == 0x22) return "SASL_STEP"
|
|
53
|
+
else if (opcode == 0x83) return "GET_REPLICA"
|
|
54
|
+
else if (opcode == 0x89) return "SELECT_BUCKET"
|
|
55
|
+
else if (opcode == 0x91) return "OBSERVE_SEQNO"
|
|
56
|
+
else if (opcode == 0x92) return "OBSERVE"
|
|
57
|
+
else if (opcode == 0x94) return "GET_LOCKED"
|
|
58
|
+
else if (opcode == 0x95) return "UNLOCK_KEY"
|
|
59
|
+
else if (opcode == 0xb5) return "GET_CLUSTER_CONFIG"
|
|
60
|
+
else if (opcode == 0xc5) return "SUBDOC_GET"
|
|
61
|
+
else if (opcode == 0xc6) return "SUBDOC_EXISTS"
|
|
62
|
+
else if (opcode == 0xc7) return "SUBDOC_DICT_ADD"
|
|
63
|
+
else if (opcode == 0xc8) return "SUBDOC_DICT_UPSERT"
|
|
64
|
+
else if (opcode == 0xc9) return "SUBDOC_DELETE"
|
|
65
|
+
else if (opcode == 0xca) return "SUBDOC_REPLACE"
|
|
66
|
+
else if (opcode == 0xcb) return "SUBDOC_ARRAY_PUSH_LAST"
|
|
67
|
+
else if (opcode == 0xcc) return "SUBDOC_ARRAY_PUSH_FIRST"
|
|
68
|
+
else if (opcode == 0xcd) return "SUBDOC_ARRAY_INSERT"
|
|
69
|
+
else if (opcode == 0xce) return "SUBDOC_ARRAY_ADD_UNIQUE"
|
|
70
|
+
else if (opcode == 0xcf) return "SUBDOC_COUNTER"
|
|
71
|
+
else if (opcode == 0xd0) return "SUBDOC_MULTI_LOOKUP"
|
|
72
|
+
else if (opcode == 0xd1) return "SUBDOC_MULTI_MUTATION"
|
|
73
|
+
else if (opcode == 0xd2) return "SUBDOC_GET_COUNT"
|
|
74
|
+
else if (opcode == 0xfe) return "GET_ERROR_MAP"
|
|
75
|
+
else return "UNKNOWN"
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Convert HTTP request type to string representation
|
|
80
|
+
*/
|
|
81
|
+
function libcouchbase_http_type:string(type:long)
|
|
82
|
+
{
|
|
83
|
+
if (type == 0) return "VIEW"
|
|
84
|
+
else if (type == 1) return "MANAGEMENT"
|
|
85
|
+
else if (type == 2) return "RAW"
|
|
86
|
+
else if (type == 3) return "N1QL"
|
|
87
|
+
else if (type == 4) return "FTS"
|
|
88
|
+
else if (type == 5) return "CBAS"
|
|
89
|
+
else return "UNKNOWN"
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Convert HTTP request method to string representation
|
|
94
|
+
*/
|
|
95
|
+
function libcouchbase_http_method:string(method:long)
|
|
96
|
+
{
|
|
97
|
+
if (method == 0) return "GET"
|
|
98
|
+
else if (method == 1) return "POST"
|
|
99
|
+
else if (method == 2) return "PUT"
|
|
100
|
+
else if (method == 3) return "DELETE"
|
|
101
|
+
else return "UNKNOWN"
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* probe libcouchbase.kv.get.begin - start of GET/GETL/GAT operation
|
|
106
|
+
*
|
|
107
|
+
* @lcb: client instance
|
|
108
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
109
|
+
* @vbucket: number of partition
|
|
110
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
111
|
+
* @key: document id
|
|
112
|
+
* @expiration: document expiration (0 when should not expire)
|
|
113
|
+
*
|
|
114
|
+
* Example:
|
|
115
|
+
*
|
|
116
|
+
* probe libcouchbase.kv.get.begin {
|
|
117
|
+
* printf("[%p] opcode: %s, vbucket: %d, key: %s\n",
|
|
118
|
+
* lcb, libcouchbase_opcode(opcode), vbucket, key)
|
|
119
|
+
* }
|
|
120
|
+
*
|
|
121
|
+
*
|
|
122
|
+
* $ stap test.stp -c "cbc get foo"
|
|
123
|
+
* foo CAS=0x150268ca90610000, Flags=0x0, Size=13, Datatype=0x01(JSON)
|
|
124
|
+
* {"foo":"bar"}
|
|
125
|
+
* [0xf20d90] opcode: GET, vbucket: 115, key: foo
|
|
126
|
+
*/
|
|
127
|
+
probe libcouchbase.kv.get.begin =
|
|
128
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("get_begin")
|
|
129
|
+
{
|
|
130
|
+
lcb = $arg1
|
|
131
|
+
opaque = $arg2
|
|
132
|
+
vbucket = $arg3
|
|
133
|
+
opcode = $arg4
|
|
134
|
+
key = user_string_n($arg5, $arg6)
|
|
135
|
+
expiration = $arg7
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* probe libcouchbase.kv.get.end - end of GET/GETL/GAT operation
|
|
140
|
+
*
|
|
141
|
+
* @lcb: client instance
|
|
142
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
143
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
144
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
145
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
146
|
+
* @key: document id
|
|
147
|
+
* @bytes: document body
|
|
148
|
+
* @flags: document flags
|
|
149
|
+
* @cas: document CAS
|
|
150
|
+
* @datatype: document datatype, see memcached/protocol_binary.h
|
|
151
|
+
*
|
|
152
|
+
* Example:
|
|
153
|
+
*
|
|
154
|
+
* probe libcouchbase.kv.get.end {
|
|
155
|
+
* printf("[%p] opcode: %s, rc: %d, cas: 0x%x, key: %s, value: %s\n",
|
|
156
|
+
* lcb, libcouchbase_opcode(opcode), rc, cas, key, bytes)
|
|
157
|
+
* }
|
|
158
|
+
*
|
|
159
|
+
*
|
|
160
|
+
* $ stap test.stp -c "cbc get foo"
|
|
161
|
+
* foo CAS=0x150268ca90610000, Flags=0x0, Size=13, Datatype=0x01(JSON)
|
|
162
|
+
* {"foo":"bar"}
|
|
163
|
+
* [0x1b58dd0] opcode: GET, rc: 0, cas: 0x150268ca90610000, key: foo, value: {"foo":"bar"}
|
|
164
|
+
*/
|
|
165
|
+
probe libcouchbase.kv.get.end =
|
|
166
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("get_end")
|
|
167
|
+
{
|
|
168
|
+
lcb = $arg1
|
|
169
|
+
opaque = $arg2
|
|
170
|
+
opcode = $arg3
|
|
171
|
+
latency_ns = $arg4
|
|
172
|
+
rc = $arg5
|
|
173
|
+
key = user_string_n($arg6, $arg7)
|
|
174
|
+
bytes = user_string_n($arg8, $arg9)
|
|
175
|
+
flags = $arg10
|
|
176
|
+
cas = $arg11
|
|
177
|
+
datatype = $arg12
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* probe libcouchbase.kv.arithmetic.begin - start of INCR/DECR operation
|
|
182
|
+
*
|
|
183
|
+
* @lcb: client instance
|
|
184
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
185
|
+
* @vbucket: number of partition
|
|
186
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
187
|
+
* @key: document id
|
|
188
|
+
* @delta: the 64 bit value to change the counter
|
|
189
|
+
* @initial: the value to use, when document is not exist
|
|
190
|
+
* @expiration: document expiration (0 when should not expire)
|
|
191
|
+
*
|
|
192
|
+
* Example:
|
|
193
|
+
*
|
|
194
|
+
* probe libcouchbase.kv.arithmetic.begin {
|
|
195
|
+
* printf("[%p] opcode: %s, delta: %d, initial: %d, key: %s\n",
|
|
196
|
+
* lcb, libcouchbase_opcode(opcode), delta, initial, key)
|
|
197
|
+
* }
|
|
198
|
+
*
|
|
199
|
+
*
|
|
200
|
+
* $ stap test.stp -c "cbc incr --initial 42 --delta 3 cnt"
|
|
201
|
+
* cnt Current value is 42. CAS=0x15026eea18850000
|
|
202
|
+
* [0x117bdd0] opcode: INCREMENT, delta: 3, initial: 42, key: cnt
|
|
203
|
+
*/
|
|
204
|
+
probe libcouchbase.kv.arithmetic.begin =
|
|
205
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("arithmetic_begin")
|
|
206
|
+
{
|
|
207
|
+
lcb = $arg1
|
|
208
|
+
opaque = $arg2
|
|
209
|
+
vbucket = $arg3
|
|
210
|
+
opcode = $arg4
|
|
211
|
+
key = user_string_n($arg5, $arg6)
|
|
212
|
+
delta = $arg7
|
|
213
|
+
initial = $arg8
|
|
214
|
+
expiration = $arg9
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* probe libcouchbase.kv.arithmetic.end - end of INCR/DECR operation
|
|
219
|
+
*
|
|
220
|
+
* @lcb: client instance
|
|
221
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
222
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
223
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
224
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
225
|
+
* @key: document id
|
|
226
|
+
* @value: current value of the counter (as 64bit number)
|
|
227
|
+
* @cas: document CAS
|
|
228
|
+
*
|
|
229
|
+
* Example:
|
|
230
|
+
*
|
|
231
|
+
* probe libcouchbase.kv.arithmetic.end {
|
|
232
|
+
* printf("[%p] opcode: %s, rc: %d, cas: 0x%x, key: %s, value: %d\n",
|
|
233
|
+
* lcb, libcouchbase_opcode(opcode), rc, cas, key, value)
|
|
234
|
+
* }
|
|
235
|
+
*
|
|
236
|
+
*
|
|
237
|
+
* $ stap test.stp -c "cbc decr --delta 3 cnt"
|
|
238
|
+
* cnt Current value is 42. CAS=0x15026f100ece0000
|
|
239
|
+
* [0x6cf0b0] opcode: DECREMENT, rc: 0, cas: 0x15026f100ece0000, key: cnt, value: 42
|
|
240
|
+
*/
|
|
241
|
+
probe libcouchbase.kv.arithmetic.end =
|
|
242
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("arithmetic_end")
|
|
243
|
+
{
|
|
244
|
+
lcb = $arg1
|
|
245
|
+
opaque = $arg2
|
|
246
|
+
opcode = $arg3
|
|
247
|
+
latency_ns = $arg4
|
|
248
|
+
rc = $arg5
|
|
249
|
+
key = user_string_n($arg6, $arg7)
|
|
250
|
+
value = $arg8
|
|
251
|
+
cas = $arg9
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* probe libcouchbase.kv.remove.begin - start of DELETE operation
|
|
256
|
+
*
|
|
257
|
+
* @lcb: client instance
|
|
258
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
259
|
+
* @vbucket: number of partition
|
|
260
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
261
|
+
* @key: document id
|
|
262
|
+
*
|
|
263
|
+
* Example:
|
|
264
|
+
*
|
|
265
|
+
* probe libcouchbase.kv.remove.begin {
|
|
266
|
+
* printf("[%p] opcode: %s, key: %s\n",
|
|
267
|
+
* lcb, libcouchbase_opcode(opcode), key)
|
|
268
|
+
* }
|
|
269
|
+
*
|
|
270
|
+
*
|
|
271
|
+
* $ stap test.stp -c "cbc rm cnt"
|
|
272
|
+
* cnt Deleted. CAS=0x15026f2ec2c90000
|
|
273
|
+
* [0x9280c0] opcode: DELETE, key: cnt
|
|
274
|
+
*/
|
|
275
|
+
probe libcouchbase.kv.remove.begin =
|
|
276
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("remove_begin")
|
|
277
|
+
{
|
|
278
|
+
lcb = $arg1
|
|
279
|
+
opaque = $arg2
|
|
280
|
+
vbucket = $arg3
|
|
281
|
+
opcode = $arg4
|
|
282
|
+
key = user_string_n($arg5, $arg6)
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* probe libcouchbase.kv.remove.end - end of DELETE operation
|
|
287
|
+
*
|
|
288
|
+
* @lcb: client instance
|
|
289
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
290
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
291
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
292
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
293
|
+
* @key: document id
|
|
294
|
+
* @cas: document CAS
|
|
295
|
+
*
|
|
296
|
+
* Example:
|
|
297
|
+
*
|
|
298
|
+
* probe libcouchbase.kv.remove.end {
|
|
299
|
+
* printf("[%p] opcode: %s, rc: %d, cas: 0x%x, key: %s\n",
|
|
300
|
+
* lcb, libcouchbase_opcode(opcode), rc, cas, key)
|
|
301
|
+
* }
|
|
302
|
+
|
|
303
|
+
*
|
|
304
|
+
* $ stap test.stp -c "cbc rm cnt"
|
|
305
|
+
* cnt Deleted. CAS=0x15026f2ec2c90000
|
|
306
|
+
* [0x9280c0] opcode: DELETE, rc: 0, cas: 0x15026f2ec2c90000, key: cnt
|
|
307
|
+
*/
|
|
308
|
+
probe libcouchbase.kv.remove.end =
|
|
309
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("remove_end")
|
|
310
|
+
{
|
|
311
|
+
lcb = $arg1
|
|
312
|
+
opaque = $arg2
|
|
313
|
+
opcode = $arg3
|
|
314
|
+
latency_ns = $arg4
|
|
315
|
+
rc = $arg5
|
|
316
|
+
key = user_string_n($arg6, $arg7)
|
|
317
|
+
cas = $arg8
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* probe libcouchbase.kv.store.begin - start of SET/ADD/REPLACE/APPEND/PREPEND operation
|
|
322
|
+
*
|
|
323
|
+
* @lcb: client instance
|
|
324
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
325
|
+
* @vbucket: number of partition
|
|
326
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
327
|
+
* @key: document id
|
|
328
|
+
* @bytes: document body
|
|
329
|
+
* @flags: document flags
|
|
330
|
+
* @cas: document CAS
|
|
331
|
+
* @datatype: document datatype, see memcached/protocol_binary.h
|
|
332
|
+
* @expiration: document expiration (0 when should not expire)
|
|
333
|
+
*
|
|
334
|
+
* Example:
|
|
335
|
+
*
|
|
336
|
+
* probe libcouchbase.kv.store.begin {
|
|
337
|
+
* printf("[%p] opcode: %s, key: %s, value: %s, expiration: %d\n",
|
|
338
|
+
* lcb, libcouchbase_opcode(opcode), key, bytes, expiration)
|
|
339
|
+
* }
|
|
340
|
+
*
|
|
341
|
+
*
|
|
342
|
+
* $ stap test.stp -c "cbc cp -e 30 foo"
|
|
343
|
+
* foo Stored. CAS=0x15026f8450790000
|
|
344
|
+
* [0x7e0070] opcode: SET, key: foo, value: {"foo":"bar"}, expiration: 30
|
|
345
|
+
*/
|
|
346
|
+
probe libcouchbase.kv.store.begin =
|
|
347
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("store_begin")
|
|
348
|
+
{
|
|
349
|
+
lcb = $arg1
|
|
350
|
+
opaque = $arg2
|
|
351
|
+
vbucket = $arg3
|
|
352
|
+
opcode = $arg4
|
|
353
|
+
key = user_string_n($arg5, $arg6)
|
|
354
|
+
bytes = user_string_n($arg7, $arg8)
|
|
355
|
+
flags = $arg9
|
|
356
|
+
cas = $arg10
|
|
357
|
+
datatype = $arg11
|
|
358
|
+
expiration = $arg12
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* probe libcouchbase.kv.store.end - end of SET/ADD/REPLACE/APPEND/PREPEND operation
|
|
363
|
+
*
|
|
364
|
+
* @lcb: client instance
|
|
365
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
366
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
367
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
368
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
369
|
+
* @key: document id
|
|
370
|
+
* @cas: document CAS
|
|
371
|
+
*
|
|
372
|
+
* Example:
|
|
373
|
+
*
|
|
374
|
+
* probe libcouchbase.kv.store.end {
|
|
375
|
+
* printf("[%p] opcode: %s, rc: %d, cas: 0x%x, key: %s\n",
|
|
376
|
+
* lcb, libcouchbase_opcode(opcode), rc, cas, key)
|
|
377
|
+
* }
|
|
378
|
+
*
|
|
379
|
+
*
|
|
380
|
+
* $ stap test.stp -c "cbc cp -e 30 foo"
|
|
381
|
+
* foo Stored. CAS=0x15026f8450790000
|
|
382
|
+
* [0x7e0070] opcode: SET, rc: 0, cas: 0x15026f8450790000, key: foo
|
|
383
|
+
*/
|
|
384
|
+
probe libcouchbase.kv.store.end =
|
|
385
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("store_end")
|
|
386
|
+
{
|
|
387
|
+
lcb = $arg1
|
|
388
|
+
opaque = $arg2
|
|
389
|
+
opcode = $arg3
|
|
390
|
+
latency_ns = $arg4
|
|
391
|
+
rc = $arg5
|
|
392
|
+
key = user_string_n($arg6, $arg7)
|
|
393
|
+
cas = $arg8
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* probe libcouchbase.kv.unlock.begin - start of UNLOCK operation
|
|
398
|
+
*
|
|
399
|
+
* @lcb: client instance
|
|
400
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
401
|
+
* @vbucket: number of partition
|
|
402
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
403
|
+
* @key: document id
|
|
404
|
+
*
|
|
405
|
+
* Example:
|
|
406
|
+
*
|
|
407
|
+
* probe libcouchbase.kv.unlock.begin {
|
|
408
|
+
* printf("[%p] opcode: %s, key: %s\n",
|
|
409
|
+
* lcb, libcouchbase_opcode(opcode), key)
|
|
410
|
+
* }
|
|
411
|
+
*
|
|
412
|
+
*
|
|
413
|
+
* $ stap test.stp -c "cbc unlock foo 0x15028f7bafc20000"
|
|
414
|
+
* foo Unlocked
|
|
415
|
+
* [0x20d7100] opcode: UNLOCK_KEY, key: foo
|
|
416
|
+
*/
|
|
417
|
+
probe libcouchbase.kv.unlock.begin =
|
|
418
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("unlock_begin")
|
|
419
|
+
{
|
|
420
|
+
lcb = $arg1
|
|
421
|
+
opaque = $arg2
|
|
422
|
+
vbucket = $arg3
|
|
423
|
+
opcode = $arg4
|
|
424
|
+
key = user_string_n($arg5, $arg6)
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* probe libcouchbase.kv.unlock.end - end of UNLOCK operation
|
|
429
|
+
*
|
|
430
|
+
* @lcb: client instance
|
|
431
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
432
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
433
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
434
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
435
|
+
* @key: document id
|
|
436
|
+
*
|
|
437
|
+
* Example:
|
|
438
|
+
*
|
|
439
|
+
* probe libcouchbase.kv.unlock.end {
|
|
440
|
+
* printf("[%p] opcode: %s, rc: %d, key: %s\n",
|
|
441
|
+
* lcb, libcouchbase_opcode(opcode), rc, key)
|
|
442
|
+
* }
|
|
443
|
+
*
|
|
444
|
+
*
|
|
445
|
+
* $ stap test.stp -c "cbc unlock foo 0x15028f7bafc20000"
|
|
446
|
+
* foo Unlocked
|
|
447
|
+
* [0x20d7100] opcode: UNLOCK_KEY, rc: 0, key: foo
|
|
448
|
+
*/
|
|
449
|
+
probe libcouchbase.kv.unlock.end =
|
|
450
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("unlock_end")
|
|
451
|
+
{
|
|
452
|
+
lcb = $arg1
|
|
453
|
+
opaque = $arg2
|
|
454
|
+
opcode = $arg3
|
|
455
|
+
latency_ns = $arg4
|
|
456
|
+
rc = $arg5
|
|
457
|
+
key = user_string_n($arg6, $arg7)
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* probe libcouchbase.kv.touch.begin - start of TOUCH operation
|
|
462
|
+
*
|
|
463
|
+
* @lcb: client instance
|
|
464
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
465
|
+
* @vbucket: number of partition
|
|
466
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
467
|
+
* @key: document id
|
|
468
|
+
* @expiration: document expiration (0 when should not expire)
|
|
469
|
+
*
|
|
470
|
+
* Example:
|
|
471
|
+
*
|
|
472
|
+
* probe libcouchbase.kv.touch.begin {
|
|
473
|
+
* printf("[%p] opcode: %s, key: %s, expiration: %d\n",
|
|
474
|
+
* lcb, libcouchbase_opcode(opcode), key, expiration)
|
|
475
|
+
* }
|
|
476
|
+
*
|
|
477
|
+
*
|
|
478
|
+
* $ stap test.stp -c "cbc touch -e 10 foo"
|
|
479
|
+
* foo Touched. CAS=0x150290b309ad0000
|
|
480
|
+
* [0x141edb0] opcode: TOUCH, rc: 0, cas: 0x150290b309ad0000, key: foo
|
|
481
|
+
*/
|
|
482
|
+
probe libcouchbase.kv.touch.begin =
|
|
483
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("touch_begin")
|
|
484
|
+
{
|
|
485
|
+
lcb = $arg1
|
|
486
|
+
opaque = $arg2
|
|
487
|
+
vbucket = $arg3
|
|
488
|
+
opcode = $arg4
|
|
489
|
+
key = user_string_n($arg5, $arg6)
|
|
490
|
+
expiration = $arg7
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* probe libcouchbase.kv.touch.end - end of TOUCH operation
|
|
495
|
+
*
|
|
496
|
+
* @lcb: client instance
|
|
497
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
498
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
499
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
500
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
501
|
+
* @key: document id
|
|
502
|
+
* @cas: document CAS
|
|
503
|
+
*
|
|
504
|
+
* Example:
|
|
505
|
+
*
|
|
506
|
+
* probe libcouchbase.kv.touch.end {
|
|
507
|
+
* printf("[%p] opcode: %s, rc: %d, cas: 0x%x, key: %s\n",
|
|
508
|
+
* lcb, libcouchbase_opcode(opcode), rc, cas, key)
|
|
509
|
+
* }
|
|
510
|
+
*
|
|
511
|
+
*
|
|
512
|
+
* $ stap test.stp -c "cbc touch -e 10 foo"
|
|
513
|
+
* foo Touched. CAS=0x150290b309ad0000
|
|
514
|
+
* [0x141edb0] opcode: TOUCH, rc: 0, cas: 0x150290b309ad0000, key: foo
|
|
515
|
+
*/
|
|
516
|
+
probe libcouchbase.kv.touch.end =
|
|
517
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("touch_end")
|
|
518
|
+
{
|
|
519
|
+
lcb = $arg1
|
|
520
|
+
opaque = $arg2
|
|
521
|
+
opcode = $arg3
|
|
522
|
+
latency_ns = $arg4
|
|
523
|
+
rc = $arg5
|
|
524
|
+
key = user_string_n($arg6, $arg7)
|
|
525
|
+
cas = $arg8
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/*
|
|
529
|
+
* probe libcouchbase.kv.observe.begin - start of OBSERVE operation
|
|
530
|
+
*
|
|
531
|
+
* @lcb: client instance
|
|
532
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
533
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
534
|
+
* @bytes: pointer to payload (as long)
|
|
535
|
+
* @nbytes: size of payload
|
|
536
|
+
*
|
|
537
|
+
* libcouchbase.observe.begin probe intended to be parsed in the handler.
|
|
538
|
+
* the bytes argument is a blob with nbytes length:
|
|
539
|
+
*
|
|
540
|
+
* +---------+---------+------------+----
|
|
541
|
+
* | 16 bits | 16 bits | nkey bytes | ...
|
|
542
|
+
* +---------+---------+------------+----
|
|
543
|
+
* | vbucket | nkey | key | ...
|
|
544
|
+
* +---------+---------+------------+----
|
|
545
|
+
*
|
|
546
|
+
* Example:
|
|
547
|
+
*
|
|
548
|
+
* probe libcouchbase.kv.observe.begin {
|
|
549
|
+
* printf("[%p] opcode: %d, opaque: %d\n", lcb, libcouchbase_opcode(opcode), opaque)
|
|
550
|
+
* while (nbytes > 0) {
|
|
551
|
+
* vbucket = ntohs(user_uint16(bytes))
|
|
552
|
+
* nbytes -= 2
|
|
553
|
+
* bytes += 2
|
|
554
|
+
* nkey = ntohs(user_uint16(bytes))
|
|
555
|
+
* nbytes -= 2
|
|
556
|
+
* bytes += 2
|
|
557
|
+
* key = user_string_n(bytes, nkey)
|
|
558
|
+
* nbytes -= nkey
|
|
559
|
+
* bytes += nkey
|
|
560
|
+
* printf(" vbucket: %d, nkey: %d, key: %s\n", vbucket, nkey, key)
|
|
561
|
+
* }
|
|
562
|
+
* }
|
|
563
|
+
*
|
|
564
|
+
*
|
|
565
|
+
* The following command executed on cluster with 4 nodes, and replication factor 3.
|
|
566
|
+
*
|
|
567
|
+
* $ stap test.stp -c "cbc observe foo bar"
|
|
568
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
569
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
570
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
571
|
+
* bar [Master] Status=0x1, CAS=0x1502951fe0040000
|
|
572
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
573
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
574
|
+
* foo [Master] Status=0x1, CAS=0x1502952004ed0000
|
|
575
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
576
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 0
|
|
577
|
+
* vbucket: 115, nkey: 3, key: foo
|
|
578
|
+
* vbucket: 767, nkey: 3, key: bar
|
|
579
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 1
|
|
580
|
+
* vbucket: 115, nkey: 3, key: foo
|
|
581
|
+
* vbucket: 767, nkey: 3, key: bar
|
|
582
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 2
|
|
583
|
+
* vbucket: 115, nkey: 3, key: foo
|
|
584
|
+
* vbucket: 767, nkey: 3, key: bar
|
|
585
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 3
|
|
586
|
+
* vbucket: 115, nkey: 3, key: foo
|
|
587
|
+
* vbucket: 767, nkey: 3, key: bar
|
|
588
|
+
*/
|
|
589
|
+
probe libcouchbase.kv.observe.begin =
|
|
590
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("observe_begin")
|
|
591
|
+
{
|
|
592
|
+
lcb = $arg1
|
|
593
|
+
opaque = $arg2
|
|
594
|
+
opcode = $arg4
|
|
595
|
+
bytes = $arg5
|
|
596
|
+
nbytes = $arg6
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
/**
|
|
600
|
+
* probe libcouchbase.kv.observe.progress - intermediate response of OBSERVE operation
|
|
601
|
+
*
|
|
602
|
+
* @lcb: client instance
|
|
603
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
604
|
+
* @vbucket: number of partition
|
|
605
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
606
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
607
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
608
|
+
* @key: document id
|
|
609
|
+
* @status: observe status: FOUND = 0x00, PERSISTED = 0x01, NOT_FOUND = 0x80
|
|
610
|
+
* @master: whether response from master node (zero if from replica)
|
|
611
|
+
* @ttp: time to persist
|
|
612
|
+
* @ttr: time to replicate
|
|
613
|
+
*
|
|
614
|
+
* Example:
|
|
615
|
+
*
|
|
616
|
+
* probe libcouchbase.kv.observe.progress {
|
|
617
|
+
* printf("[%p] opcode: %s, opaque: %d, rc: %d, key: %s, status: %d, master: %s\n",
|
|
618
|
+
* lcb, libcouchbase_opcode(opcode), opaque, rc, key, status, master ? "true" : "false")
|
|
619
|
+
* }
|
|
620
|
+
*
|
|
621
|
+
*
|
|
622
|
+
* The following command executed on cluster with 4 nodes, and replication factor 3.
|
|
623
|
+
*
|
|
624
|
+
* $ stap test.stp -c "cbc observe foo bar"
|
|
625
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
626
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
627
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
628
|
+
* bar [Master] Status=0x1, CAS=0x1502951fe0040000
|
|
629
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
630
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
631
|
+
* foo [Master] Status=0x1, CAS=0x1502952004ed0000
|
|
632
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
633
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 0, rc: 0, key: foo, status: 1, master: false
|
|
634
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 0, rc: 0, key: bar, status: 1, master: false
|
|
635
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 3, rc: 0, key: foo, status: 1, master: false
|
|
636
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 3, rc: 0, key: bar, status: 1, master: true
|
|
637
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 1, rc: 0, key: foo, status: 1, master: false
|
|
638
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 1, rc: 0, key: bar, status: 1, master: false
|
|
639
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 2, rc: 0, key: foo, status: 1, master: true
|
|
640
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 2, rc: 0, key: bar, status: 1, master: false
|
|
641
|
+
*/
|
|
642
|
+
probe libcouchbase.kv.observe.progress =
|
|
643
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("observe_progress")
|
|
644
|
+
{
|
|
645
|
+
lcb = $arg1
|
|
646
|
+
opaque = $arg2
|
|
647
|
+
opcode = $arg3
|
|
648
|
+
latency_ns = $arg4
|
|
649
|
+
rc = $arg5
|
|
650
|
+
key = user_string_n($arg6, $arg7)
|
|
651
|
+
cas = $arg8
|
|
652
|
+
status = $arg9
|
|
653
|
+
master = $arg10
|
|
654
|
+
ttp = $arg11
|
|
655
|
+
ttr = $arg12
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* probe libcouchbase.kv.observe.end - end of OBSERVE operation
|
|
660
|
+
*
|
|
661
|
+
* @lcb: client instance
|
|
662
|
+
* @opaque: unique number for this request (visible on network, returned by server back)
|
|
663
|
+
* @opcode: opcode, see memcached/protocol_binary.h
|
|
664
|
+
* @latency_ns: time from schedule to dispatch of the command
|
|
665
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
666
|
+
*
|
|
667
|
+
* Example:
|
|
668
|
+
*
|
|
669
|
+
* probe libcouchbase.kv.observe.end {
|
|
670
|
+
* printf("[%p] opcode: %s, opaque, rc: %d\n",
|
|
671
|
+
* lcb, libcouchbase_opcode(opcode), opaque, rc)
|
|
672
|
+
* }
|
|
673
|
+
*
|
|
674
|
+
*
|
|
675
|
+
* The following command executed on cluster with 4 nodes, and replication factor 3.
|
|
676
|
+
*
|
|
677
|
+
* $ stap test.stp -c "cbc observe foo bar"
|
|
678
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
679
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
680
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
681
|
+
* bar [Master] Status=0x1, CAS=0x1502951fe0040000
|
|
682
|
+
* foo [Replica] Status=0x1, CAS=0x1502952004ed0000
|
|
683
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
684
|
+
* foo [Master] Status=0x1, CAS=0x1502952004ed0000
|
|
685
|
+
* bar [Replica] Status=0x1, CAS=0x1502951fe0040000
|
|
686
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 0, rc: 0
|
|
687
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 3, rc: 0
|
|
688
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 1, rc: 0
|
|
689
|
+
* [0xb33dc0] opcode: OBSERVE, opaque: 2, rc: 0
|
|
690
|
+
*/
|
|
691
|
+
probe libcouchbase.kv.observe.end =
|
|
692
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("observe_end")
|
|
693
|
+
{
|
|
694
|
+
lcb = $arg1
|
|
695
|
+
opaque = $arg2
|
|
696
|
+
opcode = $arg3
|
|
697
|
+
latency_ns = $arg4
|
|
698
|
+
rc = $arg5
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* probe libcouchbase.http.begin - start of HTTP request
|
|
703
|
+
*
|
|
704
|
+
* @lcb: client instance
|
|
705
|
+
* @req: pointer to request
|
|
706
|
+
* @type: type of request, see enum lcb_http_type_t in libcouchbase/couchbase.h
|
|
707
|
+
* @method: HTTP method of request, see enum lcb_http_method_t in libcouchbase/couchbase.h
|
|
708
|
+
* @url: request URL (including schema, host and port)
|
|
709
|
+
* @host: target hostname
|
|
710
|
+
* @port: target port
|
|
711
|
+
*
|
|
712
|
+
* Example:
|
|
713
|
+
*
|
|
714
|
+
* probe libcouchbase.http.begin {
|
|
715
|
+
* printf("[%p] req: %p, type: %s, url: %s, host: %s, port: %s\n",
|
|
716
|
+
* lcb, req, libcouchbase_http_type(type), url, host, port)
|
|
717
|
+
* }
|
|
718
|
+
*
|
|
719
|
+
*
|
|
720
|
+
* $ stap test.stp -c "cbc n1ql 'select 1'"
|
|
721
|
+
* ---> Encoded query: {"statement":"select 1"}
|
|
722
|
+
*
|
|
723
|
+
* {"$1":1},
|
|
724
|
+
* ---> Query response finished
|
|
725
|
+
* {
|
|
726
|
+
* "requestID": "c36facda-b37e-43b5-a958-7f31afb8468f",
|
|
727
|
+
* "signature": {"$1":"number"},
|
|
728
|
+
* "results": [
|
|
729
|
+
* ],
|
|
730
|
+
* "status": "success",
|
|
731
|
+
* "metrics": {"elapsedTime": "380.883µs","executionTime": "360.955µs","resultCount": 1,"resultSize": 8}
|
|
732
|
+
* }
|
|
733
|
+
*
|
|
734
|
+
* [0x1af6de0] req: 0x1b12250, type: N1QL, url: http://192.168.1.104:8093/query/service, host: 192.168.1.104, port: 8093
|
|
735
|
+
*/
|
|
736
|
+
probe libcouchbase.http.begin =
|
|
737
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("http_begin")
|
|
738
|
+
{
|
|
739
|
+
lcb = $arg1
|
|
740
|
+
req = $arg2
|
|
741
|
+
type = $arg3
|
|
742
|
+
method = $arg4
|
|
743
|
+
url = user_string($arg5)
|
|
744
|
+
host = user_string($arg6)
|
|
745
|
+
port = user_string($arg7)
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* probe libcouchbase.http.end - start of HTTP request
|
|
750
|
+
*
|
|
751
|
+
* @lcb: client instance
|
|
752
|
+
* @req: pointer to request
|
|
753
|
+
* @type: type of request, see enum lcb_http_type_t in libcouchbase/couchbase.h
|
|
754
|
+
* @method: HTTP method of request, see enum lcb_http_method_t in libcouchbase/couchbase.h
|
|
755
|
+
* @url: request URL (including schema, host and port)
|
|
756
|
+
* @host: target hostname
|
|
757
|
+
* @port: target port
|
|
758
|
+
* @rc: return code from the library see libcouchbase/error.h
|
|
759
|
+
* @status: HTTP status code (number)
|
|
760
|
+
* @latency_ns: time from schedule to dispatch of the request
|
|
761
|
+
*
|
|
762
|
+
* Example:
|
|
763
|
+
*
|
|
764
|
+
* probe libcouchbase.http.end {
|
|
765
|
+
* printf("[%p] req: %p, type: %s, url: %s, host: %s, port: %s, rc: %d, status: %d\n",
|
|
766
|
+
* lcb, req, libcouchbase_http_type(type), url, host, port, rc, status)
|
|
767
|
+
* }
|
|
768
|
+
*
|
|
769
|
+
*
|
|
770
|
+
* $ stap test.stp -c "cbc n1ql 'select 1'"
|
|
771
|
+
* ---> Encoded query: {"statement":"select 1"}
|
|
772
|
+
*
|
|
773
|
+
* {"$1":1},
|
|
774
|
+
* ---> Query response finished
|
|
775
|
+
* {
|
|
776
|
+
* "requestID": "c36facda-b37e-43b5-a958-7f31afb8468f",
|
|
777
|
+
* "signature": {"$1":"number"},
|
|
778
|
+
* "results": [
|
|
779
|
+
* ],
|
|
780
|
+
* "status": "success",
|
|
781
|
+
* "metrics": {"elapsedTime": "380.883µs","executionTime": "360.955µs","resultCount": 1,"resultSize": 8}
|
|
782
|
+
* }
|
|
783
|
+
*
|
|
784
|
+
* [0x1af6de0] req: 0x1b12250, type: N1QL, url: http://192.168.1.104:8093/query/service, host: 192.168.1.104, port: 8093, rc: 0, status: 200
|
|
785
|
+
*/
|
|
786
|
+
probe libcouchbase.http.end =
|
|
787
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("http_end")
|
|
788
|
+
{
|
|
789
|
+
lcb = $arg1
|
|
790
|
+
req = $arg2
|
|
791
|
+
type = $arg3
|
|
792
|
+
method = $arg4
|
|
793
|
+
url = user_string($arg5)
|
|
794
|
+
host = user_string($arg6)
|
|
795
|
+
port = user_string($arg7)
|
|
796
|
+
rc = $arg8
|
|
797
|
+
status = $arg9
|
|
798
|
+
latency_us = $arg10
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
/**
|
|
802
|
+
* probe libcouchbase.config.new - new configuration applied to the lcb_t instance
|
|
803
|
+
*
|
|
804
|
+
* @lcb: client instance
|
|
805
|
+
* @revid: configuration revision
|
|
806
|
+
* @bucket_name: name of the bucket
|
|
807
|
+
* @bucket_uuid: UUID of the bucket
|
|
808
|
+
*
|
|
809
|
+
* Example:
|
|
810
|
+
*
|
|
811
|
+
* probe libcouchbase.config.new {
|
|
812
|
+
* printf("[%p] NEW CONFIG revid: %d, bucket: %s, uuid: %s\n",
|
|
813
|
+
* lcb, revid, bucket_name, bucket_uuid)
|
|
814
|
+
* }
|
|
815
|
+
*
|
|
816
|
+
*
|
|
817
|
+
* $ stap test.stp -c "cbc hash foo"
|
|
818
|
+
* foo: [vBucket=115, Index=0] Server: 127.0.0.1:11210, CouchAPI: http://127.0.0.1:8092/default
|
|
819
|
+
* Replica #0: Index=-1, Host=N/A
|
|
820
|
+
* [0xd2e790] NEW CONFIG revid: 14, bucket: default, uuid: 44bb7edf04fd3aa86d00a644b2794eea
|
|
821
|
+
*/
|
|
822
|
+
probe libcouchbase.config.new =
|
|
823
|
+
process("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libcouchbase.so.${LCB_SONAME_FULL}").mark("new_config")
|
|
824
|
+
{
|
|
825
|
+
lcb = $arg1
|
|
826
|
+
revid = $arg2
|
|
827
|
+
bucket_name = user_string($arg3)
|
|
828
|
+
bucket_uuid = user_string($arg4)
|
|
829
|
+
}
|