org.apache.flink.runtime.state.gemini.engine.filecompaction.FileCompactionStat Maven / Gradle / Ivy
/*
*
* * Licensed to the Apache Software Foundation (ASF) under one
* * or more contributor license agreements. See the NOTICE file
* * distributed with this work for additional information
* * regarding copyright ownership. The ASF licenses this file
* * to you under the Apache License, Version 2.0 (the
* * "License"); you may not use this file except in compliance
* * with the License. You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
*
*/
package org.apache.flink.runtime.state.gemini.engine.filecompaction;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Statistics for file compaction.
*/
public class FileCompactionStat {
/**
* Amplification ratio.
*/
private float amplificationRatio;
/**
* Number of compaction that has happened.
*/
private AtomicInteger numberCompaction;
/**
* Size of data to transfer in the latest compaction.
*/
private long transferSize;
/**
* Duration of the last compaction.
*/
private long compactionDuration;
public FileCompactionStat() {
this.amplificationRatio = 1.0f;
this.numberCompaction = new AtomicInteger(0);
this.transferSize = 0L;
this.compactionDuration = 0L;
}
public float getAmplificationRatio() {
return amplificationRatio;
}
public void setAmplificationRatio(float amplificationRatio) {
this.amplificationRatio = amplificationRatio;
}
public int addAndGetNumberCompaction(int numberCompaction) {
return this.numberCompaction.addAndGet(numberCompaction);
}
public float getTransferSize() {
return transferSize;
}
public void setTransferSize(long transferSize) {
this.transferSize = transferSize;
}
public long getCompactionDuration() {
return compactionDuration;
}
public void setCompactionDuration(long compactionDuration) {
this.compactionDuration = compactionDuration;
}
@Override
public String toString() {
return "FileCompactionStat{" +
"amplificationRatio=" + amplificationRatio +
", numberCompaction=" + numberCompaction +
", transferSize=" + transferSize +
", compactionDuration=" + compactionDuration +
"}";
}
}