public static BatchCallback setupOTelMonitoring(@NotNull VFSContentStorageOverMMappedFile storage,
                                                  @NotNull Meter meter) {
    var recordsStoredCounter = meter.counterBuilder("VFS.contentStorage.recordsStored").buildObserver();
    var recordsStoredCompressedCounter = meter.counterBuilder("VFS.contentStorage.recordsStoredCompressed").buildObserver();
    var recordsDeduplicatedCounter = meter.counterBuilder("VFS.contentStorage.recordsDeduplicated").buildObserver();

    var recordsUncompressedSizeCounter = meter.counterBuilder("VFS.contentStorage.recordsUncompressedSize").buildObserver();
    var recordsStoredSizeCounter = meter.counterBuilder("VFS.contentStorage.recordsStoredSize").buildObserver();

    var recordsReadCounter = meter.counterBuilder("VFS.contentStorage.recordsRead").buildObserver();
    var recordsReadSizeCounter = meter.counterBuilder("VFS.contentStorage.recordsReadSize").buildObserver();

    var recordsReadDecompressedCounter = meter.counterBuilder("VFS.contentStorage.recordsReadDecompressed").buildObserver();
    var recordsDecompressionTimeUsCounter = meter.counterBuilder("VFS.contentStorage.recordsDecompressionTimeUs").buildObserver();

    return meter.batchCallback(
      () -> {
        recordsStoredCounter.record(storage.recordsStored.get());
        recordsStoredCompressedCounter.record(storage.recordsStoredCompressed.get());
        recordsDeduplicatedCounter.record(storage.recordsDeduplicated.get());

        recordsUncompressedSizeCounter.record(storage.recordsUncompressedSize.get());
        recordsStoredSizeCounter.record(storage.recordsStoredSize.get());

        recordsReadCounter.record(storage.recordsRead.get());
        recordsReadSizeCounter.record(storage.recordsReadUncompressedSize.get());

        recordsReadDecompressedCounter.record(storage.recordsReadDecompressed.get());
        recordsDecompressionTimeUsCounter.record(TimeUnit.NANOSECONDS.toMicros(storage.recordsReadDecompressionTimeNs.get()));
      },
      recordsStoredCounter, recordsStoredCompressedCounter, recordsDeduplicatedCounter,
      recordsUncompressedSizeCounter, recordsStoredSizeCounter,
      recordsReadCounter, recordsReadSizeCounter,
      recordsReadDecompressedCounter, recordsDecompressionTimeUsCounter
    );
  }
public static BatchCallback setupOTelMonitoring(@NotNull VFSContentStorageOverMMappedFile storage,
                                                  @NotNull Meter meter)