Coverage report: /home/ellis/comp/core/ffi/rocksdb/vars.lisp
Kind | Covered | All | % |
expression | 18 | 88 | 20.5 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; rocksdb/vars.lisp --- RocksDB FFI Variables
8
(defmacro %svec (&body syms)
10
(lambda (x) (string-downcase (symbol-name x)))
14
(defvar *rocksdb-destructor-callback* (alien-callable-function 'rocksdb-destructor))
15
(defvar *rocksdb-delete-value-callback* (alien-callable-function 'rocksdb-delete-value))
16
(defvar *rocksdb-name-callback* (alien-callable-function 'rocksdb-name))
17
(defvar *rocksdb-log-callback* (alien-callable-function 'rocksdb-log-default))
20
(defvar *rocksdb-compression-backends*
21
(%svec none snappy zlib bz2 lz4 lz4hc xpress zstd))
23
(defun rocksdb-compression-backend (name)
24
(position name *rocksdb-compression-backends* :test #'string=))
26
(defvar *rocksdb-compaction-levels* '(level universal fifo))
28
(defun rocksdb-compaction-level (name)
29
(position name *rocksdb-compaction-levels* :test #'string=))
31
(defvar *rocksdb-perf-metrics*
33
user-key-comparison-count block-cache-hit-count
34
block-read-count block-read-byte
35
block-read-time block-checksum-time
36
block-decompress-time get-read-bytes
37
multiget-read-bytes iter-read-bytes
38
internal-key-skipped-count internal-delete-skipped-count
39
internal-recent-skipped-count internal-merge-count
40
get-snapshot-time get-from-memtable-time
41
get-from-memtable-count get-post-process-time
42
get-from-output-files-time seek-on-memtable-time
43
seek-on-memtable-count next-on-memtable-count
44
prev-on-memtable-count seek-child-seek-time
45
seek-child-seek-count seek-min-heap-time
46
seek-max-heap-time seek-internal-seek-time
47
find-next-user-entry-time write-wal-time
48
write-memtable-time write-delay-time
49
write-pre-and-post-process-time db-mutex-lock-nanos
50
db-condition-wait-nanos merge-operator-time-nanos
51
read-index-block-nanos read-filter-block-nanos
52
new-table-block-iter-nanos new-table-iterator-nanos
53
block-seek-nanos find-table-nanos
54
bloom-memtable-hit-count bloom-memtable-miss-count
55
bloom-sst-hit-count bloom-sst-miss-count
56
key-lock-wait-time key-lock-wait-count
57
env-new-sequential-file-nanos env-new-random-access-file-nanos
58
env-new-writable-file-nanos env-reuse-writable-file-nanos
59
env-new-random-rw-file-nanos env-new-directory-nanos
60
env-file-exists-nanos env-get-children-nanos
61
env-get-children-file-attributes-nanos env-delete-file-nanos
62
env-create-dir-nanos env-create-dir-if-missing-nanos
63
env-delete-dir-nanos env-get-file-size-nanos
64
env-get-file-modification-time-nanos env-rename-file-nanos
65
env-link-file-nanos env-lock-file-nanos
66
env-unlock-file-nanos env-new-logger-nanos
67
number-async-seek blob-cache-hit-count
68
blob-read-count blob-read-byte
69
blob-read-time blob-checksum-time
70
blob-decompress-time internal-range-del-reseek-count
71
block-read-cpu-time total-metric-count))
73
(defvar *rocksdb-perf-levels*
74
(%svec uninitialized disable enable-count enable-time-except-for-mutex enable-time out-of-bounds))
76
(defun rocksdb-perf-level (name)
77
(position name *rocksdb-perf-levels* :test #'string=))
79
(defvar *rocksdb-statistics-levels*
80
(%svec disable-all except-tickers except-histogram-or-timers
81
except-timers except-detailed-timers except-time-for-mutex
84
(defun rocksdb-statistics-level (name)
85
(position name *rocksdb-statistics-levels* :test #'string=))
87
(defvar *rocksdb-set-only-options*
88
(%svec block-based-table-factory parallelism compression-options
89
merge-operator db-log-dir wal-dir wal-ttl-seconds wal-size-limit-mb
90
memtable-vector-rep prepare-for-bulk-load universal-compaction-options
91
hash-skip-list-rep plain-table-factory min-level-to-compress
92
ratelimiter row-cache prefix-extractor))
94
(defvar *rocksdb-options*
95
(%svec create-if-missing create-missing-column-families error-if-exists
96
paranoid-checks info-log-level write-buffer-size db-write-buffer-size
97
max-open-files max-file-opening-threads max-total-wal-size
98
compression-options-zstd-max-train-bytes compression-options-max-dict-buffer-bytes
99
compression-options-parallel-threads compression-options-use-zstd-dict-trainer
100
num-levels level0-file-num-compaction-trigger level0-slowdown-writes-trigger
101
level0-stop-writes-trigger target-file-size-base target-file-size-multiplier
102
max-bytes-for-level-base level-compaction-dynamic-level-bytes max-bytes-for-level-multiplier
104
allow-ingest-behind statistics-level
105
skip-stats-update-on-db-open skip-checking-sst-file-sizes-on-db-open enable-blob-files
106
min-blob-size blob-file-size blob-compression-type enable-blob-gc blob-gc-age-cutoff
107
blob-gc-force-threshold blob-compaction-readahead-size blob-file-starting-level
108
;; deprecated: max-write-buffer-number-to-maintain
109
max-write-buffer-number min-write-buffer-number-to-merge memtable-op-scan-flush-trigger
110
max-write-buffer-size-to-maintain enable-pipelined-write unordered-write max-subcompactions
111
max-background-jobs max-background-compactions max-background-flushes max-log-file-size
112
log-file-time-to-roll keep-log-file-num recycle-log-file-num soft-pending-compaction-bytes-limit
113
hard-pending-compaction-bytes-limit max-manifest-file-size table-cache-numshardbits arena-block-size
114
use-fsync manifest-preallocation-size allow-mmap-reads
115
allow-mmap-writes use-direct-reads use-direct-io-for-flush-and-compaction is-fd-close-on-exec
116
stats-dump-period-sec stats-persist-period-sec advise-random-on-open
117
use-adaptive-mutex bytes-per-sync wal-bytes-per-sync writable-file-max-buffer-size
118
allow-concurrent-memtable-write enable-write-thread-adaptive-yield max-sequential-skip-in-iterations
119
disable-auto-compactions optimize-filters-for-hits delete-obsolete-files-period-micros
120
memtable-prefix-bloom-size-ratio max-compaction-bytes
121
memtable-huge-page-size
122
max-successive-merges bloom-locality inplace-update-support inplace-update-num-locks
123
report-bg-io-stats avoid-unnecessary-blocking-io experimental-mempurge-threshold
124
wal-recovery-mode compression bottommost-compression compaction-style
125
atomic-flush manual-wal-flush wal-compression
126
prepopulate-blob-cache)
127
"Provides early list of options for macros to populate.")
129
(defvar *rocksdb-set-only-readoptions*
130
(%svec snapshot iterate-upper-bound iterate-lower-bound readahead-size
131
prefix-same-as-start ignore-range-deletions timestamp iter-start-ts auto-readahead-size))
133
(defvar *rocksdb-readoptions*
134
(%svec verify-checksums fill-cache read-tier tailing total-order-seek skippable-internal-keys
135
purge-on-iterator-cleanup deadline io-timeout async-io))
137
(defvar *rocksdb-writeoptions*
138
(%svec sync disable-wal ignore-missing-column-families
139
no-slowdown low-pri memtable-insert-hint-per-batch))
141
(defvar *rocksdb-flushoptions* (%svec wait))
142
(defvar *rocksdb-lru-cache-options*)
143
(defvar *rocksdb-compactoptions*
144
(%svec exclusive-manual-compaction
145
bottommost-level-compaction
152
(defvar *rocksdb-ingestexternalfileoptions*
153
(%svec move-files snapshot-consistency allow-global-seqno allow-blocking-flush
154
ingest-behind fail-if-not-bottommost-level))
155
(defvar *rocksdb-set-only-backup-engine-options* (%svec backup-dir env))
156
(defvar *rocksdb-backup-engine-options*
157
(%svec share-table-files sync destroy-old-data backup-log-files backup-rate-limit
158
restore-rate-limit callback-trigger-interval-size max-valid-backups-to-open
159
shared-files-with-checksum-naming))
161
;; (defvar *rocksdb-intgestexternalfileoptions*)
163
(defvar *rocksdb-column-family-metadata*
164
#("size" "file-count" "name" "level-count" "level-metadata"))
166
(defvar *rocksdb-level-metadata*
167
#("level" "size" "file-count" "sst-file-metadata"))
169
(defvar *rocksdb-sst-file-metadata*
170
#("relative-filename" "directory" "size" "smallestkey" "largestkey"))
172
(defvar *rocksdb-properties*
173
#("rocksdb.num-files-at-level0"
174
"rocksdb.compression-ration-at-level0"
175
"rocksdb.aggregated-table-properties-at-level0"
176
"rocksdb.stats" "rocksdb.sstables"
177
"rocksdb.cfstats" "rocksdb.cfstats-no-file-histogram"
178
"rocksdb.cf-file-histogram" "rocksdb.cf-write-stall-stats"
179
"rocksdb.db-write-stall-stats" "rocksdb.dbstats"
180
"rocksdb.levelstats" "rocksdb.block-cache-entry-stats"
181
"rocksdb.fast-block-cache-entry-stats" "rocksdb.num-immutable-mem-table"
182
"rocksdb.num-immutable-mem-table-flushed" "rocksdb.mem-table-flush-pending"
183
"rocksdb.num-running-flushes" "rocksdb.compaction-pending"
184
"rocksdb.num-running-compactions" "rocksdb.background-errors"
185
"rocksdb.cur-size-active-mem-table" "rocksdb.cur-size-all-mem-tables"
186
"rocksdb.size-all-mem-tables" "rocksdb.num-entries-active-mem-table"
187
"rocksdb.num-entries-imm-mem-tables" "rocksdb.num-deletes-active-mem-table"
188
"rocksdb.num-deletes-imm-mem-tables" "rocksdb.estimate-num-keys"
189
"rocksdb.estimate-table-readers-mem" "rocksdb.is-file-deletions-enabled"
190
"rocksdb.num-snapshots" "rocksdb.oldest-snapshot-time"
191
"rocksdb.oldest-snapshot-sequence" "rocksdb.num-live-versions"
192
"rocksdb.current-super-version-number" "rocksdb.estimate-live-data-size"
193
"rocksdb.min-log-number-to-keep" "rocksdb.min-obsolete-sst-number-to-keep"
194
"rocksdb.total-sst-files-size" "rocksdb.live-sst-files-size"
195
"rocksdb-obsolete-sst-files-size" "rocksdb.live-sst-files-size-at-temperature"
196
"rocksdb.base-level" "rocksdb.estimate-pending-compaction-bytes"
197
"rocksdb.aggregated-table-properties" "rocksdb.actual-delayed-write-rate"
198
"rocksdb.is-write-stopped" "rocksdb.estimate-oldest-key-time"
199
"rocksdb.block-cache-capacity" "rocksdb.block-cache-pinned-usage"
200
"rocksdb.options-statistics" "rocksdb-num-blob-files"
201
"rocksdb.blob-stats" "rocksdb.total-blob-file-size"
202
"rocksdb.live-blob-file-size" "rocksdb.live-blob-file-garbage-size"
203
"rocksdb.blob-cache-capacity" "rocksdb.blob-cache-usage"
204
"rocksdb.blob-cache-pinned-usage")
205
"Vector of unique property prefixes for use with ROCKSDB-PROPERTY-VALUE.")
207
(defun rocksdb-num-files-at-level (n)
208
(format nil "rocksdb.num-files-at-level~A" n))
210
(defun rocksdb-compression-ratio-at-level (n)
211
(format nil "rocksdb.compression-ratio-at-level~A" n))
213
(defun rocksdb-aggregated-table-properties-at-level (n)
214
(format nil "rocksdb.aggregated-table-properties-at-level~A" n))