rocksdb-native 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +23 -0
- package/binding.js +1 -1
- package/package.json +19 -1
- package/vendor/rocksdb.cc +79 -0
- package/vendor/rocksdb.gyp +414 -0
- package/.clang-format +0 -15
- package/.github/workflows/test-node.yml +0 -23
- package/.gitmodules +0 -4
- package/NOTICE +0 -13
- package/vendor/rocksdb/.circleci/config.yml +0 -892
- package/vendor/rocksdb/.circleci/ubsan_suppression_list.txt +0 -6
- package/vendor/rocksdb/.clang-format +0 -5
- package/vendor/rocksdb/.github/workflows/sanity_check.yml +0 -47
- package/vendor/rocksdb/.lgtm.yml +0 -4
- package/vendor/rocksdb/AUTHORS +0 -12
- package/vendor/rocksdb/CODE_OF_CONDUCT.md +0 -77
- package/vendor/rocksdb/CONTRIBUTING.md +0 -17
- package/vendor/rocksdb/DEFAULT_OPTIONS_HISTORY.md +0 -24
- package/vendor/rocksdb/DUMP_FORMAT.md +0 -16
- package/vendor/rocksdb/HISTORY.md +0 -2399
- package/vendor/rocksdb/INSTALL.md +0 -220
- package/vendor/rocksdb/LANGUAGE-BINDINGS.md +0 -26
- package/vendor/rocksdb/Makefile +0 -2579
- package/vendor/rocksdb/PLUGINS.md +0 -8
- package/vendor/rocksdb/TARGETS +0 -5599
- package/vendor/rocksdb/USERS.md +0 -165
- package/vendor/rocksdb/Vagrantfile +0 -39
- package/vendor/rocksdb/WINDOWS_PORT.md +0 -228
- package/vendor/rocksdb/buckifier/bench-slow.json +0 -6163
- package/vendor/rocksdb/buckifier/bench.json +0 -1594
- package/vendor/rocksdb/buckifier/buckify_rocksdb.py +0 -333
- package/vendor/rocksdb/buckifier/check_buck_targets.sh +0 -32
- package/vendor/rocksdb/buckifier/rocks_test_runner.sh +0 -6
- package/vendor/rocksdb/buckifier/targets_builder.py +0 -150
- package/vendor/rocksdb/buckifier/targets_cfg.py +0 -41
- package/vendor/rocksdb/buckifier/util.py +0 -118
- package/vendor/rocksdb/build_tools/amalgamate.py +0 -168
- package/vendor/rocksdb/build_tools/benchmark_log_tool.py +0 -238
- package/vendor/rocksdb/build_tools/build_detect_platform +0 -804
- package/vendor/rocksdb/build_tools/check-sources.sh +0 -48
- package/vendor/rocksdb/build_tools/dependencies_platform010.sh +0 -22
- package/vendor/rocksdb/build_tools/dockerbuild.sh +0 -3
- package/vendor/rocksdb/build_tools/error_filter.py +0 -181
- package/vendor/rocksdb/build_tools/fb_compile_mongo.sh +0 -55
- package/vendor/rocksdb/build_tools/fbcode_config.sh +0 -175
- package/vendor/rocksdb/build_tools/fbcode_config_platform010.sh +0 -175
- package/vendor/rocksdb/build_tools/format-diff.sh +0 -203
- package/vendor/rocksdb/build_tools/gnu_parallel +0 -7971
- package/vendor/rocksdb/build_tools/make_package.sh +0 -129
- package/vendor/rocksdb/build_tools/ps_with_stack +0 -38
- package/vendor/rocksdb/build_tools/regression_build_test.sh +0 -396
- package/vendor/rocksdb/build_tools/run_ci_db_test.ps1 +0 -493
- package/vendor/rocksdb/build_tools/setup_centos7.sh +0 -45
- package/vendor/rocksdb/build_tools/ubuntu20_image/Dockerfile +0 -57
- package/vendor/rocksdb/build_tools/update_dependencies.sh +0 -106
- package/vendor/rocksdb/build_tools/version.sh +0 -23
- package/vendor/rocksdb/common.mk +0 -30
- package/vendor/rocksdb/crash_test.mk +0 -107
- package/vendor/rocksdb/db/c_test.c +0 -3609
- package/vendor/rocksdb/docs/CNAME +0 -1
- package/vendor/rocksdb/docs/CONTRIBUTING.md +0 -115
- package/vendor/rocksdb/docs/Gemfile +0 -4
- package/vendor/rocksdb/docs/LICENSE-DOCUMENTATION +0 -385
- package/vendor/rocksdb/docs/TEMPLATE-INFORMATION.md +0 -17
- package/vendor/rocksdb/docs/_config.yml +0 -85
- package/vendor/rocksdb/docs/_data/authors.yml +0 -81
- package/vendor/rocksdb/docs/_data/features.yml +0 -19
- package/vendor/rocksdb/docs/_data/nav.yml +0 -30
- package/vendor/rocksdb/docs/_data/nav_docs.yml +0 -3
- package/vendor/rocksdb/docs/_data/powered_by.yml +0 -1
- package/vendor/rocksdb/docs/_data/powered_by_highlight.yml +0 -1
- package/vendor/rocksdb/docs/_data/promo.yml +0 -6
- package/vendor/rocksdb/docs/_docs/faq.md +0 -48
- package/vendor/rocksdb/docs/_docs/getting-started.md +0 -78
- package/vendor/rocksdb/docs/_includes/blog_pagination.html +0 -28
- package/vendor/rocksdb/docs/_includes/content/gridblocks.html +0 -5
- package/vendor/rocksdb/docs/_includes/content/items/gridblock.html +0 -37
- package/vendor/rocksdb/docs/_includes/doc.html +0 -25
- package/vendor/rocksdb/docs/_includes/doc_paging.html +0 -0
- package/vendor/rocksdb/docs/_includes/footer.html +0 -34
- package/vendor/rocksdb/docs/_includes/head.html +0 -23
- package/vendor/rocksdb/docs/_includes/header.html +0 -19
- package/vendor/rocksdb/docs/_includes/hero.html +0 -0
- package/vendor/rocksdb/docs/_includes/home_header.html +0 -22
- package/vendor/rocksdb/docs/_includes/katex_import.html +0 -3
- package/vendor/rocksdb/docs/_includes/katex_render.html +0 -210
- package/vendor/rocksdb/docs/_includes/nav/collection_nav.html +0 -64
- package/vendor/rocksdb/docs/_includes/nav/collection_nav_group.html +0 -19
- package/vendor/rocksdb/docs/_includes/nav/collection_nav_group_item.html +0 -1
- package/vendor/rocksdb/docs/_includes/nav/header_nav.html +0 -30
- package/vendor/rocksdb/docs/_includes/nav.html +0 -37
- package/vendor/rocksdb/docs/_includes/nav_search.html +0 -15
- package/vendor/rocksdb/docs/_includes/plugins/all_share.html +0 -3
- package/vendor/rocksdb/docs/_includes/plugins/ascii_cinema.html +0 -2
- package/vendor/rocksdb/docs/_includes/plugins/button.html +0 -6
- package/vendor/rocksdb/docs/_includes/plugins/github_star.html +0 -4
- package/vendor/rocksdb/docs/_includes/plugins/github_watch.html +0 -4
- package/vendor/rocksdb/docs/_includes/plugins/google_share.html +0 -5
- package/vendor/rocksdb/docs/_includes/plugins/iframe.html +0 -6
- package/vendor/rocksdb/docs/_includes/plugins/like_button.html +0 -18
- package/vendor/rocksdb/docs/_includes/plugins/plugin_row.html +0 -5
- package/vendor/rocksdb/docs/_includes/plugins/post_social_plugins.html +0 -41
- package/vendor/rocksdb/docs/_includes/plugins/slideshow.html +0 -88
- package/vendor/rocksdb/docs/_includes/plugins/twitter_follow.html +0 -12
- package/vendor/rocksdb/docs/_includes/plugins/twitter_share.html +0 -11
- package/vendor/rocksdb/docs/_includes/post.html +0 -40
- package/vendor/rocksdb/docs/_includes/powered_by.html +0 -28
- package/vendor/rocksdb/docs/_includes/social_plugins.html +0 -31
- package/vendor/rocksdb/docs/_includes/ui/button.html +0 -1
- package/vendor/rocksdb/docs/_layouts/basic.html +0 -12
- package/vendor/rocksdb/docs/_layouts/blog.html +0 -11
- package/vendor/rocksdb/docs/_layouts/blog_default.html +0 -14
- package/vendor/rocksdb/docs/_layouts/default.html +0 -12
- package/vendor/rocksdb/docs/_layouts/doc_default.html +0 -14
- package/vendor/rocksdb/docs/_layouts/doc_page.html +0 -10
- package/vendor/rocksdb/docs/_layouts/docs.html +0 -5
- package/vendor/rocksdb/docs/_layouts/home.html +0 -26
- package/vendor/rocksdb/docs/_layouts/page.html +0 -3
- package/vendor/rocksdb/docs/_layouts/plain.html +0 -10
- package/vendor/rocksdb/docs/_layouts/post.html +0 -8
- package/vendor/rocksdb/docs/_layouts/redirect.html +0 -6
- package/vendor/rocksdb/docs/_layouts/top-level.html +0 -10
- package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-backup-rocksdb.markdown +0 -135
- package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-persist-in-memory-rocksdb-database.markdown +0 -54
- package/vendor/rocksdb/docs/_posts/2014-04-02-the-1st-rocksdb-local-meetup-held-on-march-27-2014.markdown +0 -53
- package/vendor/rocksdb/docs/_posts/2014-04-07-rocksdb-2-8-release.markdown +0 -40
- package/vendor/rocksdb/docs/_posts/2014-04-21-indexing-sst-files-for-better-lookup-performance.markdown +0 -28
- package/vendor/rocksdb/docs/_posts/2014-05-14-lock.markdown +0 -88
- package/vendor/rocksdb/docs/_posts/2014-05-19-rocksdb-3-0-release.markdown +0 -24
- package/vendor/rocksdb/docs/_posts/2014-05-22-rocksdb-3-1-release.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2014-06-23-plaintable-a-new-file-format.markdown +0 -47
- package/vendor/rocksdb/docs/_posts/2014-06-27-avoid-expensive-locks-in-get.markdown +0 -89
- package/vendor/rocksdb/docs/_posts/2014-06-27-rocksdb-3-2-release.markdown +0 -30
- package/vendor/rocksdb/docs/_posts/2014-07-29-rocksdb-3-3-release.markdown +0 -34
- package/vendor/rocksdb/docs/_posts/2014-09-12-cuckoo.markdown +0 -74
- package/vendor/rocksdb/docs/_posts/2014-09-12-new-bloom-filter-format.markdown +0 -52
- package/vendor/rocksdb/docs/_posts/2014-09-15-rocksdb-3-5-release.markdown +0 -38
- package/vendor/rocksdb/docs/_posts/2015-01-16-migrating-from-leveldb-to-rocksdb-2.markdown +0 -112
- package/vendor/rocksdb/docs/_posts/2015-02-24-reading-rocksdb-options-from-a-file.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2015-02-27-write-batch-with-index.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2015-04-22-integrating-rocksdb-with-mongodb-2.markdown +0 -16
- package/vendor/rocksdb/docs/_posts/2015-06-12-rocksdb-in-osquery.markdown +0 -10
- package/vendor/rocksdb/docs/_posts/2015-07-15-rocksdb-2015-h2-roadmap.markdown +0 -92
- package/vendor/rocksdb/docs/_posts/2015-07-17-spatial-indexing-in-rocksdb.markdown +0 -78
- package/vendor/rocksdb/docs/_posts/2015-07-22-rocksdb-is-now-available-in-windows-platform.markdown +0 -30
- package/vendor/rocksdb/docs/_posts/2015-07-23-dynamic-level.markdown +0 -29
- package/vendor/rocksdb/docs/_posts/2015-10-27-getthreadlist.markdown +0 -193
- package/vendor/rocksdb/docs/_posts/2015-11-10-use-checkpoints-for-efficient-snapshots.markdown +0 -45
- package/vendor/rocksdb/docs/_posts/2015-11-16-analysis-file-read-latency-by-level.markdown +0 -244
- package/vendor/rocksdb/docs/_posts/2016-01-29-compaction_pri.markdown +0 -51
- package/vendor/rocksdb/docs/_posts/2016-02-24-rocksdb-4-2-release.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2016-02-25-rocksdb-ama.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2016-03-07-rocksdb-options-file.markdown +0 -24
- package/vendor/rocksdb/docs/_posts/2016-04-26-rocksdb-4-5-1-released.markdown +0 -60
- package/vendor/rocksdb/docs/_posts/2016-07-26-rocksdb-4-8-released.markdown +0 -48
- package/vendor/rocksdb/docs/_posts/2016-09-28-rocksdb-4-11-2-released.markdown +0 -49
- package/vendor/rocksdb/docs/_posts/2017-01-06-rocksdb-5-0-1-released.markdown +0 -26
- package/vendor/rocksdb/docs/_posts/2017-02-07-rocksdb-5-1-2-released.markdown +0 -15
- package/vendor/rocksdb/docs/_posts/2017-02-17-bulkoad-ingest-sst-file.markdown +0 -50
- package/vendor/rocksdb/docs/_posts/2017-03-02-rocksdb-5-2-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-05-12-partitioned-index-filter.markdown +0 -34
- package/vendor/rocksdb/docs/_posts/2017-05-14-core-local-stats.markdown +0 -106
- package/vendor/rocksdb/docs/_posts/2017-05-26-rocksdb-5-4-5-released.markdown +0 -39
- package/vendor/rocksdb/docs/_posts/2017-06-26-17-level-based-changes.markdown +0 -60
- package/vendor/rocksdb/docs/_posts/2017-06-29-rocksdb-5-5-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-07-25-rocksdb-5-6-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-08-24-pinnableslice.markdown +0 -37
- package/vendor/rocksdb/docs/_posts/2017-08-25-flushwal.markdown +0 -26
- package/vendor/rocksdb/docs/_posts/2017-09-28-rocksdb-5-8-released.markdown +0 -25
- package/vendor/rocksdb/docs/_posts/2017-12-18-17-auto-tuned-rate-limiter.markdown +0 -28
- package/vendor/rocksdb/docs/_posts/2017-12-19-write-prepared-txn.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2018-02-05-rocksdb-5-10-2-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2018-08-01-rocksdb-tuning-advisor.markdown +0 -58
- package/vendor/rocksdb/docs/_posts/2018-08-23-data-block-hash-index.markdown +0 -118
- package/vendor/rocksdb/docs/_posts/2018-11-21-delete-range.markdown +0 -292
- package/vendor/rocksdb/docs/_posts/2019-03-08-format-version-4.markdown +0 -36
- package/vendor/rocksdb/docs/_posts/2019-08-15-unordered-write.markdown +0 -56
- package/vendor/rocksdb/docs/_posts/2021-04-12-universal-improvements.markdown +0 -46
- package/vendor/rocksdb/docs/_posts/2021-05-26-integrated-blob-db.markdown +0 -101
- package/vendor/rocksdb/docs/_posts/2021-05-26-online-validation.markdown +0 -17
- package/vendor/rocksdb/docs/_posts/2021-05-27-rocksdb-secondary-cache.markdown +0 -195
- package/vendor/rocksdb/docs/_posts/2021-05-31-dictionary-compression.markdown +0 -157
- package/vendor/rocksdb/docs/_posts/2021-12-29-ribbon-filter.markdown +0 -281
- package/vendor/rocksdb/docs/_posts/2022-07-18-per-key-value-checksum.markdown +0 -142
- package/vendor/rocksdb/docs/_posts/2022-10-05-lost-buffered-write-recovery.markdown +0 -123
- package/vendor/rocksdb/docs/_posts/2022-10-07-asynchronous-io-in-rocksdb.markdown +0 -133
- package/vendor/rocksdb/docs/_posts/2022-10-31-align-compaction-output-file.markdown +0 -107
- package/vendor/rocksdb/docs/_posts/2022-11-09-time-aware-tiered-storage.markdown +0 -121
- package/vendor/rocksdb/docs/_sass/_base.scss +0 -492
- package/vendor/rocksdb/docs/_sass/_blog.scss +0 -47
- package/vendor/rocksdb/docs/_sass/_buttons.scss +0 -47
- package/vendor/rocksdb/docs/_sass/_footer.scss +0 -82
- package/vendor/rocksdb/docs/_sass/_gridBlock.scss +0 -115
- package/vendor/rocksdb/docs/_sass/_header.scss +0 -139
- package/vendor/rocksdb/docs/_sass/_poweredby.scss +0 -69
- package/vendor/rocksdb/docs/_sass/_promo.scss +0 -55
- package/vendor/rocksdb/docs/_sass/_react_docs_nav.scss +0 -332
- package/vendor/rocksdb/docs/_sass/_react_header_nav.scss +0 -141
- package/vendor/rocksdb/docs/_sass/_reset.scss +0 -43
- package/vendor/rocksdb/docs/_sass/_search.scss +0 -142
- package/vendor/rocksdb/docs/_sass/_slideshow.scss +0 -48
- package/vendor/rocksdb/docs/_sass/_syntax-highlighting.scss +0 -129
- package/vendor/rocksdb/docs/_sass/_tables.scss +0 -47
- package/vendor/rocksdb/docs/_top-level/support.md +0 -22
- package/vendor/rocksdb/docs/blog/all.html +0 -20
- package/vendor/rocksdb/docs/blog/index.html +0 -12
- package/vendor/rocksdb/docs/css/main.scss +0 -159
- package/vendor/rocksdb/docs/doc-type-examples/2016-04-07-blog-post-example.md +0 -21
- package/vendor/rocksdb/docs/doc-type-examples/docs-hello-world.md +0 -12
- package/vendor/rocksdb/docs/doc-type-examples/top-level-example.md +0 -8
- package/vendor/rocksdb/docs/docs/index.html +0 -6
- package/vendor/rocksdb/docs/feed.xml +0 -30
- package/vendor/rocksdb/docs/index.md +0 -9
- package/vendor/rocksdb/docs/static/favicon.png +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff2 +0 -0
- package/vendor/rocksdb/docs/static/images/Resize-of-20140327_200754-300x225.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/compaction_output_file_size_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_align.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_normal.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_trival_move.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_size_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/write_amp_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/asynchronous-io/mget_async.png +0 -0
- package/vendor/rocksdb/docs/static/images/asynchronous-io/scan_async.png +0 -0
- package/vendor/rocksdb/docs/static/images/binaryseek.png +0 -0
- package/vendor/rocksdb/docs/static/images/bloom_fp_vs_bpk.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/full-range.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/l0-l1-contend.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/l1-l2-contend.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/part-range-old.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-binary-seek.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-hash-index.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/hash-index-data-structure.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-cache-miss.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-throughput.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_collapsed.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_key_schema.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_sst_blocks.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_uncollapsed.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_write_path.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_raw_sampled.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_sst_blocks.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_zstd_trained.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Legacy_Vs_Integrated.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_RW_RO_Perf.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Amp.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Perf.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-entry.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Memtable.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch-to-Memtable.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-fragment.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-read.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Write-batch.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Writebatch-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/angry-cat.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/basic-setup.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/happy-cat.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/replay-extension.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/test-fs-writable-file.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/trace-extension.png +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-blockindex.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-fileindex.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-filelayout.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-readiopath.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-tieredstorage.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-writeiopath.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/promo-adapt.svg +0 -8
- package/vendor/rocksdb/docs/static/images/promo-flash.svg +0 -28
- package/vendor/rocksdb/docs/static/images/promo-operations.svg +0 -6
- package/vendor/rocksdb/docs/static/images/promo-performance.svg +0 -134
- package/vendor/rocksdb/docs/static/images/rate-limiter/auto-tuned-write-KBps-series.png +0 -0
- package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-cdf.png +0 -0
- package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-series.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_hit_rate.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_throughput.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/arch_diagram.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/insert_flow.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/lookup_flow.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/compaction_moving_up_conflict.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/per_key_placement_compaction.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_design.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_overview.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_problem.png +0 -0
- package/vendor/rocksdb/docs/static/images/tree_example1.png +0 -0
- package/vendor/rocksdb/docs/static/logo.svg +0 -76
- package/vendor/rocksdb/docs/static/og_image.png +0 -0
- package/vendor/rocksdb/examples/Makefile +0 -58
- package/vendor/rocksdb/examples/c_simple_example.c +0 -96
- package/vendor/rocksdb/examples/rocksdb_option_file_example.ini +0 -142
- package/vendor/rocksdb/fuzz/Makefile +0 -67
- package/vendor/rocksdb/fuzz/proto/db_operation.proto +0 -28
- package/vendor/rocksdb/issue_template.md +0 -7
- package/vendor/rocksdb/java/GetBenchmarks.md +0 -161
- package/vendor/rocksdb/java/HISTORY-JAVA.md +0 -86
- package/vendor/rocksdb/java/Makefile +0 -453
- package/vendor/rocksdb/java/RELEASE.md +0 -59
- package/vendor/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java +0 -1640
- package/vendor/rocksdb/java/crossbuild/Vagrantfile +0 -51
- package/vendor/rocksdb/java/crossbuild/build-linux-alpine.sh +0 -70
- package/vendor/rocksdb/java/crossbuild/build-linux-centos.sh +0 -38
- package/vendor/rocksdb/java/crossbuild/build-linux.sh +0 -15
- package/vendor/rocksdb/java/crossbuild/docker-build-linux-alpine.sh +0 -17
- package/vendor/rocksdb/java/crossbuild/docker-build-linux-centos.sh +0 -38
- package/vendor/rocksdb/java/jdb_bench.sh +0 -13
- package/vendor/rocksdb/java/jmh/LICENSE-HEADER.txt +0 -5
- package/vendor/rocksdb/java/jmh/pom.xml +0 -138
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/ComparatorBenchmarks.java +0 -139
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/GetBenchmarks.java +0 -215
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/MultiGetBenchmarks.java +0 -214
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/PutBenchmarks.java +0 -112
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/FileUtils.java +0 -59
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/KVUtils.java +0 -72
- package/vendor/rocksdb/java/pom.xml.template +0 -178
- package/vendor/rocksdb/java/samples/src/main/java/OptimisticTransactionSample.java +0 -184
- package/vendor/rocksdb/java/samples/src/main/java/RocksDBColumnFamilySample.java +0 -78
- package/vendor/rocksdb/java/samples/src/main/java/RocksDBSample.java +0 -295
- package/vendor/rocksdb/java/samples/src/main/java/TransactionSample.java +0 -183
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilter.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java +0 -77
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparator.java +0 -124
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparatorJniBridge.java +0 -119
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractEventListener.java +0 -334
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractImmutableNativeReference.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractMutableOptions.java +0 -368
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractNativeReference.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractRocksIterator.java +0 -146
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractSlice.java +0 -191
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTableFilter.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTraceWriter.java +0 -70
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTransactionNotifier.java +0 -54
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWalFilter.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWriteBatch.java +0 -203
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AccessHint.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java +0 -463
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java +0 -830
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackgroundErrorReason.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngine.java +0 -259
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngineOptions.java +0 -458
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupInfo.java +0 -76
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BlockBasedTableConfig.java +0 -951
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BloomFilter.java +0 -73
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BuiltinComparator.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ByteBufferGetStatus.java +0 -50
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Cache.java +0 -40
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraCompactionFilter.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraValueMergeOperator.java +0 -25
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Checkpoint.java +0 -62
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ChecksumType.java +0 -45
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ClockCache.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyDescriptor.java +0 -84
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +0 -151
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyMetaData.java +0 -70
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptions.java +0 -1543
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java +0 -536
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactRangeOptions.java +0 -245
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobInfo.java +0 -161
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobStats.java +0 -295
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptions.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +0 -87
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsUniversal.java +0 -273
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionPriority.java +0 -81
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionReason.java +0 -141
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStopStyle.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStyle.java +0 -81
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorOptions.java +0 -133
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorType.java +0 -48
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionOptions.java +0 -150
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionType.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiter.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java +0 -48
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConfigOptions.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java +0 -1496
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptionsInterface.java +0 -1756
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DataBlockIndexType.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DbPath.java +0 -47
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DirectSlice.java +0 -136
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EncodingType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Env.java +0 -167
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EnvOptions.java +0 -366
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EventListener.java +0 -335
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Experimental.java +0 -23
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ExternalFileIngestionInfo.java +0 -103
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FileOperationInfo.java +0 -112
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Filter.java +0 -36
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushJobInfo.java +0 -186
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java +0 -90
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushReason.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java +0 -174
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashSkipListMemTableConfig.java +0 -106
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramData.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramType.java +0 -214
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Holder.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexShorteningMode.java +0 -60
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IngestExternalFileOptions.java +0 -227
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/KeyMayExist.java +0 -35
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LRUCache.java +0 -106
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LevelMetaData.java +0 -56
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LiveFileMetaData.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LogFile.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Logger.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableConfig.java +0 -29
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableInfo.java +0 -103
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUsageType.java +0 -72
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUtil.java +0 -60
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MergeOperator.java +0 -18
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptions.java +0 -621
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java +0 -156
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptions.java +0 -292
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptionsInterface.java +0 -440
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionKey.java +0 -16
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionValue.java +0 -368
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeComparatorWrapper.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeLibraryLoader.java +0 -172
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationStage.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionDB.java +0 -224
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionOptions.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionString.java +0 -261
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Options.java +0 -2574
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionsUtil.java +0 -101
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PersistentCache.java +0 -26
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PlainTableConfig.java +0 -251
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PrepopulateBlobCache.java +0 -117
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Priority.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Range.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiter.java +0 -227
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiterMode.java +0 -52
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadOptions.java +0 -822
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadTier.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java +0 -18
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReusedSynchronisationType.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksCallbackObject.java +0 -73
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDB.java +0 -4688
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDBException.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksEnv.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIterator.java +0 -140
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIteratorInterface.java +0 -127
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMemEnv.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMutableObject.java +0 -87
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksObject.java +0 -45
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SanityLevel.java +0 -47
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SizeApproximationFlag.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SkipListMemTableConfig.java +0 -51
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Slice.java +0 -135
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Snapshot.java +0 -41
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileManager.java +0 -249
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java +0 -162
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReader.java +0 -82
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReaderIterator.java +0 -140
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileWriter.java +0 -237
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFactory.java +0 -15
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StateType.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Statistics.java +0 -153
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollector.java +0 -102
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollectorCallback.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsCollectorInput.java +0 -35
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsLevel.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Status.java +0 -155
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StringAppendOperator.java +0 -29
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationBriefInfo.java +0 -107
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationInfo.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationReason.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileDeletionInfo.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFilter.java +0 -21
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFormatConfig.java +0 -22
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableProperties.java +0 -426
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadStatus.java +0 -224
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadType.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TickerType.java +0 -802
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TimedEnv.java +0 -30
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceOptions.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceWriter.java +0 -36
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Transaction.java +0 -2162
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDB.java +0 -401
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDBOptions.java +0 -216
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java +0 -112
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionOptions.java +0 -189
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalDB.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalOptions.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TtlDB.java +0 -242
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TxnDBWritePolicy.java +0 -62
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/UInt64AddOperator.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/VectorMemTableConfig.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WALRecoveryMode.java +0 -82
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java +0 -203
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFileType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFilter.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalProcessingOption.java +0 -54
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java +0 -394
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchInterface.java +0 -283
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchWithIndex.java +0 -358
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBufferManager.java +0 -50
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteOptions.java +0 -255
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallCondition.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallInfo.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ByteUtil.java +0 -52
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/BytewiseComparator.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/Environment.java +0 -245
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/IntComparator.java +0 -67
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java +0 -88
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/SizeUnit.java +0 -16
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/AbstractTransactionTest.java +0 -979
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineOptionsTest.java +0 -297
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineTest.java +0 -261
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlobOptionsTest.java +0 -353
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlockBasedTableConfigTest.java +0 -415
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BuiltinComparatorTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java +0 -132
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java +0 -132
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CheckPointTest.java +0 -82
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ClockCacheTest.java +0 -25
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java +0 -712
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyTest.java +0 -562
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactRangeOptionsTest.java +0 -102
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionFilterFactoryTest.java +0 -61
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobInfoTest.java +0 -114
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobStatsTest.java +0 -196
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +0 -35
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsTest.java +0 -52
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java +0 -80
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionPriorityTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionStopStyleTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ComparatorOptionsTest.java +0 -58
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionOptionsTest.java +0 -71
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionTypesTest.java +0 -25
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java +0 -56
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DBOptionsTest.java +0 -902
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java +0 -113
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DirectSliceTest.java +0 -93
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/EnvOptionsTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/EventListenerTest.java +0 -725
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FilterTest.java +0 -39
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushOptionsTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushTest.java +0 -49
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/InfoLogLevelTest.java +0 -109
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java +0 -107
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/KeyMayExistTest.java +0 -528
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/LRUCacheTest.java +0 -32
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/LoggerTest.java +0 -235
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java +0 -108
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemoryUtilTest.java +0 -136
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MergeTest.java +0 -465
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MixedOptionsTest.java +0 -85
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiColumnRegressionTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetManyKeysTest.java +0 -241
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetTest.java +0 -530
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java +0 -167
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableDBOptionsTest.java +0 -85
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableOptionsGetSetTest.java +0 -429
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeComparatorWrapperTest.java +0 -90
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeLibraryLoaderTest.java +0 -41
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionDBTest.java +0 -131
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java +0 -38
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionTest.java +0 -446
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsTest.java +0 -1488
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsUtilTest.java +0 -129
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlainTableConfigTest.java +0 -89
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlatformRandomHelper.java +0 -58
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PutMultiplePartsTest.java +0 -164
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java +0 -65
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOnlyTest.java +0 -222
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOptionsTest.java +0 -374
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBExceptionTest.java +0 -115
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBTest.java +0 -1692
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksIteratorTest.java +0 -289
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksMemEnvTest.java +0 -137
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksNativeLibraryResource.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SecondaryDBTest.java +0 -135
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java +0 -80
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SnapshotTest.java +0 -169
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileManagerTest.java +0 -66
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileReaderTest.java +0 -222
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileWriterTest.java +0 -239
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstPartitionerTest.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java +0 -55
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsTest.java +0 -168
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java +0 -19
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TableFilterTest.java +0 -106
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TimedEnvTest.java +0 -40
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBOptionsTest.java +0 -64
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBTest.java +0 -177
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionLogIteratorTest.java +0 -139
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionOptionsTest.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionTest.java +0 -488
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TtlDBTest.java +0 -112
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/Types.java +0 -43
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/VerifyChecksumsTest.java +0 -213
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WALRecoveryModeTest.java +0 -22
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WalFilterTest.java +0 -165
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchHandlerTest.java +0 -76
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java +0 -528
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchThreadedTest.java +0 -101
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchWithIndexTest.java +0 -1068
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteOptionsTest.java +0 -75
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java +0 -21
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RocksJunitRunner.java +0 -174
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/TestableEventListener.java +0 -23
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ByteBufferAllocator.java +0 -16
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java +0 -267
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java +0 -531
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +0 -190
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/EnvironmentTest.java +0 -304
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/IntComparatorTest.java +0 -266
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/JNIComparatorTest.java +0 -180
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java +0 -270
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/SizeUnitTest.java +0 -27
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/TestUtil.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/WriteBatchGetter.java +0 -139
- package/vendor/rocksdb/java/understanding_options.md +0 -79
- package/vendor/rocksdb/src.mk +0 -713
- package/vendor/rocksdb/thirdparty.inc +0 -268
- package/vendor/rocksdb/tools/Dockerfile +0 -5
- package/vendor/rocksdb/tools/advisor/advisor/__init__.py +0 -0
- package/vendor/rocksdb/tools/advisor/advisor/bench_runner.py +0 -39
- package/vendor/rocksdb/tools/advisor/advisor/config_optimizer_example.py +0 -140
- package/vendor/rocksdb/tools/advisor/advisor/db_bench_runner.py +0 -237
- package/vendor/rocksdb/tools/advisor/advisor/db_config_optimizer.py +0 -293
- package/vendor/rocksdb/tools/advisor/advisor/db_log_parser.py +0 -134
- package/vendor/rocksdb/tools/advisor/advisor/db_options_parser.py +0 -348
- package/vendor/rocksdb/tools/advisor/advisor/db_stats_fetcher.py +0 -346
- package/vendor/rocksdb/tools/advisor/advisor/db_timeseries_parser.py +0 -203
- package/vendor/rocksdb/tools/advisor/advisor/ini_parser.py +0 -76
- package/vendor/rocksdb/tools/advisor/advisor/rule_parser.py +0 -510
- package/vendor/rocksdb/tools/advisor/advisor/rule_parser_example.py +0 -98
- package/vendor/rocksdb/tools/advisor/advisor/rules.ini +0 -214
- package/vendor/rocksdb/tools/advisor/test/__init__.py +0 -0
- package/vendor/rocksdb/tools/advisor/test/input_files/LOG-0 +0 -30
- package/vendor/rocksdb/tools/advisor/test/input_files/LOG-1 +0 -25
- package/vendor/rocksdb/tools/advisor/test/input_files/OPTIONS-000005 +0 -49
- package/vendor/rocksdb/tools/advisor/test/input_files/log_stats_parser_keys_ts +0 -3
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err1.ini +0 -56
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err2.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err3.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err4.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/test_rules.ini +0 -47
- package/vendor/rocksdb/tools/advisor/test/input_files/triggered_rules.ini +0 -83
- package/vendor/rocksdb/tools/advisor/test/test_db_bench_runner.py +0 -141
- package/vendor/rocksdb/tools/advisor/test/test_db_log_parser.py +0 -96
- package/vendor/rocksdb/tools/advisor/test/test_db_options_parser.py +0 -214
- package/vendor/rocksdb/tools/advisor/test/test_db_stats_fetcher.py +0 -121
- package/vendor/rocksdb/tools/advisor/test/test_rule_parser.py +0 -226
- package/vendor/rocksdb/tools/analyze_txn_stress_test.sh +0 -77
- package/vendor/rocksdb/tools/auto_sanity_test.sh +0 -93
- package/vendor/rocksdb/tools/backup_db.sh +0 -15
- package/vendor/rocksdb/tools/benchmark.sh +0 -1173
- package/vendor/rocksdb/tools/benchmark_ci.py +0 -182
- package/vendor/rocksdb/tools/benchmark_compare.sh +0 -342
- package/vendor/rocksdb/tools/benchmark_leveldb.sh +0 -187
- package/vendor/rocksdb/tools/block_cache_analyzer/__init__.py +0 -2
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +0 -2000
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +0 -156
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +0 -734
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +0 -729
- package/vendor/rocksdb/tools/check_all_python.py +0 -22
- package/vendor/rocksdb/tools/check_format_compatible.sh +0 -379
- package/vendor/rocksdb/tools/db_crashtest.py +0 -1018
- package/vendor/rocksdb/tools/dbench_monitor +0 -102
- package/vendor/rocksdb/tools/generate_random_db.sh +0 -31
- package/vendor/rocksdb/tools/ingest_external_sst.sh +0 -18
- package/vendor/rocksdb/tools/ldb_test.py +0 -955
- package/vendor/rocksdb/tools/pflag +0 -217
- package/vendor/rocksdb/tools/regression_test.sh +0 -525
- package/vendor/rocksdb/tools/restore_db.sh +0 -15
- package/vendor/rocksdb/tools/rocksdb_dump_test.sh +0 -9
- package/vendor/rocksdb/tools/run_blob_bench.sh +0 -223
- package/vendor/rocksdb/tools/run_flash_bench.sh +0 -359
- package/vendor/rocksdb/tools/run_leveldb.sh +0 -175
- package/vendor/rocksdb/tools/sample-dump.dmp +0 -0
- package/vendor/rocksdb/tools/verify_random_db.sh +0 -41
- package/vendor/rocksdb/tools/write_external_sst.sh +0 -26
- package/vendor/rocksdb/tools/write_stress_runner.py +0 -83
- package/vendor/rocksdb/util/crc32c_ppc.c +0 -94
- package/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
2
|
-
# This source code is licensed under both the GPLv2 (found in the
|
|
3
|
-
# COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
-
# (found in the LICENSE.Apache file in the root directory).
|
|
5
|
-
|
|
6
|
-
import copy
|
|
7
|
-
import os
|
|
8
|
-
|
|
9
|
-
from advisor.db_log_parser import DataSource, NO_COL_FAMILY
|
|
10
|
-
from advisor.ini_parser import IniParser
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class OptionsSpecParser(IniParser):
|
|
14
|
-
@staticmethod
|
|
15
|
-
def is_new_option(line):
|
|
16
|
-
return "=" in line
|
|
17
|
-
|
|
18
|
-
@staticmethod
|
|
19
|
-
def get_section_type(line):
|
|
20
|
-
"""
|
|
21
|
-
Example section header: [TableOptions/BlockBasedTable "default"]
|
|
22
|
-
Here ConfigurationOptimizer returned would be
|
|
23
|
-
'TableOptions.BlockBasedTable'
|
|
24
|
-
"""
|
|
25
|
-
section_path = line.strip()[1:-1].split()[0]
|
|
26
|
-
section_type = ".".join(section_path.split("/"))
|
|
27
|
-
return section_type
|
|
28
|
-
|
|
29
|
-
@staticmethod
|
|
30
|
-
def get_section_name(line):
|
|
31
|
-
# example: get_section_name('[CFOptions "default"]')
|
|
32
|
-
token_list = line.strip()[1:-1].split('"')
|
|
33
|
-
# token_list = ['CFOptions', 'default', '']
|
|
34
|
-
if len(token_list) < 3:
|
|
35
|
-
return None
|
|
36
|
-
return token_list[1] # return 'default'
|
|
37
|
-
|
|
38
|
-
@staticmethod
|
|
39
|
-
def get_section_str(section_type, section_name):
|
|
40
|
-
# Example:
|
|
41
|
-
# Case 1: get_section_str('DBOptions', NO_COL_FAMILY)
|
|
42
|
-
# Case 2: get_section_str('TableOptions.BlockBasedTable', 'default')
|
|
43
|
-
section_type = "/".join(section_type.strip().split("."))
|
|
44
|
-
# Case 1: section_type = 'DBOptions'
|
|
45
|
-
# Case 2: section_type = 'TableOptions/BlockBasedTable'
|
|
46
|
-
section_str = "[" + section_type
|
|
47
|
-
if section_name == NO_COL_FAMILY:
|
|
48
|
-
# Case 1: '[DBOptions]'
|
|
49
|
-
return section_str + "]"
|
|
50
|
-
else:
|
|
51
|
-
# Case 2: '[TableOptions/BlockBasedTable "default"]'
|
|
52
|
-
return section_str + ' "' + section_name + '"]'
|
|
53
|
-
|
|
54
|
-
@staticmethod
|
|
55
|
-
def get_option_str(key, values):
|
|
56
|
-
option_str = key + "="
|
|
57
|
-
# get_option_str('db_log_dir', None), returns 'db_log_dir='
|
|
58
|
-
if values:
|
|
59
|
-
# example:
|
|
60
|
-
# get_option_str('max_bytes_for_level_multiplier_additional',
|
|
61
|
-
# [1,1,1,1,1,1,1]), returned string:
|
|
62
|
-
# 'max_bytes_for_level_multiplier_additional=1:1:1:1:1:1:1'
|
|
63
|
-
if isinstance(values, list):
|
|
64
|
-
for value in values:
|
|
65
|
-
option_str += str(value) + ":"
|
|
66
|
-
option_str = option_str[:-1]
|
|
67
|
-
else:
|
|
68
|
-
# example: get_option_str('write_buffer_size', 1048576)
|
|
69
|
-
# returned string: 'write_buffer_size=1048576'
|
|
70
|
-
option_str += str(values)
|
|
71
|
-
return option_str
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class DatabaseOptions(DataSource):
|
|
75
|
-
@staticmethod
|
|
76
|
-
def is_misc_option(option_name):
|
|
77
|
-
# these are miscellaneous options that are not yet supported by the
|
|
78
|
-
# Rocksdb options file, hence they are not prefixed with any section
|
|
79
|
-
# name
|
|
80
|
-
return "." not in option_name
|
|
81
|
-
|
|
82
|
-
@staticmethod
|
|
83
|
-
def get_options_diff(opt_old, opt_new):
|
|
84
|
-
# type: Dict[option, Dict[col_fam, value]] X 2 ->
|
|
85
|
-
# Dict[option, Dict[col_fam, Tuple(old_value, new_value)]]
|
|
86
|
-
# note: diff should contain a tuple of values only if they are
|
|
87
|
-
# different from each other
|
|
88
|
-
options_union = set(opt_old.keys()).union(set(opt_new.keys()))
|
|
89
|
-
diff = {}
|
|
90
|
-
for opt in options_union:
|
|
91
|
-
diff[opt] = {}
|
|
92
|
-
# if option in options_union, then it must be in one of the configs
|
|
93
|
-
if opt not in opt_old:
|
|
94
|
-
for col_fam in opt_new[opt]:
|
|
95
|
-
diff[opt][col_fam] = (None, opt_new[opt][col_fam])
|
|
96
|
-
elif opt not in opt_new:
|
|
97
|
-
for col_fam in opt_old[opt]:
|
|
98
|
-
diff[opt][col_fam] = (opt_old[opt][col_fam], None)
|
|
99
|
-
else:
|
|
100
|
-
for col_fam in opt_old[opt]:
|
|
101
|
-
if col_fam in opt_new[opt]:
|
|
102
|
-
if opt_old[opt][col_fam] != opt_new[opt][col_fam]:
|
|
103
|
-
diff[opt][col_fam] = (
|
|
104
|
-
opt_old[opt][col_fam],
|
|
105
|
-
opt_new[opt][col_fam],
|
|
106
|
-
)
|
|
107
|
-
else:
|
|
108
|
-
diff[opt][col_fam] = (opt_old[opt][col_fam], None)
|
|
109
|
-
for col_fam in opt_new[opt]:
|
|
110
|
-
if col_fam in opt_old[opt]:
|
|
111
|
-
if opt_old[opt][col_fam] != opt_new[opt][col_fam]:
|
|
112
|
-
diff[opt][col_fam] = (
|
|
113
|
-
opt_old[opt][col_fam],
|
|
114
|
-
opt_new[opt][col_fam],
|
|
115
|
-
)
|
|
116
|
-
else:
|
|
117
|
-
diff[opt][col_fam] = (None, opt_new[opt][col_fam])
|
|
118
|
-
if not diff[opt]:
|
|
119
|
-
diff.pop(opt)
|
|
120
|
-
return diff
|
|
121
|
-
|
|
122
|
-
def __init__(self, rocksdb_options, misc_options=None):
|
|
123
|
-
super().__init__(DataSource.Type.DB_OPTIONS)
|
|
124
|
-
# The options are stored in the following data structure:
|
|
125
|
-
# Dict[section_type, Dict[section_name, Dict[option_name, value]]]
|
|
126
|
-
self.options_dict = None
|
|
127
|
-
self.column_families = None
|
|
128
|
-
# Load the options from the given file to a dictionary.
|
|
129
|
-
self.load_from_source(rocksdb_options)
|
|
130
|
-
# Setup the miscellaneous options expected to be List[str], where each
|
|
131
|
-
# element in the List has the format "<option_name>=<option_value>"
|
|
132
|
-
# These options are the ones that are not yet supported by the Rocksdb
|
|
133
|
-
# OPTIONS file, so they are provided separately
|
|
134
|
-
self.setup_misc_options(misc_options)
|
|
135
|
-
|
|
136
|
-
def setup_misc_options(self, misc_options):
|
|
137
|
-
self.misc_options = {}
|
|
138
|
-
if misc_options:
|
|
139
|
-
for option_pair_str in misc_options:
|
|
140
|
-
option_name = option_pair_str.split("=")[0].strip()
|
|
141
|
-
option_value = option_pair_str.split("=")[1].strip()
|
|
142
|
-
self.misc_options[option_name] = option_value
|
|
143
|
-
|
|
144
|
-
def load_from_source(self, options_path):
|
|
145
|
-
self.options_dict = {}
|
|
146
|
-
with open(options_path, "r") as db_options:
|
|
147
|
-
for line in db_options:
|
|
148
|
-
line = OptionsSpecParser.remove_trailing_comment(line)
|
|
149
|
-
if not line:
|
|
150
|
-
continue
|
|
151
|
-
if OptionsSpecParser.is_section_header(line):
|
|
152
|
-
curr_sec_type = OptionsSpecParser.get_section_type(line)
|
|
153
|
-
curr_sec_name = OptionsSpecParser.get_section_name(line)
|
|
154
|
-
if curr_sec_type not in self.options_dict:
|
|
155
|
-
self.options_dict[curr_sec_type] = {}
|
|
156
|
-
if not curr_sec_name:
|
|
157
|
-
curr_sec_name = NO_COL_FAMILY
|
|
158
|
-
self.options_dict[curr_sec_type][curr_sec_name] = {}
|
|
159
|
-
# example: if the line read from the Rocksdb OPTIONS file
|
|
160
|
-
# is [CFOptions "default"], then the section type is
|
|
161
|
-
# CFOptions and 'default' is the name of a column family
|
|
162
|
-
# that for this database, so it's added to the list of
|
|
163
|
-
# column families stored in this object
|
|
164
|
-
if curr_sec_type == "CFOptions":
|
|
165
|
-
if not self.column_families:
|
|
166
|
-
self.column_families = []
|
|
167
|
-
self.column_families.append(curr_sec_name)
|
|
168
|
-
elif OptionsSpecParser.is_new_option(line):
|
|
169
|
-
key, value = OptionsSpecParser.get_key_value_pair(line)
|
|
170
|
-
self.options_dict[curr_sec_type][curr_sec_name][key] = value
|
|
171
|
-
else:
|
|
172
|
-
error = "Not able to parse line in Options file."
|
|
173
|
-
OptionsSpecParser.exit_with_parse_error(line, error)
|
|
174
|
-
|
|
175
|
-
def get_misc_options(self):
|
|
176
|
-
# these are options that are not yet supported by the Rocksdb OPTIONS
|
|
177
|
-
# file, hence they are provided and stored separately
|
|
178
|
-
return self.misc_options
|
|
179
|
-
|
|
180
|
-
def get_column_families(self):
|
|
181
|
-
return self.column_families
|
|
182
|
-
|
|
183
|
-
def get_all_options(self):
|
|
184
|
-
# This method returns all the options that are stored in this object as
|
|
185
|
-
# a: Dict[<sec_type>.<option_name>: Dict[col_fam, option_value]]
|
|
186
|
-
all_options = []
|
|
187
|
-
# Example: in the section header '[CFOptions "default"]' read from the
|
|
188
|
-
# OPTIONS file, sec_type='CFOptions'
|
|
189
|
-
for sec_type in self.options_dict:
|
|
190
|
-
for col_fam in self.options_dict[sec_type]:
|
|
191
|
-
for opt_name in self.options_dict[sec_type][col_fam]:
|
|
192
|
-
option = sec_type + "." + opt_name
|
|
193
|
-
all_options.append(option)
|
|
194
|
-
all_options.extend(list(self.misc_options.keys()))
|
|
195
|
-
return self.get_options(all_options)
|
|
196
|
-
|
|
197
|
-
def get_options(self, reqd_options):
|
|
198
|
-
# type: List[str] -> Dict[str, Dict[str, Any]]
|
|
199
|
-
# List[option] -> Dict[option, Dict[col_fam, value]]
|
|
200
|
-
reqd_options_dict = {}
|
|
201
|
-
for option in reqd_options:
|
|
202
|
-
if DatabaseOptions.is_misc_option(option):
|
|
203
|
-
# the option is not prefixed by '<section_type>.' because it is
|
|
204
|
-
# not yet supported by the Rocksdb OPTIONS file; so it has to
|
|
205
|
-
# be fetched from the misc_options dictionary
|
|
206
|
-
if option not in self.misc_options:
|
|
207
|
-
continue
|
|
208
|
-
if option not in reqd_options_dict:
|
|
209
|
-
reqd_options_dict[option] = {}
|
|
210
|
-
reqd_options_dict[option][NO_COL_FAMILY] = self.misc_options[option]
|
|
211
|
-
else:
|
|
212
|
-
# Example: option = 'TableOptions.BlockBasedTable.block_align'
|
|
213
|
-
# then, sec_type = 'TableOptions.BlockBasedTable'
|
|
214
|
-
sec_type = ".".join(option.split(".")[:-1])
|
|
215
|
-
# opt_name = 'block_align'
|
|
216
|
-
opt_name = option.split(".")[-1]
|
|
217
|
-
if sec_type not in self.options_dict:
|
|
218
|
-
continue
|
|
219
|
-
for col_fam in self.options_dict[sec_type]:
|
|
220
|
-
if opt_name in self.options_dict[sec_type][col_fam]:
|
|
221
|
-
if option not in reqd_options_dict:
|
|
222
|
-
reqd_options_dict[option] = {}
|
|
223
|
-
reqd_options_dict[option][col_fam] = self.options_dict[
|
|
224
|
-
sec_type
|
|
225
|
-
][col_fam][opt_name]
|
|
226
|
-
return reqd_options_dict
|
|
227
|
-
|
|
228
|
-
def update_options(self, options):
|
|
229
|
-
# An example 'options' object looks like:
|
|
230
|
-
# {'DBOptions.max_background_jobs': {NO_COL_FAMILY: 2},
|
|
231
|
-
# 'CFOptions.write_buffer_size': {'default': 1048576, 'cf_A': 128000},
|
|
232
|
-
# 'bloom_bits': {NO_COL_FAMILY: 4}}
|
|
233
|
-
for option in options:
|
|
234
|
-
if DatabaseOptions.is_misc_option(option):
|
|
235
|
-
# this is a misc_option i.e. an option that is not yet
|
|
236
|
-
# supported by the Rocksdb OPTIONS file, so it is not prefixed
|
|
237
|
-
# by '<section_type>.' and must be stored in the separate
|
|
238
|
-
# misc_options dictionary
|
|
239
|
-
if NO_COL_FAMILY not in options[option]:
|
|
240
|
-
print(
|
|
241
|
-
"WARNING(DatabaseOptions.update_options): not "
|
|
242
|
-
+ "updating option "
|
|
243
|
-
+ option
|
|
244
|
-
+ " because it is in "
|
|
245
|
-
+ "misc_option format but its scope is not "
|
|
246
|
-
+ NO_COL_FAMILY
|
|
247
|
-
+ ". Check format of option."
|
|
248
|
-
)
|
|
249
|
-
continue
|
|
250
|
-
self.misc_options[option] = options[option][NO_COL_FAMILY]
|
|
251
|
-
else:
|
|
252
|
-
sec_name = ".".join(option.split(".")[:-1])
|
|
253
|
-
opt_name = option.split(".")[-1]
|
|
254
|
-
if sec_name not in self.options_dict:
|
|
255
|
-
self.options_dict[sec_name] = {}
|
|
256
|
-
for col_fam in options[option]:
|
|
257
|
-
# if the option is not already present in the dictionary,
|
|
258
|
-
# it will be inserted, else it will be updated to the new
|
|
259
|
-
# value
|
|
260
|
-
if col_fam not in self.options_dict[sec_name]:
|
|
261
|
-
self.options_dict[sec_name][col_fam] = {}
|
|
262
|
-
self.options_dict[sec_name][col_fam][opt_name] = copy.deepcopy(
|
|
263
|
-
options[option][col_fam]
|
|
264
|
-
)
|
|
265
|
-
|
|
266
|
-
def generate_options_config(self, nonce):
|
|
267
|
-
# this method generates a Rocksdb OPTIONS file in the INI format from
|
|
268
|
-
# the options stored in self.options_dict
|
|
269
|
-
this_path = os.path.abspath(os.path.dirname(__file__))
|
|
270
|
-
file_name = "../temp/OPTIONS_" + str(nonce) + ".tmp"
|
|
271
|
-
file_path = os.path.join(this_path, file_name)
|
|
272
|
-
with open(file_path, "w") as fp:
|
|
273
|
-
for section in self.options_dict:
|
|
274
|
-
for col_fam in self.options_dict[section]:
|
|
275
|
-
fp.write(OptionsSpecParser.get_section_str(section, col_fam) + "\n")
|
|
276
|
-
for option in self.options_dict[section][col_fam]:
|
|
277
|
-
values = self.options_dict[section][col_fam][option]
|
|
278
|
-
fp.write(
|
|
279
|
-
OptionsSpecParser.get_option_str(option, values) + "\n"
|
|
280
|
-
)
|
|
281
|
-
fp.write("\n")
|
|
282
|
-
return file_path
|
|
283
|
-
|
|
284
|
-
def check_and_trigger_conditions(self, conditions):
|
|
285
|
-
for cond in conditions:
|
|
286
|
-
reqd_options_dict = self.get_options(cond.options)
|
|
287
|
-
# This contains the indices of options that are specific to some
|
|
288
|
-
# column family and are not database-wide options.
|
|
289
|
-
incomplete_option_ix = []
|
|
290
|
-
options = []
|
|
291
|
-
missing_reqd_option = False
|
|
292
|
-
for ix, option in enumerate(cond.options):
|
|
293
|
-
if option not in reqd_options_dict:
|
|
294
|
-
print(
|
|
295
|
-
"WARNING(DatabaseOptions.check_and_trigger): "
|
|
296
|
-
+ "skipping condition "
|
|
297
|
-
+ cond.name
|
|
298
|
-
+ " because it "
|
|
299
|
-
"requires option "
|
|
300
|
-
+ option
|
|
301
|
-
+ " but this option is"
|
|
302
|
-
+ " not available"
|
|
303
|
-
)
|
|
304
|
-
missing_reqd_option = True
|
|
305
|
-
break # required option is absent
|
|
306
|
-
if NO_COL_FAMILY in reqd_options_dict[option]:
|
|
307
|
-
options.append(reqd_options_dict[option][NO_COL_FAMILY])
|
|
308
|
-
else:
|
|
309
|
-
options.append(None)
|
|
310
|
-
incomplete_option_ix.append(ix)
|
|
311
|
-
|
|
312
|
-
if missing_reqd_option:
|
|
313
|
-
continue
|
|
314
|
-
|
|
315
|
-
# if all the options are database-wide options
|
|
316
|
-
if not incomplete_option_ix:
|
|
317
|
-
try:
|
|
318
|
-
if eval(cond.eval_expr):
|
|
319
|
-
cond.set_trigger({NO_COL_FAMILY: options})
|
|
320
|
-
except Exception as e:
|
|
321
|
-
print("WARNING(DatabaseOptions) check_and_trigger:" + str(e))
|
|
322
|
-
continue
|
|
323
|
-
|
|
324
|
-
# for all the options that are not database-wide, we look for their
|
|
325
|
-
# values specific to column families
|
|
326
|
-
col_fam_options_dict = {}
|
|
327
|
-
for col_fam in self.column_families:
|
|
328
|
-
present = True
|
|
329
|
-
for ix in incomplete_option_ix:
|
|
330
|
-
option = cond.options[ix]
|
|
331
|
-
if col_fam not in reqd_options_dict[option]:
|
|
332
|
-
present = False
|
|
333
|
-
break
|
|
334
|
-
options[ix] = reqd_options_dict[option][col_fam]
|
|
335
|
-
if present:
|
|
336
|
-
try:
|
|
337
|
-
if eval(cond.eval_expr):
|
|
338
|
-
col_fam_options_dict[col_fam] = copy.deepcopy(options)
|
|
339
|
-
except Exception as e:
|
|
340
|
-
print("WARNING(DatabaseOptions) check_and_trigger: " + str(e))
|
|
341
|
-
# Trigger for an OptionCondition object is of the form:
|
|
342
|
-
# Dict[col_fam_name: List[option_value]]
|
|
343
|
-
# where col_fam_name is the name of a column family for which
|
|
344
|
-
# 'eval_expr' evaluated to True and List[option_value] is the list
|
|
345
|
-
# of values of the options specified in the condition's 'options'
|
|
346
|
-
# field
|
|
347
|
-
if col_fam_options_dict:
|
|
348
|
-
cond.set_trigger(col_fam_options_dict)
|
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
2
|
-
# This source code is licensed under both the GPLv2 (found in the
|
|
3
|
-
# COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
-
# (found in the LICENSE.Apache file in the root directory).
|
|
5
|
-
|
|
6
|
-
import copy
|
|
7
|
-
import glob
|
|
8
|
-
import re
|
|
9
|
-
import subprocess
|
|
10
|
-
import time
|
|
11
|
-
from typing import List
|
|
12
|
-
|
|
13
|
-
from advisor.db_log_parser import Log
|
|
14
|
-
from advisor.db_timeseries_parser import NO_ENTITY, TimeSeriesData
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class LogStatsParser(TimeSeriesData):
|
|
18
|
-
STATS = "STATISTICS:"
|
|
19
|
-
|
|
20
|
-
@staticmethod
|
|
21
|
-
def parse_log_line_for_stats(log_line):
|
|
22
|
-
# Example stat line (from LOG file):
|
|
23
|
-
# "rocksdb.db.get.micros P50 : 8.4 P95 : 21.8 P99 : 33.9 P100 : 92.0\n"
|
|
24
|
-
token_list = log_line.strip().split()
|
|
25
|
-
# token_list = ['rocksdb.db.get.micros', 'P50', ':', '8.4', 'P95', ':',
|
|
26
|
-
# '21.8', 'P99', ':', '33.9', 'P100', ':', '92.0']
|
|
27
|
-
stat_prefix = token_list[0] + "." # 'rocksdb.db.get.micros.'
|
|
28
|
-
stat_values = [token for token in token_list[1:] if token != ":"]
|
|
29
|
-
# stat_values = ['P50', '8.4', 'P95', '21.8', 'P99', '33.9', 'P100',
|
|
30
|
-
# '92.0']
|
|
31
|
-
stat_dict = {}
|
|
32
|
-
for ix, metric in enumerate(stat_values):
|
|
33
|
-
if ix % 2 == 0:
|
|
34
|
-
stat_name = stat_prefix + metric
|
|
35
|
-
stat_name = stat_name.lower() # Note: case insensitive names
|
|
36
|
-
else:
|
|
37
|
-
stat_dict[stat_name] = float(metric)
|
|
38
|
-
# stat_dict = {'rocksdb.db.get.micros.p50': 8.4,
|
|
39
|
-
# 'rocksdb.db.get.micros.p95': 21.8, 'rocksdb.db.get.micros.p99': 33.9,
|
|
40
|
-
# 'rocksdb.db.get.micros.p100': 92.0}
|
|
41
|
-
return stat_dict
|
|
42
|
-
|
|
43
|
-
def __init__(self, logs_path_prefix, stats_freq_sec):
|
|
44
|
-
super().__init__()
|
|
45
|
-
self.logs_file_prefix = logs_path_prefix
|
|
46
|
-
self.stats_freq_sec = stats_freq_sec
|
|
47
|
-
self.duration_sec = 60
|
|
48
|
-
|
|
49
|
-
def get_keys_from_conditions(self, conditions):
|
|
50
|
-
# Note: case insensitive stat names
|
|
51
|
-
reqd_stats = []
|
|
52
|
-
for cond in conditions:
|
|
53
|
-
for key in cond.keys:
|
|
54
|
-
key = key.lower()
|
|
55
|
-
# some keys are prepended with '[]' for OdsStatsFetcher to
|
|
56
|
-
# replace this with the appropriate key_prefix, remove these
|
|
57
|
-
# characters here since the LogStatsParser does not need
|
|
58
|
-
# a prefix
|
|
59
|
-
if key.startswith("[]"):
|
|
60
|
-
reqd_stats.append(key[2:])
|
|
61
|
-
else:
|
|
62
|
-
reqd_stats.append(key)
|
|
63
|
-
return reqd_stats
|
|
64
|
-
|
|
65
|
-
def add_to_timeseries(self, log, reqd_stats):
|
|
66
|
-
# this method takes in the Log object that contains the Rocksdb stats
|
|
67
|
-
# and a list of required stats, then it parses the stats line by line
|
|
68
|
-
# to fetch required stats and add them to the keys_ts object
|
|
69
|
-
# Example: reqd_stats = ['rocksdb.block.cache.hit.count',
|
|
70
|
-
# 'rocksdb.db.get.micros.p99']
|
|
71
|
-
# Let log.get_message() returns following string:
|
|
72
|
-
# "[WARN] [db/db_impl.cc:485] STATISTICS:\n
|
|
73
|
-
# rocksdb.block.cache.miss COUNT : 1459\n
|
|
74
|
-
# rocksdb.block.cache.hit COUNT : 37\n
|
|
75
|
-
# ...
|
|
76
|
-
# rocksdb.db.get.micros P50 : 15.6 P95 : 39.7 P99 : 62.6 P100 : 148.0\n
|
|
77
|
-
# ..."
|
|
78
|
-
new_lines = log.get_message().split("\n")
|
|
79
|
-
# let log_ts = 1532518219
|
|
80
|
-
log_ts = log.get_timestamp()
|
|
81
|
-
# example updates to keys_ts:
|
|
82
|
-
# keys_ts[NO_ENTITY]['rocksdb.db.get.micros.p99'][1532518219] = 62.6
|
|
83
|
-
# keys_ts[NO_ENTITY]['rocksdb.block.cache.hit.count'][1532518219] = 37
|
|
84
|
-
for line in new_lines[1:]: # new_lines[0] does not contain any stats
|
|
85
|
-
stats_on_line = self.parse_log_line_for_stats(line)
|
|
86
|
-
for stat in stats_on_line:
|
|
87
|
-
if stat in reqd_stats:
|
|
88
|
-
if stat not in self.keys_ts[NO_ENTITY]:
|
|
89
|
-
self.keys_ts[NO_ENTITY][stat] = {}
|
|
90
|
-
self.keys_ts[NO_ENTITY][stat][log_ts] = stats_on_line[stat]
|
|
91
|
-
|
|
92
|
-
def fetch_timeseries(self, reqd_stats):
|
|
93
|
-
# this method parses the Rocksdb LOG file and generates timeseries for
|
|
94
|
-
# each of the statistic in the list reqd_stats
|
|
95
|
-
self.keys_ts = {NO_ENTITY: {}}
|
|
96
|
-
for file_name in glob.glob(self.logs_file_prefix + "*"):
|
|
97
|
-
# TODO(poojam23): find a way to distinguish between 'old' log files
|
|
98
|
-
# from current and previous experiments, present in the same
|
|
99
|
-
# directory
|
|
100
|
-
if re.search("old", file_name, re.IGNORECASE):
|
|
101
|
-
continue
|
|
102
|
-
with open(file_name, "r") as db_logs:
|
|
103
|
-
new_log = None
|
|
104
|
-
for line in db_logs:
|
|
105
|
-
if Log.is_new_log(line):
|
|
106
|
-
if new_log and re.search(self.STATS, new_log.get_message()):
|
|
107
|
-
self.add_to_timeseries(new_log, reqd_stats)
|
|
108
|
-
new_log = Log(line, column_families=[])
|
|
109
|
-
else:
|
|
110
|
-
# To account for logs split into multiple lines
|
|
111
|
-
new_log.append_message(line)
|
|
112
|
-
# Check for the last log in the file.
|
|
113
|
-
if new_log and re.search(self.STATS, new_log.get_message()):
|
|
114
|
-
self.add_to_timeseries(new_log, reqd_stats)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
class DatabasePerfContext(TimeSeriesData):
|
|
118
|
-
# TODO(poojam23): check if any benchrunner provides PerfContext sampled at
|
|
119
|
-
# regular intervals
|
|
120
|
-
def __init__(self, perf_context_ts, stats_freq_sec, cumulative):
|
|
121
|
-
"""
|
|
122
|
-
perf_context_ts is expected to be in the following format:
|
|
123
|
-
Dict[metric, Dict[timestamp, value]], where for
|
|
124
|
-
each (metric, timestamp) pair, the value is database-wide (i.e.
|
|
125
|
-
summed over all the threads involved)
|
|
126
|
-
if stats_freq_sec == 0, per-metric only one value is reported
|
|
127
|
-
"""
|
|
128
|
-
super().__init__()
|
|
129
|
-
self.stats_freq_sec = stats_freq_sec
|
|
130
|
-
self.keys_ts = {NO_ENTITY: perf_context_ts}
|
|
131
|
-
if cumulative:
|
|
132
|
-
self.unaccumulate_metrics()
|
|
133
|
-
|
|
134
|
-
def unaccumulate_metrics(self):
|
|
135
|
-
# if the perf context metrics provided are cumulative in nature, this
|
|
136
|
-
# method can be used to convert them to a disjoint format
|
|
137
|
-
epoch_ts = copy.deepcopy(self.keys_ts)
|
|
138
|
-
for stat in self.keys_ts[NO_ENTITY]:
|
|
139
|
-
timeseries = sorted(
|
|
140
|
-
list(self.keys_ts[NO_ENTITY][stat].keys()), reverse=True
|
|
141
|
-
)
|
|
142
|
-
if len(timeseries) < 2:
|
|
143
|
-
continue
|
|
144
|
-
for ix, ts in enumerate(timeseries[:-1]):
|
|
145
|
-
epoch_ts[NO_ENTITY][stat][ts] = (
|
|
146
|
-
epoch_ts[NO_ENTITY][stat][ts]
|
|
147
|
-
- epoch_ts[NO_ENTITY][stat][timeseries[ix + 1]]
|
|
148
|
-
)
|
|
149
|
-
if epoch_ts[NO_ENTITY][stat][ts] < 0:
|
|
150
|
-
raise ValueError("DBPerfContext: really cumulative?")
|
|
151
|
-
# drop the smallest timestamp in the timeseries for this metric
|
|
152
|
-
epoch_ts[NO_ENTITY][stat].pop(timeseries[-1])
|
|
153
|
-
self.keys_ts = epoch_ts
|
|
154
|
-
|
|
155
|
-
def get_keys_from_conditions(self, conditions):
|
|
156
|
-
reqd_stats = []
|
|
157
|
-
for cond in conditions:
|
|
158
|
-
reqd_stats.extend([key.lower() for key in cond.keys])
|
|
159
|
-
return reqd_stats
|
|
160
|
-
|
|
161
|
-
def fetch_timeseries(self, statistics):
|
|
162
|
-
# this method is redundant for DatabasePerfContext because the __init__
|
|
163
|
-
# does the job of populating 'keys_ts'
|
|
164
|
-
pass
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
class OdsStatsFetcher(TimeSeriesData):
|
|
168
|
-
# class constants
|
|
169
|
-
OUTPUT_FILE = "temp/stats_out.tmp"
|
|
170
|
-
ERROR_FILE = "temp/stats_err.tmp"
|
|
171
|
-
RAPIDO_COMMAND = "%s --entity=%s --key=%s --tstart=%s --tend=%s --showtime"
|
|
172
|
-
|
|
173
|
-
# static methods
|
|
174
|
-
@staticmethod
|
|
175
|
-
def _get_string_in_quotes(value):
|
|
176
|
-
return '"' + str(value) + '"'
|
|
177
|
-
|
|
178
|
-
@staticmethod
|
|
179
|
-
def _get_time_value_pair(pair_string):
|
|
180
|
-
# example pair_string: '[1532544591, 97.3653601828]'
|
|
181
|
-
pair_string = pair_string.replace("[", "")
|
|
182
|
-
pair_string = pair_string.replace("]", "")
|
|
183
|
-
pair = pair_string.split(",")
|
|
184
|
-
first = int(pair[0].strip())
|
|
185
|
-
second = float(pair[1].strip())
|
|
186
|
-
return [first, second]
|
|
187
|
-
|
|
188
|
-
@staticmethod
|
|
189
|
-
def _get_ods_cli_stime(start_time):
|
|
190
|
-
diff = int(time.time() - int(start_time))
|
|
191
|
-
stime = str(diff) + "_s"
|
|
192
|
-
return stime
|
|
193
|
-
|
|
194
|
-
def __init__(self, client, entities, start_time, end_time, key_prefix=None):
|
|
195
|
-
super().__init__()
|
|
196
|
-
self.client = client
|
|
197
|
-
self.entities = entities
|
|
198
|
-
self.start_time = start_time
|
|
199
|
-
self.end_time = end_time
|
|
200
|
-
self.key_prefix = key_prefix
|
|
201
|
-
self.stats_freq_sec = 60
|
|
202
|
-
self.duration_sec = 60
|
|
203
|
-
|
|
204
|
-
def execute_script(self, command):
|
|
205
|
-
print("executing...")
|
|
206
|
-
print(command)
|
|
207
|
-
out_file = open(self.OUTPUT_FILE, "w+")
|
|
208
|
-
err_file = open(self.ERROR_FILE, "w+")
|
|
209
|
-
subprocess.call(command, shell=True, stdout=out_file, stderr=err_file)
|
|
210
|
-
out_file.close()
|
|
211
|
-
err_file.close()
|
|
212
|
-
|
|
213
|
-
def parse_rapido_output(self):
|
|
214
|
-
# Output looks like the following:
|
|
215
|
-
# <entity_name>\t<key_name>\t[[ts, value], [ts, value], ...]
|
|
216
|
-
# ts = timestamp; value = value of key_name in entity_name at time ts
|
|
217
|
-
self.keys_ts = {}
|
|
218
|
-
with open(self.OUTPUT_FILE, "r") as fp:
|
|
219
|
-
for line in fp:
|
|
220
|
-
token_list = line.strip().split("\t")
|
|
221
|
-
entity = token_list[0]
|
|
222
|
-
key = token_list[1]
|
|
223
|
-
if entity not in self.keys_ts:
|
|
224
|
-
self.keys_ts[entity] = {}
|
|
225
|
-
if key not in self.keys_ts[entity]:
|
|
226
|
-
self.keys_ts[entity][key] = {}
|
|
227
|
-
list_of_lists = [
|
|
228
|
-
self._get_time_value_pair(pair_string)
|
|
229
|
-
for pair_string in token_list[2].split("],")
|
|
230
|
-
]
|
|
231
|
-
value = {pair[0]: pair[1] for pair in list_of_lists}
|
|
232
|
-
self.keys_ts[entity][key] = value
|
|
233
|
-
|
|
234
|
-
def parse_ods_output(self):
|
|
235
|
-
# Output looks like the following:
|
|
236
|
-
# <entity_name>\t<key_name>\t<timestamp>\t<value>
|
|
237
|
-
# there is one line per (entity_name, key_name, timestamp)
|
|
238
|
-
self.keys_ts = {}
|
|
239
|
-
with open(self.OUTPUT_FILE, "r") as fp:
|
|
240
|
-
for line in fp:
|
|
241
|
-
token_list = line.split()
|
|
242
|
-
entity = token_list[0]
|
|
243
|
-
if entity not in self.keys_ts:
|
|
244
|
-
self.keys_ts[entity] = {}
|
|
245
|
-
key = token_list[1]
|
|
246
|
-
if key not in self.keys_ts[entity]:
|
|
247
|
-
self.keys_ts[entity][key] = {}
|
|
248
|
-
self.keys_ts[entity][key][token_list[2]] = token_list[3]
|
|
249
|
-
|
|
250
|
-
def fetch_timeseries(self, statistics):
|
|
251
|
-
# this method fetches the timeseries of required stats from the ODS
|
|
252
|
-
# service and populates the 'keys_ts' object appropriately
|
|
253
|
-
print("OdsStatsFetcher: fetching " + str(statistics))
|
|
254
|
-
if re.search("rapido", self.client, re.IGNORECASE):
|
|
255
|
-
command = self.RAPIDO_COMMAND % (
|
|
256
|
-
self.client,
|
|
257
|
-
self._get_string_in_quotes(self.entities),
|
|
258
|
-
self._get_string_in_quotes(",".join(statistics)),
|
|
259
|
-
self._get_string_in_quotes(self.start_time),
|
|
260
|
-
self._get_string_in_quotes(self.end_time),
|
|
261
|
-
)
|
|
262
|
-
# Run the tool and fetch the time-series data
|
|
263
|
-
self.execute_script(command)
|
|
264
|
-
# Parse output and populate the 'keys_ts' map
|
|
265
|
-
self.parse_rapido_output()
|
|
266
|
-
elif re.search("ods", self.client, re.IGNORECASE):
|
|
267
|
-
command = (
|
|
268
|
-
self.client
|
|
269
|
-
+ " "
|
|
270
|
-
+ "--stime="
|
|
271
|
-
+ self._get_ods_cli_stime(self.start_time)
|
|
272
|
-
+ " "
|
|
273
|
-
+ self._get_string_in_quotes(self.entities)
|
|
274
|
-
+ " "
|
|
275
|
-
+ self._get_string_in_quotes(",".join(statistics))
|
|
276
|
-
)
|
|
277
|
-
# Run the tool and fetch the time-series data
|
|
278
|
-
self.execute_script(command)
|
|
279
|
-
# Parse output and populate the 'keys_ts' map
|
|
280
|
-
self.parse_ods_output()
|
|
281
|
-
|
|
282
|
-
def get_keys_from_conditions(self, conditions):
|
|
283
|
-
reqd_stats = []
|
|
284
|
-
for cond in conditions:
|
|
285
|
-
for key in cond.keys:
|
|
286
|
-
use_prefix = False
|
|
287
|
-
if key.startswith("[]"):
|
|
288
|
-
use_prefix = True
|
|
289
|
-
key = key[2:]
|
|
290
|
-
# TODO(poojam23): this is very hacky and needs to be improved
|
|
291
|
-
if key.startswith("rocksdb"):
|
|
292
|
-
key += ".60"
|
|
293
|
-
if use_prefix:
|
|
294
|
-
if not self.key_prefix:
|
|
295
|
-
print("Warning: OdsStatsFetcher might need key prefix")
|
|
296
|
-
print("for the key: " + key)
|
|
297
|
-
else:
|
|
298
|
-
key = self.key_prefix + "." + key
|
|
299
|
-
reqd_stats.append(key)
|
|
300
|
-
return reqd_stats
|
|
301
|
-
|
|
302
|
-
def fetch_rate_url(
|
|
303
|
-
self,
|
|
304
|
-
entities: List[str],
|
|
305
|
-
keys: List[str],
|
|
306
|
-
window_len: str,
|
|
307
|
-
percent: str,
|
|
308
|
-
display: bool,
|
|
309
|
-
) -> str:
|
|
310
|
-
transform_desc = (
|
|
311
|
-
"rate(" + str(window_len) + ",duration=" + str(self.duration_sec)
|
|
312
|
-
)
|
|
313
|
-
if percent:
|
|
314
|
-
transform_desc = transform_desc + ",%)"
|
|
315
|
-
else:
|
|
316
|
-
transform_desc = transform_desc + ")"
|
|
317
|
-
if re.search("rapido", self.client, re.IGNORECASE):
|
|
318
|
-
command = self.RAPIDO_COMMAND + " --transform=%s --url=%s"
|
|
319
|
-
command = command % (
|
|
320
|
-
self.client,
|
|
321
|
-
self._get_string_in_quotes(",".join(entities)),
|
|
322
|
-
self._get_string_in_quotes(",".join(keys)),
|
|
323
|
-
self._get_string_in_quotes(self.start_time),
|
|
324
|
-
self._get_string_in_quotes(self.end_time),
|
|
325
|
-
self._get_string_in_quotes(transform_desc),
|
|
326
|
-
self._get_string_in_quotes(display),
|
|
327
|
-
)
|
|
328
|
-
elif re.search("ods", self.client, re.IGNORECASE):
|
|
329
|
-
command = (
|
|
330
|
-
self.client
|
|
331
|
-
+ " "
|
|
332
|
-
+ "--stime="
|
|
333
|
-
+ self._get_ods_cli_stime(self.start_time)
|
|
334
|
-
+ " "
|
|
335
|
-
+ "--fburlonly "
|
|
336
|
-
+ self._get_string_in_quotes(entities)
|
|
337
|
-
+ " "
|
|
338
|
-
+ self._get_string_in_quotes(",".join(keys))
|
|
339
|
-
+ " "
|
|
340
|
-
+ self._get_string_in_quotes(transform_desc)
|
|
341
|
-
)
|
|
342
|
-
self.execute_script(command)
|
|
343
|
-
url = ""
|
|
344
|
-
with open(self.OUTPUT_FILE, "r") as fp:
|
|
345
|
-
url = fp.readline()
|
|
346
|
-
return url
|