org.apache.flink.runtime.state.gemini.engine.snapshot.SnapshotCompactionStat 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.snapshot;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Statistics for snapshot compaction..
*/
public class SnapshotCompactionStat {
/**
* Amplification ratio before compaction for last snapshot.
*/
private float amplificationRatioBeforeCompaction;
/**
* Number of compaction that has happened.
*/
private AtomicInteger numberCompaction;
/**
* Size of data to compaction.
*/
private long compactionSize;
/**
* Amplification ratio for last completed snapshot.
* This is the actual amplification ratio.
*/
private float actualAmplificationRatio;
/**
* Duration of last compaction.
*/
private long compactionDuration;
public SnapshotCompactionStat() {
this.amplificationRatioBeforeCompaction = 1.0f;
this.numberCompaction = new AtomicInteger(0);
this.compactionSize = 0L;
this.actualAmplificationRatio = 1.0f;
this.compactionDuration = 0L;
}
public float getAmplificationRatioBeforeCompaction() {
return amplificationRatioBeforeCompaction;
}
public void setAmplificationRatioBeforeCompaction(float amplificationRatioBeforeCompaction) {
this.amplificationRatioBeforeCompaction = amplificationRatioBeforeCompaction;
}
public int addAndGetNumberCompaction(int i) {
return numberCompaction.addAndGet(i);
}
public long getCompactionSize() {
return compactionSize;
}
public void setCompactionSize(long compactionSize) {
this.compactionSize = compactionSize;
}
public float getActualAmplificationRatio() {
return actualAmplificationRatio;
}
public void setActualAmplificationRatio(float actualAmplificationRatio) {
this.actualAmplificationRatio = actualAmplificationRatio;
}
public long getCompactionDuration() {
return compactionDuration;
}
public void setCompactionDuration(long compactionDuration) {
this.compactionDuration = compactionDuration;
}
@Override
public String toString() {
return "SnapshotCompactionStat{" +
"amplificationRatioBeforeCompaction=" + amplificationRatioBeforeCompaction +
", numberCompaction=" + numberCompaction +
", compactionSize=" + compactionSize +
", actualAmplificationRatio=" + actualAmplificationRatio +
", compactionDuration=" + compactionDuration +
"}";
}
}