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).
6 // This file implements the "bridge" between Java and C++ for
7 // ROCKSDB_NAMESPACE::CompactionJobStats.
11 #include "include/org_rocksdb_CompactionJobStats.h"
12 #include "rocksdb/compaction_job_stats.h"
13 #include "rocksjni/portal.h"
16 * Class: org_rocksdb_CompactionJobStats
17 * Method: newCompactionJobStats
20 jlong
Java_org_rocksdb_CompactionJobStats_newCompactionJobStats(
22 auto* compact_job_stats
= new ROCKSDB_NAMESPACE::CompactionJobStats();
23 return reinterpret_cast<jlong
>(compact_job_stats
);
27 * Class: org_rocksdb_CompactionJobStats
28 * Method: disposeInternal
31 void Java_org_rocksdb_CompactionJobStats_disposeInternal(
32 JNIEnv
*, jobject
, jlong jhandle
) {
33 auto* compact_job_stats
=
34 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
35 delete compact_job_stats
;
39 * Class: org_rocksdb_CompactionJobStats
43 void Java_org_rocksdb_CompactionJobStats_reset(
44 JNIEnv
*, jclass
, jlong jhandle
) {
45 auto* compact_job_stats
=
46 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
47 compact_job_stats
->Reset();
51 * Class: org_rocksdb_CompactionJobStats
55 void Java_org_rocksdb_CompactionJobStats_add(
56 JNIEnv
*, jclass
, jlong jhandle
, jlong jother_handle
) {
57 auto* compact_job_stats
=
58 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
59 auto* other_compact_job_stats
=
60 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jother_handle
);
61 compact_job_stats
->Add(*other_compact_job_stats
);
65 * Class: org_rocksdb_CompactionJobStats
66 * Method: elapsedMicros
69 jlong
Java_org_rocksdb_CompactionJobStats_elapsedMicros(
70 JNIEnv
*, jclass
, jlong jhandle
) {
71 auto* compact_job_stats
=
72 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
73 return static_cast<jlong
>(compact_job_stats
->elapsed_micros
);
77 * Class: org_rocksdb_CompactionJobStats
78 * Method: numInputRecords
81 jlong
Java_org_rocksdb_CompactionJobStats_numInputRecords(
82 JNIEnv
*, jclass
, jlong jhandle
) {
83 auto* compact_job_stats
=
84 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
85 return static_cast<jlong
>(compact_job_stats
->num_input_records
);
89 * Class: org_rocksdb_CompactionJobStats
90 * Method: numInputFiles
93 jlong
Java_org_rocksdb_CompactionJobStats_numInputFiles(
94 JNIEnv
*, jclass
, jlong jhandle
) {
95 auto* compact_job_stats
=
96 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
97 return static_cast<jlong
>(compact_job_stats
->num_input_files
);
101 * Class: org_rocksdb_CompactionJobStats
102 * Method: numInputFilesAtOutputLevel
105 jlong
Java_org_rocksdb_CompactionJobStats_numInputFilesAtOutputLevel(
106 JNIEnv
*, jclass
, jlong jhandle
) {
107 auto* compact_job_stats
=
108 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
109 return static_cast<jlong
>(
110 compact_job_stats
->num_input_files_at_output_level
);
114 * Class: org_rocksdb_CompactionJobStats
115 * Method: numOutputRecords
118 jlong
Java_org_rocksdb_CompactionJobStats_numOutputRecords(
119 JNIEnv
*, jclass
, jlong jhandle
) {
120 auto* compact_job_stats
=
121 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
122 return static_cast<jlong
>(
123 compact_job_stats
->num_output_records
);
127 * Class: org_rocksdb_CompactionJobStats
128 * Method: numOutputFiles
131 jlong
Java_org_rocksdb_CompactionJobStats_numOutputFiles(
132 JNIEnv
*, jclass
, jlong jhandle
) {
133 auto* compact_job_stats
=
134 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
135 return static_cast<jlong
>(
136 compact_job_stats
->num_output_files
);
140 * Class: org_rocksdb_CompactionJobStats
141 * Method: isManualCompaction
144 jboolean
Java_org_rocksdb_CompactionJobStats_isManualCompaction(
145 JNIEnv
*, jclass
, jlong jhandle
) {
146 auto* compact_job_stats
=
147 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
148 if (compact_job_stats
->is_manual_compaction
) {
156 * Class: org_rocksdb_CompactionJobStats
157 * Method: totalInputBytes
160 jlong
Java_org_rocksdb_CompactionJobStats_totalInputBytes(
161 JNIEnv
*, jclass
, jlong jhandle
) {
162 auto* compact_job_stats
=
163 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
164 return static_cast<jlong
>(
165 compact_job_stats
->total_input_bytes
);
169 * Class: org_rocksdb_CompactionJobStats
170 * Method: totalOutputBytes
173 jlong
Java_org_rocksdb_CompactionJobStats_totalOutputBytes(
174 JNIEnv
*, jclass
, jlong jhandle
) {
175 auto* compact_job_stats
=
176 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
177 return static_cast<jlong
>(
178 compact_job_stats
->total_output_bytes
);
182 * Class: org_rocksdb_CompactionJobStats
183 * Method: numRecordsReplaced
186 jlong
Java_org_rocksdb_CompactionJobStats_numRecordsReplaced(
187 JNIEnv
*, jclass
, jlong jhandle
) {
188 auto* compact_job_stats
=
189 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
190 return static_cast<jlong
>(
191 compact_job_stats
->num_records_replaced
);
195 * Class: org_rocksdb_CompactionJobStats
196 * Method: totalInputRawKeyBytes
199 jlong
Java_org_rocksdb_CompactionJobStats_totalInputRawKeyBytes(
200 JNIEnv
*, jclass
, jlong jhandle
) {
201 auto* compact_job_stats
=
202 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
203 return static_cast<jlong
>(
204 compact_job_stats
->total_input_raw_key_bytes
);
208 * Class: org_rocksdb_CompactionJobStats
209 * Method: totalInputRawValueBytes
212 jlong
Java_org_rocksdb_CompactionJobStats_totalInputRawValueBytes(
213 JNIEnv
*, jclass
, jlong jhandle
) {
214 auto* compact_job_stats
=
215 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
216 return static_cast<jlong
>(
217 compact_job_stats
->total_input_raw_value_bytes
);
221 * Class: org_rocksdb_CompactionJobStats
222 * Method: numInputDeletionRecords
225 jlong
Java_org_rocksdb_CompactionJobStats_numInputDeletionRecords(
226 JNIEnv
*, jclass
, jlong jhandle
) {
227 auto* compact_job_stats
=
228 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
229 return static_cast<jlong
>(
230 compact_job_stats
->num_input_deletion_records
);
234 * Class: org_rocksdb_CompactionJobStats
235 * Method: numExpiredDeletionRecords
238 jlong
Java_org_rocksdb_CompactionJobStats_numExpiredDeletionRecords(
239 JNIEnv
*, jclass
, jlong jhandle
) {
240 auto* compact_job_stats
=
241 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
242 return static_cast<jlong
>(
243 compact_job_stats
->num_expired_deletion_records
);
247 * Class: org_rocksdb_CompactionJobStats
248 * Method: numCorruptKeys
251 jlong
Java_org_rocksdb_CompactionJobStats_numCorruptKeys(
252 JNIEnv
*, jclass
, jlong jhandle
) {
253 auto* compact_job_stats
=
254 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
255 return static_cast<jlong
>(
256 compact_job_stats
->num_corrupt_keys
);
260 * Class: org_rocksdb_CompactionJobStats
261 * Method: fileWriteNanos
264 jlong
Java_org_rocksdb_CompactionJobStats_fileWriteNanos(
265 JNIEnv
*, jclass
, jlong jhandle
) {
266 auto* compact_job_stats
=
267 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
268 return static_cast<jlong
>(
269 compact_job_stats
->file_write_nanos
);
273 * Class: org_rocksdb_CompactionJobStats
274 * Method: fileRangeSyncNanos
277 jlong
Java_org_rocksdb_CompactionJobStats_fileRangeSyncNanos(
278 JNIEnv
*, jclass
, jlong jhandle
) {
279 auto* compact_job_stats
=
280 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
281 return static_cast<jlong
>(
282 compact_job_stats
->file_range_sync_nanos
);
286 * Class: org_rocksdb_CompactionJobStats
287 * Method: fileFsyncNanos
290 jlong
Java_org_rocksdb_CompactionJobStats_fileFsyncNanos(
291 JNIEnv
*, jclass
, jlong jhandle
) {
292 auto* compact_job_stats
=
293 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
294 return static_cast<jlong
>(
295 compact_job_stats
->file_fsync_nanos
);
299 * Class: org_rocksdb_CompactionJobStats
300 * Method: filePrepareWriteNanos
303 jlong
Java_org_rocksdb_CompactionJobStats_filePrepareWriteNanos(
304 JNIEnv
*, jclass
, jlong jhandle
) {
305 auto* compact_job_stats
=
306 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
307 return static_cast<jlong
>(
308 compact_job_stats
->file_prepare_write_nanos
);
312 * Class: org_rocksdb_CompactionJobStats
313 * Method: smallestOutputKeyPrefix
316 jbyteArray
Java_org_rocksdb_CompactionJobStats_smallestOutputKeyPrefix(
317 JNIEnv
* env
, jclass
, jlong jhandle
) {
318 auto* compact_job_stats
=
319 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
320 return ROCKSDB_NAMESPACE::JniUtil::copyBytes(
321 env
, compact_job_stats
->smallest_output_key_prefix
);
325 * Class: org_rocksdb_CompactionJobStats
326 * Method: largestOutputKeyPrefix
329 jbyteArray
Java_org_rocksdb_CompactionJobStats_largestOutputKeyPrefix(
330 JNIEnv
* env
, jclass
, jlong jhandle
) {
331 auto* compact_job_stats
=
332 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
333 return ROCKSDB_NAMESPACE::JniUtil::copyBytes(
334 env
, compact_job_stats
->largest_output_key_prefix
);
338 * Class: org_rocksdb_CompactionJobStats
339 * Method: numSingleDelFallthru
342 jlong
Java_org_rocksdb_CompactionJobStats_numSingleDelFallthru(
343 JNIEnv
*, jclass
, jlong jhandle
) {
344 auto* compact_job_stats
=
345 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
346 return static_cast<jlong
>(
347 compact_job_stats
->num_single_del_fallthru
);
351 * Class: org_rocksdb_CompactionJobStats
352 * Method: numSingleDelMismatch
355 jlong
Java_org_rocksdb_CompactionJobStats_numSingleDelMismatch(
356 JNIEnv
*, jclass
, jlong jhandle
) {
357 auto* compact_job_stats
=
358 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats
*>(jhandle
);
359 return static_cast<jlong
>(
360 compact_job_stats
->num_single_del_mismatch
);