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.
Files changed (707) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +38 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +24 -0
  8. data/README.md +445 -0
  9. data/Rakefile +76 -0
  10. data/ext/README.md +6 -0
  11. data/ext/Rakefile +19 -0
  12. data/ext/libcouchbase/.gitignore +132 -0
  13. data/ext/libcouchbase/CMakeLists.txt +455 -0
  14. data/ext/libcouchbase/CONTRIBUTING.md +105 -0
  15. data/ext/libcouchbase/LICENSE +202 -0
  16. data/ext/libcouchbase/README.markdown +195 -0
  17. data/ext/libcouchbase/RELEASE_NOTES.markdown +3523 -0
  18. data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +52 -0
  19. data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
  20. data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
  21. data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +18 -0
  22. data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
  23. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
  24. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +54 -0
  25. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +57 -0
  26. data/ext/libcouchbase/cmake/Modules/FindProfiler.cmake +16 -0
  27. data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +49 -0
  28. data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +142 -0
  29. data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
  30. data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
  31. data/ext/libcouchbase/cmake/config-cmake.h.in +80 -0
  32. data/ext/libcouchbase/cmake/configure +355 -0
  33. data/ext/libcouchbase/cmake/defs.mk.in +6 -0
  34. data/ext/libcouchbase/cmake/dtrace-instr-link.pl +51 -0
  35. data/ext/libcouchbase/cmake/libcouchbase.stp.in +829 -0
  36. data/ext/libcouchbase/cmake/source_files.cmake +104 -0
  37. data/ext/libcouchbase/contrib/cJSON/cJSON.c +1022 -0
  38. data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
  39. data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +25 -0
  40. data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
  41. data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +259 -0
  42. data/ext/libcouchbase/contrib/cbsasl/src/client.c +419 -0
  43. data/ext/libcouchbase/contrib/cbsasl/src/common.c +50 -0
  44. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
  45. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
  46. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
  47. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
  48. data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
  49. data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
  50. data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.c +500 -0
  51. data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.h +99 -0
  52. data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
  53. data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
  54. data/ext/libcouchbase/contrib/cliopts/cliopts.c +938 -0
  55. data/ext/libcouchbase/contrib/cliopts/cliopts.h +610 -0
  56. data/ext/libcouchbase/contrib/genhash/genhash.c +371 -0
  57. data/ext/libcouchbase/contrib/genhash/genhash.h +241 -0
  58. data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
  59. data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
  60. data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
  61. data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
  62. data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
  63. data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
  64. data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
  65. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
  66. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
  67. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
  68. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
  69. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
  70. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
  71. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
  72. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
  73. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
  74. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
  75. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
  76. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
  77. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
  78. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
  79. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
  80. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
  81. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
  82. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
  83. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
  84. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
  85. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
  86. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
  87. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
  88. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
  89. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
  90. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
  91. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
  92. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
  93. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
  94. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
  95. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
  96. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
  97. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
  98. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
  99. data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
  100. data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
  101. data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
  102. data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
  103. data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
  104. data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
  105. data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
  106. data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
  107. data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
  108. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
  109. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4893 -0
  110. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
  111. data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +7 -0
  112. data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
  113. data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
  114. data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
  115. data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
  116. data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
  117. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +75 -0
  118. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
  119. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
  120. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
  121. data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +100 -0
  122. data/ext/libcouchbase/contrib/snappy/snappy.cc +1312 -0
  123. data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
  124. data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
  125. data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
  126. data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
  127. data/ext/libcouchbase/doc/Doxyfile +2495 -0
  128. data/ext/libcouchbase/doc/DoxygenLayout.xml +109 -0
  129. data/ext/libcouchbase/doc/Makefile +44 -0
  130. data/ext/libcouchbase/doc/apiattr.h +117 -0
  131. data/ext/libcouchbase/doc/cbc-n1qlback.markdown +88 -0
  132. data/ext/libcouchbase/doc/cbc-pillowfight.markdown +296 -0
  133. data/ext/libcouchbase/doc/cbc-subdoc.markdown +299 -0
  134. data/ext/libcouchbase/doc/cbc.markdown +763 -0
  135. data/ext/libcouchbase/doc/cbcrc.markdown +52 -0
  136. data/ext/libcouchbase/doc/common-additional-options.markdown +82 -0
  137. data/ext/libcouchbase/doc/common-options.markdown +71 -0
  138. data/ext/libcouchbase/doc/environment.h +93 -0
  139. data/ext/libcouchbase/doc/example/threads.c +77 -0
  140. data/ext/libcouchbase/doc/footer.html +22 -0
  141. data/ext/libcouchbase/doc/genman.sh +25 -0
  142. data/ext/libcouchbase/doc/header.html +52 -0
  143. data/ext/libcouchbase/doc/intro.h +130 -0
  144. data/ext/libcouchbase/doc/mainpage.h +136 -0
  145. data/ext/libcouchbase/doc/man/cbc-admin.1 +1 -0
  146. data/ext/libcouchbase/doc/man/cbc-bucket-create.1 +1 -0
  147. data/ext/libcouchbase/doc/man/cbc-bucket-delete.1 +1 -0
  148. data/ext/libcouchbase/doc/man/cbc-cat.1 +1 -0
  149. data/ext/libcouchbase/doc/man/cbc-connstr.1 +1 -0
  150. data/ext/libcouchbase/doc/man/cbc-cp.1 +1 -0
  151. data/ext/libcouchbase/doc/man/cbc-create.1 +1 -0
  152. data/ext/libcouchbase/doc/man/cbc-decr.1 +1 -0
  153. data/ext/libcouchbase/doc/man/cbc-flush.1 +1 -0
  154. data/ext/libcouchbase/doc/man/cbc-hash.1 +1 -0
  155. data/ext/libcouchbase/doc/man/cbc-incr.1 +1 -0
  156. data/ext/libcouchbase/doc/man/cbc-lock.1 +1 -0
  157. data/ext/libcouchbase/doc/man/cbc-mcflush.1 +1 -0
  158. data/ext/libcouchbase/doc/man/cbc-mcversion.1 +1 -0
  159. data/ext/libcouchbase/doc/man/cbc-n1ql.1 +1 -0
  160. data/ext/libcouchbase/doc/man/cbc-n1qlback.1 +198 -0
  161. data/ext/libcouchbase/doc/man/cbc-observe.1 +1 -0
  162. data/ext/libcouchbase/doc/man/cbc-pillowfight.1 +499 -0
  163. data/ext/libcouchbase/doc/man/cbc-ping.1 +1 -0
  164. data/ext/libcouchbase/doc/man/cbc-rm.1 +1 -0
  165. data/ext/libcouchbase/doc/man/cbc-role-list.1 +1 -0
  166. data/ext/libcouchbase/doc/man/cbc-stats.1 +1 -0
  167. data/ext/libcouchbase/doc/man/cbc-subdoc.1 +494 -0
  168. data/ext/libcouchbase/doc/man/cbc-unlock.1 +1 -0
  169. data/ext/libcouchbase/doc/man/cbc-user-delete.1 +1 -0
  170. data/ext/libcouchbase/doc/man/cbc-user-list.1 +1 -0
  171. data/ext/libcouchbase/doc/man/cbc-user-upsert.1 +1 -0
  172. data/ext/libcouchbase/doc/man/cbc-verbosity.1 +1 -0
  173. data/ext/libcouchbase/doc/man/cbc-version.1 +1 -0
  174. data/ext/libcouchbase/doc/man/cbc-view.1 +1 -0
  175. data/ext/libcouchbase/doc/man/cbc-watch.1 +1 -0
  176. data/ext/libcouchbase/doc/man/cbc.1 +1035 -0
  177. data/ext/libcouchbase/doc/man/cbcrc.4 +71 -0
  178. data/ext/libcouchbase/doc/style.css +1162 -0
  179. data/ext/libcouchbase/example/CMakeLists.txt +52 -0
  180. data/ext/libcouchbase/example/README.markdown +47 -0
  181. data/ext/libcouchbase/example/analytics/.gitignore +1 -0
  182. data/ext/libcouchbase/example/analytics/analytics.c +158 -0
  183. data/ext/libcouchbase/example/analytics/build-queries.rb +34 -0
  184. data/ext/libcouchbase/example/analytics/cJSON.c +1 -0
  185. data/ext/libcouchbase/example/analytics/cJSON.h +1 -0
  186. data/ext/libcouchbase/example/analytics/queries/00-show-dataverse.json +5 -0
  187. data/ext/libcouchbase/example/analytics/queries/01-setup-dataset-breweries.json +6 -0
  188. data/ext/libcouchbase/example/analytics/queries/02-setup-dataset-beers.json +6 -0
  189. data/ext/libcouchbase/example/analytics/queries/03-initiate-shadow.json +6 -0
  190. data/ext/libcouchbase/example/analytics/queries/04-list-datasets.json +7 -0
  191. data/ext/libcouchbase/example/analytics/queries/05-count-breweries.json +5 -0
  192. data/ext/libcouchbase/example/analytics/queries/06-first-brewery.json +6 -0
  193. data/ext/libcouchbase/example/analytics/queries/07-key-based-lookup.json +6 -0
  194. data/ext/libcouchbase/example/analytics/queries/08-exact-match-lookup.json +7 -0
  195. data/ext/libcouchbase/example/analytics/queries/09-exact-match-lookup-different-shape.json +6 -0
  196. data/ext/libcouchbase/example/analytics/queries/10-other-query-filters.json +6 -0
  197. data/ext/libcouchbase/example/analytics/queries/11-equijoin.json +9 -0
  198. data/ext/libcouchbase/example/analytics/queries/12-equijoin-select-star.json +10 -0
  199. data/ext/libcouchbase/example/analytics/queries/13-ansi-join.json +8 -0
  200. data/ext/libcouchbase/example/analytics/queries/14-join-select-values.json +8 -0
  201. data/ext/libcouchbase/example/analytics/queries/15-nested-outer-join.json +7 -0
  202. data/ext/libcouchbase/example/analytics/queries/16-theta-join.json +8 -0
  203. data/ext/libcouchbase/example/analytics/queries/17-existential-quantification.json +9 -0
  204. data/ext/libcouchbase/example/analytics/queries/18-universal-quantification.json +7 -0
  205. data/ext/libcouchbase/example/analytics/queries/19-simple-aggregation.json +6 -0
  206. data/ext/libcouchbase/example/analytics/queries/20-simple-aggregation-unwrapped-value.json +6 -0
  207. data/ext/libcouchbase/example/analytics/queries/21-simple-aggregation-explicit.json +6 -0
  208. data/ext/libcouchbase/example/analytics/queries/22-grouping-and-aggregation.json +6 -0
  209. data/ext/libcouchbase/example/analytics/queries/23-grouping-and-aggregation-with-hint.json +7 -0
  210. data/ext/libcouchbase/example/analytics/queries/24-grouping-and-limits.json +7 -0
  211. data/ext/libcouchbase/example/analytics/queries/25-named-parameters.json +7 -0
  212. data/ext/libcouchbase/example/analytics/queries/26-positional-parameters.json +7 -0
  213. data/ext/libcouchbase/example/analytics/queries.h +113 -0
  214. data/ext/libcouchbase/example/crypto/.gitignore +2 -0
  215. data/ext/libcouchbase/example/crypto/Makefile +13 -0
  216. data/ext/libcouchbase/example/crypto/common_provider.c +26 -0
  217. data/ext/libcouchbase/example/crypto/common_provider.h +33 -0
  218. data/ext/libcouchbase/example/crypto/openssl_symmetric_decrypt.c +144 -0
  219. data/ext/libcouchbase/example/crypto/openssl_symmetric_encrypt.c +146 -0
  220. data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.c +271 -0
  221. data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.h +29 -0
  222. data/ext/libcouchbase/example/db/db.c +171 -0
  223. data/ext/libcouchbase/example/db/vb.c +227 -0
  224. data/ext/libcouchbase/example/fts/.gitignore +1 -0
  225. data/ext/libcouchbase/example/fts/build-queries.rb +33 -0
  226. data/ext/libcouchbase/example/fts/fts.c +142 -0
  227. data/ext/libcouchbase/example/fts/queries/00-simple-text-query.json +12 -0
  228. data/ext/libcouchbase/example/fts/queries/01-simple-text-query-on-non-default-index.json +9 -0
  229. data/ext/libcouchbase/example/fts/queries/02-simple-text-query-on-stored-field.json +13 -0
  230. data/ext/libcouchbase/example/fts/queries/03-match-query-with-facet.json +19 -0
  231. data/ext/libcouchbase/example/fts/queries/04-docid-query.json +11 -0
  232. data/ext/libcouchbase/example/fts/queries/05-unanalyzed-term-query-with-fuzziness-level-of-0.json +13 -0
  233. data/ext/libcouchbase/example/fts/queries/06-unanalyzed-term-query-with-fuzziness-level-of-2.json +14 -0
  234. data/ext/libcouchbase/example/fts/queries/07-match-phrase-query.json +13 -0
  235. data/ext/libcouchbase/example/fts/queries/08-phrase-query.json +16 -0
  236. data/ext/libcouchbase/example/fts/queries/09-query-string-query.json +9 -0
  237. data/ext/libcouchbase/example/fts/queries/10-conjunction-query.json +21 -0
  238. data/ext/libcouchbase/example/fts/queries/11-wild-card-query.json +13 -0
  239. data/ext/libcouchbase/example/fts/queries/12-numeric-range-query.json +11 -0
  240. data/ext/libcouchbase/example/fts/queries/13-regexp-query.json +13 -0
  241. data/ext/libcouchbase/example/fts/queries.h +61 -0
  242. data/ext/libcouchbase/example/instancepool/main.cc +112 -0
  243. data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
  244. data/ext/libcouchbase/example/instancepool/pool.h +69 -0
  245. data/ext/libcouchbase/example/libeventdirect/main.c +222 -0
  246. data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
  247. data/ext/libcouchbase/example/minimal/.gitignore +1 -0
  248. data/ext/libcouchbase/example/minimal/minimal.c +132 -0
  249. data/ext/libcouchbase/example/minimal/query.c +185 -0
  250. data/ext/libcouchbase/example/observe/durability.c +102 -0
  251. data/ext/libcouchbase/example/observe/observe.c +159 -0
  252. data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +143 -0
  253. data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +201 -0
  254. data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +286 -0
  255. data/ext/libcouchbase/example/tick/tick.c +119 -0
  256. data/ext/libcouchbase/example/tracing/.gitignore +2 -0
  257. data/ext/libcouchbase/example/tracing/Makefile +8 -0
  258. data/ext/libcouchbase/example/tracing/cJSON.c +1 -0
  259. data/ext/libcouchbase/example/tracing/cJSON.h +1 -0
  260. data/ext/libcouchbase/example/tracing/tracing.c +439 -0
  261. data/ext/libcouchbase/example/tracing/views.c +444 -0
  262. data/ext/libcouchbase/example/users/README +48 -0
  263. data/ext/libcouchbase/example/users/users.c +147 -0
  264. data/ext/libcouchbase/example/views/views-example.cc +83 -0
  265. data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
  266. data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
  267. data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
  268. data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
  269. data/ext/libcouchbase/include/libcouchbase/auth.h +297 -0
  270. data/ext/libcouchbase/include/libcouchbase/cbft.h +151 -0
  271. data/ext/libcouchbase/include/libcouchbase/cntl-private.h +319 -0
  272. data/ext/libcouchbase/include/libcouchbase/cntl.h +1418 -0
  273. data/ext/libcouchbase/include/libcouchbase/configuration.h.in +29 -0
  274. data/ext/libcouchbase/include/libcouchbase/couchbase.h +4089 -0
  275. data/ext/libcouchbase/include/libcouchbase/crypto.h +306 -0
  276. data/ext/libcouchbase/include/libcouchbase/deprecated.h +312 -0
  277. data/ext/libcouchbase/include/libcouchbase/error.h +680 -0
  278. data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
  279. data/ext/libcouchbase/include/libcouchbase/iops.h +1053 -0
  280. data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
  281. data/ext/libcouchbase/include/libcouchbase/kvbuf.h +137 -0
  282. data/ext/libcouchbase/include/libcouchbase/metrics.h +79 -0
  283. data/ext/libcouchbase/include/libcouchbase/n1ql.h +539 -0
  284. data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
  285. data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +370 -0
  286. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
  287. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
  288. data/ext/libcouchbase/include/libcouchbase/subdoc.h +347 -0
  289. data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
  290. data/ext/libcouchbase/include/libcouchbase/tracing.h +437 -0
  291. data/ext/libcouchbase/include/libcouchbase/vbucket.h +680 -0
  292. data/ext/libcouchbase/include/libcouchbase/views.h +357 -0
  293. data/ext/libcouchbase/include/libcouchbase/visibility.h +66 -0
  294. data/ext/libcouchbase/include/memcached/COPYING +30 -0
  295. data/ext/libcouchbase/include/memcached/README +10 -0
  296. data/ext/libcouchbase/include/memcached/protocol_binary.h +885 -0
  297. data/ext/libcouchbase/packaging/README +7 -0
  298. data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
  299. data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
  300. data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
  301. data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
  302. data/ext/libcouchbase/packaging/deb/compat +1 -0
  303. data/ext/libcouchbase/packaging/deb/control +72 -0
  304. data/ext/libcouchbase/packaging/deb/copyright +10 -0
  305. data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
  306. data/ext/libcouchbase/packaging/deb/package.mk +31 -0
  307. data/ext/libcouchbase/packaging/deb/rules +46 -0
  308. data/ext/libcouchbase/packaging/deb/source/format +1 -0
  309. data/ext/libcouchbase/packaging/distinfo/README +1 -0
  310. data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
  311. data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
  312. data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
  313. data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
  314. data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
  315. data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +101 -0
  316. data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
  317. data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
  318. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +467 -0
  319. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
  320. data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
  321. data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
  322. data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
  323. data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +31 -0
  324. data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +66 -0
  325. data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
  326. data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +31 -0
  327. data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
  328. data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
  329. data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +44 -0
  330. data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +218 -0
  331. data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
  332. data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +155 -0
  333. data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +709 -0
  334. data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +13 -0
  335. data/ext/libcouchbase/plugins/io/select/plugin-select.c +451 -0
  336. data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
  337. data/ext/libcouchbase/src/README.md +101 -0
  338. data/ext/libcouchbase/src/aspend.h +105 -0
  339. data/ext/libcouchbase/src/auth-priv.h +85 -0
  340. data/ext/libcouchbase/src/auth.cc +146 -0
  341. data/ext/libcouchbase/src/bootstrap.cc +263 -0
  342. data/ext/libcouchbase/src/bootstrap.h +149 -0
  343. data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +450 -0
  344. data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
  345. data/ext/libcouchbase/src/bucketconfig/bc_http.cc +527 -0
  346. data/ext/libcouchbase/src/bucketconfig/bc_http.h +107 -0
  347. data/ext/libcouchbase/src/bucketconfig/bc_static.cc +150 -0
  348. data/ext/libcouchbase/src/bucketconfig/clconfig.h +700 -0
  349. data/ext/libcouchbase/src/bucketconfig/confmon.cc +403 -0
  350. data/ext/libcouchbase/src/callbacks.c +380 -0
  351. data/ext/libcouchbase/src/cbft.cc +253 -0
  352. data/ext/libcouchbase/src/cntl.cc +1057 -0
  353. data/ext/libcouchbase/src/config_static.h +176 -0
  354. data/ext/libcouchbase/src/connspec.cc +555 -0
  355. data/ext/libcouchbase/src/connspec.h +155 -0
  356. data/ext/libcouchbase/src/crypto.cc +399 -0
  357. data/ext/libcouchbase/src/ctx-log-inl.h +44 -0
  358. data/ext/libcouchbase/src/dns-srv.cc +146 -0
  359. data/ext/libcouchbase/src/dump.cc +103 -0
  360. data/ext/libcouchbase/src/errmap.cc +173 -0
  361. data/ext/libcouchbase/src/errmap.h +271 -0
  362. data/ext/libcouchbase/src/getconfig.cc +72 -0
  363. data/ext/libcouchbase/src/gethrtime.c +109 -0
  364. data/ext/libcouchbase/src/handler.cc +1101 -0
  365. data/ext/libcouchbase/src/hashtable.c +75 -0
  366. data/ext/libcouchbase/src/hdr_timings.c +92 -0
  367. data/ext/libcouchbase/src/hostlist.cc +293 -0
  368. data/ext/libcouchbase/src/hostlist.h +160 -0
  369. data/ext/libcouchbase/src/http/http-priv.h +326 -0
  370. data/ext/libcouchbase/src/http/http.cc +672 -0
  371. data/ext/libcouchbase/src/http/http.h +1 -0
  372. data/ext/libcouchbase/src/http/http_io.cc +316 -0
  373. data/ext/libcouchbase/src/instance.cc +917 -0
  374. data/ext/libcouchbase/src/internal.h +285 -0
  375. data/ext/libcouchbase/src/iofactory.c +575 -0
  376. data/ext/libcouchbase/src/jsparse/parser.cc +445 -0
  377. data/ext/libcouchbase/src/jsparse/parser.h +159 -0
  378. data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
  379. data/ext/libcouchbase/src/lcbht/lcbht.h +210 -0
  380. data/ext/libcouchbase/src/lcbio/connect.cc +603 -0
  381. data/ext/libcouchbase/src/lcbio/connect.h +400 -0
  382. data/ext/libcouchbase/src/lcbio/ctx.c +658 -0
  383. data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
  384. data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
  385. data/ext/libcouchbase/src/lcbio/iotable.h +169 -0
  386. data/ext/libcouchbase/src/lcbio/ioutils.cc +356 -0
  387. data/ext/libcouchbase/src/lcbio/ioutils.h +144 -0
  388. data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
  389. data/ext/libcouchbase/src/lcbio/manager.cc +579 -0
  390. data/ext/libcouchbase/src/lcbio/manager.h +195 -0
  391. data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
  392. data/ext/libcouchbase/src/lcbio/rw-inl.h +137 -0
  393. data/ext/libcouchbase/src/lcbio/ssl.h +159 -0
  394. data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
  395. data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
  396. data/ext/libcouchbase/src/lcbio/timer.c +132 -0
  397. data/ext/libcouchbase/src/legacy.c +431 -0
  398. data/ext/libcouchbase/src/list.c +144 -0
  399. data/ext/libcouchbase/src/list.h +127 -0
  400. data/ext/libcouchbase/src/logging.c +244 -0
  401. data/ext/libcouchbase/src/logging.h +88 -0
  402. data/ext/libcouchbase/src/mc/compress.cc +171 -0
  403. data/ext/libcouchbase/src/mc/compress.h +56 -0
  404. data/ext/libcouchbase/src/mc/forward.c +186 -0
  405. data/ext/libcouchbase/src/mc/forward.h +90 -0
  406. data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
  407. data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
  408. data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +115 -0
  409. data/ext/libcouchbase/src/mc/mcreq.c +983 -0
  410. data/ext/libcouchbase/src/mc/mcreq.h +1015 -0
  411. data/ext/libcouchbase/src/mcserver/mcserver.cc +1055 -0
  412. data/ext/libcouchbase/src/mcserver/mcserver.h +221 -0
  413. data/ext/libcouchbase/src/mcserver/negotiate.cc +757 -0
  414. data/ext/libcouchbase/src/mcserver/negotiate.h +128 -0
  415. data/ext/libcouchbase/src/mctx-helper.h +62 -0
  416. data/ext/libcouchbase/src/metrics.cc +132 -0
  417. data/ext/libcouchbase/src/n1ql/ixmgmt.cc +857 -0
  418. data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
  419. data/ext/libcouchbase/src/n1ql/n1ql.cc +830 -0
  420. data/ext/libcouchbase/src/n1ql/params.cc +260 -0
  421. data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
  422. data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
  423. data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
  424. data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
  425. data/ext/libcouchbase/src/newconfig.cc +365 -0
  426. data/ext/libcouchbase/src/nodeinfo.cc +184 -0
  427. data/ext/libcouchbase/src/operations/cbflush.cc +63 -0
  428. data/ext/libcouchbase/src/operations/counter.cc +117 -0
  429. data/ext/libcouchbase/src/operations/durability-cas.cc +251 -0
  430. data/ext/libcouchbase/src/operations/durability-seqno.cc +170 -0
  431. data/ext/libcouchbase/src/operations/durability.cc +668 -0
  432. data/ext/libcouchbase/src/operations/durability_internal.h +306 -0
  433. data/ext/libcouchbase/src/operations/get.cc +409 -0
  434. data/ext/libcouchbase/src/operations/observe-seqno.cc +94 -0
  435. data/ext/libcouchbase/src/operations/observe.cc +367 -0
  436. data/ext/libcouchbase/src/operations/ping.cc +496 -0
  437. data/ext/libcouchbase/src/operations/pktfwd.cc +86 -0
  438. data/ext/libcouchbase/src/operations/remove.cc +84 -0
  439. data/ext/libcouchbase/src/operations/stats.cc +459 -0
  440. data/ext/libcouchbase/src/operations/store.cc +358 -0
  441. data/ext/libcouchbase/src/operations/subdoc.cc +614 -0
  442. data/ext/libcouchbase/src/operations/touch.cc +84 -0
  443. data/ext/libcouchbase/src/packetutils.h +388 -0
  444. data/ext/libcouchbase/src/probes.d +182 -0
  445. data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
  446. data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
  447. data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
  448. data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
  449. data/ext/libcouchbase/src/rdb/rope.c +419 -0
  450. data/ext/libcouchbase/src/rdb/rope.h +488 -0
  451. data/ext/libcouchbase/src/retrychk.cc +113 -0
  452. data/ext/libcouchbase/src/retryq.cc +458 -0
  453. data/ext/libcouchbase/src/retryq.h +170 -0
  454. data/ext/libcouchbase/src/ringbuffer.c +442 -0
  455. data/ext/libcouchbase/src/ringbuffer.h +100 -0
  456. data/ext/libcouchbase/src/rnd.cc +61 -0
  457. data/ext/libcouchbase/src/rnd.h +39 -0
  458. data/ext/libcouchbase/src/settings.c +125 -0
  459. data/ext/libcouchbase/src/settings.h +273 -0
  460. data/ext/libcouchbase/src/sllist-inl.h +197 -0
  461. data/ext/libcouchbase/src/sllist.h +76 -0
  462. data/ext/libcouchbase/src/ssl/CMakeLists.txt +11 -0
  463. data/ext/libcouchbase/src/ssl/ssl_c.c +442 -0
  464. data/ext/libcouchbase/src/ssl/ssl_common.c +478 -0
  465. data/ext/libcouchbase/src/ssl/ssl_e.c +421 -0
  466. data/ext/libcouchbase/src/ssl/ssl_iot_common.h +182 -0
  467. data/ext/libcouchbase/src/strcodecs/base64.c +307 -0
  468. data/ext/libcouchbase/src/strcodecs/strcodecs.h +302 -0
  469. data/ext/libcouchbase/src/timings.c +207 -0
  470. data/ext/libcouchbase/src/trace.h +117 -0
  471. data/ext/libcouchbase/src/tracing/span.cc +421 -0
  472. data/ext/libcouchbase/src/tracing/threshold_logging_tracer.cc +213 -0
  473. data/ext/libcouchbase/src/tracing/tracer.cc +53 -0
  474. data/ext/libcouchbase/src/tracing/tracing-internal.h +198 -0
  475. data/ext/libcouchbase/src/utilities.c +176 -0
  476. data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
  477. data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
  478. data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
  479. data/ext/libcouchbase/src/vbucket/hash.h +30 -0
  480. data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
  481. data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
  482. data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
  483. data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
  484. data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
  485. data/ext/libcouchbase/src/vbucket/vbucket.c +1735 -0
  486. data/ext/libcouchbase/src/views/docreq.cc +213 -0
  487. data/ext/libcouchbase/src/views/docreq.h +94 -0
  488. data/ext/libcouchbase/src/views/viewreq.cc +381 -0
  489. data/ext/libcouchbase/src/views/viewreq.h +87 -0
  490. data/ext/libcouchbase/src/wait.cc +156 -0
  491. data/ext/libcouchbase/tests/CMakeLists.txt +149 -0
  492. data/ext/libcouchbase/tests/basic/t_base64.cc +109 -0
  493. data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
  494. data/ext/libcouchbase/tests/basic/t_connstr.cc +456 -0
  495. data/ext/libcouchbase/tests/basic/t_creds.cc +96 -0
  496. data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
  497. data/ext/libcouchbase/tests/basic/t_host.cc +210 -0
  498. data/ext/libcouchbase/tests/basic/t_jsparse.cc +82 -0
  499. data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
  500. data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
  501. data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
  502. data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
  503. data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +17 -0
  504. data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
  505. data/ext/libcouchbase/tests/basic/t_packet.cc +215 -0
  506. data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
  507. data/ext/libcouchbase/tests/basic/t_scram.cc +514 -0
  508. data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
  509. data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
  510. data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
  511. data/ext/libcouchbase/tests/check-all.cc +612 -0
  512. data/ext/libcouchbase/tests/htparse/t_basic.cc +173 -0
  513. data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
  514. data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
  515. data/ext/libcouchbase/tests/ioserver/ioserver.cc +117 -0
  516. data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
  517. data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
  518. data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
  519. data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
  520. data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
  521. data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
  522. data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
  523. data/ext/libcouchbase/tests/iotests/mock-environment.cc +632 -0
  524. data/ext/libcouchbase/tests/iotests/mock-environment.h +480 -0
  525. data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
  526. data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
  527. data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
  528. data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
  529. data/ext/libcouchbase/tests/iotests/t_behavior.cc +220 -0
  530. data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
  531. data/ext/libcouchbase/tests/iotests/t_confmon.cc +223 -0
  532. data/ext/libcouchbase/tests/iotests/t_durability.cc +1108 -0
  533. data/ext/libcouchbase/tests/iotests/t_eerrs.cc +121 -0
  534. data/ext/libcouchbase/tests/iotests/t_errmap.cc +181 -0
  535. data/ext/libcouchbase/tests/iotests/t_forward.cc +118 -0
  536. data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
  537. data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
  538. data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
  539. data/ext/libcouchbase/tests/iotests/t_lock.cc +274 -0
  540. data/ext/libcouchbase/tests/iotests/t_misc.cc +777 -0
  541. data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
  542. data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
  543. data/ext/libcouchbase/tests/iotests/t_netfail.cc +778 -0
  544. data/ext/libcouchbase/tests/iotests/t_obseqno.cc +156 -0
  545. data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
  546. data/ext/libcouchbase/tests/iotests/t_sched.cc +87 -0
  547. data/ext/libcouchbase/tests/iotests/t_serverops.cc +231 -0
  548. data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
  549. data/ext/libcouchbase/tests/iotests/t_snappy.cc +316 -0
  550. data/ext/libcouchbase/tests/iotests/t_subdoc.cc +857 -0
  551. data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
  552. data/ext/libcouchbase/tests/iotests/t_views.cc +417 -0
  553. data/ext/libcouchbase/tests/iotests/testutil.cc +251 -0
  554. data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
  555. data/ext/libcouchbase/tests/mc/mctest.h +119 -0
  556. data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
  557. data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
  558. data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
  559. data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
  560. data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
  561. data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
  562. data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
  563. data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
  564. data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
  565. data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
  566. data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
  567. data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
  568. data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
  569. data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
  570. data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
  571. data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
  572. data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
  573. data/ext/libcouchbase/tests/socktests/socktest.cc +344 -0
  574. data/ext/libcouchbase/tests/socktests/socktest.h +447 -0
  575. data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
  576. data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
  577. data/ext/libcouchbase/tests/socktests/t_manager.cc +159 -0
  578. data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
  579. data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
  580. data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
  581. data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
  582. data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
  583. data/ext/libcouchbase/tests/start_mock.bat +15 -0
  584. data/ext/libcouchbase/tests/start_mock.sh +42 -0
  585. data/ext/libcouchbase/tests/unit_tests.cc +43 -0
  586. data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
  587. data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
  588. data/ext/libcouchbase/tests/vbucket/confdata/ketama_expected.json +2562 -0
  589. data/ext/libcouchbase/tests/vbucket/confdata/map_node_present_nodesext_missing_nodes.json +94 -0
  590. data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
  591. data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
  592. data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
  593. data/ext/libcouchbase/tests/vbucket/confdata/memd_ketama_config.json +31 -0
  594. data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
  595. data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
  596. data/ext/libcouchbase/tests/vbucket/t_config.cc +386 -0
  597. data/ext/libcouchbase/tools/CMakeLists.txt +80 -0
  598. data/ext/libcouchbase/tools/cbc-handlers.h +636 -0
  599. data/ext/libcouchbase/tools/cbc-n1qlback.cc +496 -0
  600. data/ext/libcouchbase/tools/cbc-pillowfight.cc +1230 -0
  601. data/ext/libcouchbase/tools/cbc-proxy.cc +534 -0
  602. data/ext/libcouchbase/tools/cbc-subdoc.cc +825 -0
  603. data/ext/libcouchbase/tools/cbc.cc +1928 -0
  604. data/ext/libcouchbase/tools/common/histogram.cc +44 -0
  605. data/ext/libcouchbase/tools/common/histogram.h +23 -0
  606. data/ext/libcouchbase/tools/common/options.cc +451 -0
  607. data/ext/libcouchbase/tools/common/options.h +90 -0
  608. data/ext/libcouchbase/tools/docgen/docgen.h +495 -0
  609. data/ext/libcouchbase/tools/docgen/loc.h +211 -0
  610. data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
  611. data/ext/libcouchbase/tools/docgen/seqgen.h +122 -0
  612. data/ext/libcouchbase/tools/extract-packets.rb +110 -0
  613. data/ext/libcouchbase/tools/linenoise/linenoise.c +1199 -0
  614. data/ext/libcouchbase/tools/linenoise/linenoise.h +73 -0
  615. data/lib/mt-libcouchbase/bucket.rb +825 -0
  616. data/lib/mt-libcouchbase/callbacks.rb +69 -0
  617. data/lib/mt-libcouchbase/connection.rb +896 -0
  618. data/lib/mt-libcouchbase/design_docs.rb +92 -0
  619. data/lib/mt-libcouchbase/error.rb +68 -0
  620. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdbase.rb +23 -0
  621. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdcounter.rb +36 -0
  622. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdendure.rb +26 -0
  623. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdfts.rb +24 -0
  624. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdget.rb +30 -0
  625. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdgetreplica.rb +49 -0
  626. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdhttp.rb +58 -0
  627. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdn1ql.rb +40 -0
  628. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobseqno.rb +33 -0
  629. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobserve.rb +30 -0
  630. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstore.rb +40 -0
  631. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstoredur.rb +45 -0
  632. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdsubdoc.rb +61 -0
  633. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdverbosity.rb +29 -0
  634. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdviewquery.rb +61 -0
  635. data/lib/mt-libcouchbase/ext/mt-libcouchbase/contigbuf.rb +14 -0
  636. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st.rb +15 -0
  637. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st0.rb +23 -0
  638. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st1.rb +26 -0
  639. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st2.rb +32 -0
  640. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st3.rb +26 -0
  641. data/lib/mt-libcouchbase/ext/mt-libcouchbase/crst_u.rb +20 -0
  642. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_st_v.rb +11 -0
  643. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_t.rb +14 -0
  644. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durabilityopt_sv0.rb +63 -0
  645. data/lib/mt-libcouchbase/ext/mt-libcouchbase/enums.rb +1007 -0
  646. data/lib/mt-libcouchbase/ext/mt-libcouchbase/fragbuf.rb +18 -0
  647. data/lib/mt-libcouchbase/ext/mt-libcouchbase/ftshandle.rb +7 -0
  648. data/lib/mt-libcouchbase/ext/mt-libcouchbase/histogram.rb +34 -0
  649. data/lib/mt-libcouchbase/ext/mt-libcouchbase/http_request_t.rb +7 -0
  650. data/lib/mt-libcouchbase/ext/mt-libcouchbase/keybuf.rb +20 -0
  651. data/lib/mt-libcouchbase/ext/mt-libcouchbase/multicmd_ctx.rb +30 -0
  652. data/lib/mt-libcouchbase/ext/mt-libcouchbase/mutation_token.rb +17 -0
  653. data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlhandle.rb +7 -0
  654. data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlparams.rb +7 -0
  655. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respbase.rb +29 -0
  656. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respcounter.rb +32 -0
  657. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respendure.rb +49 -0
  658. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respfts.rb +40 -0
  659. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respget.rb +44 -0
  660. data/lib/mt-libcouchbase/ext/mt-libcouchbase/resphttp.rb +48 -0
  661. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respmcversion.rb +38 -0
  662. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respn1ql.rb +41 -0
  663. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobseqno.rb +52 -0
  664. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobserve.rb +41 -0
  665. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respserverbase.rb +32 -0
  666. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstats.rb +38 -0
  667. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstore.rb +32 -0
  668. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstoredur.rb +38 -0
  669. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respsubdoc.rb +35 -0
  670. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respviewquery.rb +67 -0
  671. data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdentry.rb +22 -0
  672. data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdspec.rb +31 -0
  673. data/lib/mt-libcouchbase/ext/mt-libcouchbase/t.rb +7 -0
  674. data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf.rb +22 -0
  675. data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf_u_buf.rb +14 -0
  676. data/lib/mt-libcouchbase/ext/mt-libcouchbase/viewhandle.rb +7 -0
  677. data/lib/mt-libcouchbase/ext/mt-libcouchbase.rb +1175 -0
  678. data/lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb +22 -0
  679. data/lib/mt-libcouchbase/ext/tasks.rb +39 -0
  680. data/lib/mt-libcouchbase/n1ql.rb +80 -0
  681. data/lib/mt-libcouchbase/query_full_text.rb +147 -0
  682. data/lib/mt-libcouchbase/query_n1ql.rb +123 -0
  683. data/lib/mt-libcouchbase/query_view.rb +135 -0
  684. data/lib/mt-libcouchbase/results_fiber.rb +281 -0
  685. data/lib/mt-libcouchbase/results_native.rb +220 -0
  686. data/lib/mt-libcouchbase/subdoc_request.rb +139 -0
  687. data/lib/mt-libcouchbase/version.rb +5 -0
  688. data/lib/mt-libcouchbase.rb +40 -0
  689. data/mt-libcouchbase.gemspec +68 -0
  690. data/spec/bucket_spec.rb +290 -0
  691. data/spec/connection_spec.rb +257 -0
  692. data/spec/design_docs_spec.rb +31 -0
  693. data/spec/error_spec.rb +26 -0
  694. data/spec/fts_spec.rb +135 -0
  695. data/spec/n1ql_spec.rb +260 -0
  696. data/spec/results_libuv_spec.rb +244 -0
  697. data/spec/results_native_spec.rb +259 -0
  698. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
  699. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
  700. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
  701. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
  702. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
  703. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
  704. data/spec/subdoc_spec.rb +192 -0
  705. data/spec/view_spec.rb +201 -0
  706. data/windows_build.md +36 -0
  707. 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
+ }