public static @NotNull BatchCallback setupReportingToOpenTelemetry(@NotNull Path fileName,
                                                                     @NotNull StreamlinedBlobStorageHelper storage) {
    Meter meter = TelemetryManager.getInstance().getMeter(Storage);

    var recordsAllocated = meter.counterBuilder("StreamlinedBlobStorage.recordsAllocated").buildObserver();
    var recordsRelocated = meter.counterBuilder("StreamlinedBlobStorage.recordsRelocated").buildObserver();
    var recordsDeleted = meter.counterBuilder("StreamlinedBlobStorage.recordsDeleted").buildObserver();
    var totalLiveRecordsPayloadBytes = meter.upDownCounterBuilder("StreamlinedBlobStorage.totalLiveRecordsPayloadBytes").buildObserver();
    var totalLiveRecordsCapacityBytes = meter.upDownCounterBuilder("StreamlinedBlobStorage.totalLiveRecordsCapacityBytes").buildObserver();
    Attributes attributes = Attributes.builder()
      .put("file", fileName.toString())
      .build();
    return meter.batchCallback(
      () -> {
        recordsAllocated.record(storage.recordsAllocated(), attributes);
        recordsRelocated.record(storage.recordsRelocated(), attributes);
        recordsDeleted.record(storage.recordsDeleted(), attributes);
        totalLiveRecordsPayloadBytes.record(storage.totalLiveRecordsPayloadBytes(), attributes);
        totalLiveRecordsCapacityBytes.record(storage.totalLiveRecordsCapacityBytes(), attributes);
      },
      recordsAllocated, recordsRelocated, recordsDeleted,
      totalLiveRecordsPayloadBytes, totalLiveRecordsCapacityBytes
    );
  }
public static @NotNull BatchCallback setupReportingToOpenTelemetry(@NotNull Path fileName,
                                                                     @NotNull StreamlinedBlobStorageHelper storage)