BatchCallback (@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 ); }