org.apache.flink.runtime.state.gemini.engine.metrics.StateMetrics 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.metrics;
import org.apache.flink.metrics.MetricGroup;
/**
* GeminiMetrics for state.
*/
public class StateMetrics extends MetricsBase {
static final String METRIC_GEMINI_KV_GET = "gemini_kv_get";
static final String METRIC_GEMINI_KV_PUT = "gemini_kv_put";
static final String METRIC_GEMINI_KV_REMOVE = "gemini_kv_remove";
static final String METRIC_GEMINI_KV_MULTIGET = "gemini_kv_multiget";
static final String METRIC_GEMINI_KV_MULTIPUT = "gemini_kv_multiput";
static final String METRIC_GEMINI_KV_MULTIREMOVE = "gemini_kv_multiremove";
static final String METRIC_GEMINI_KMAP_GET = "gemini_kmap_get";
static final String METRIC_GEMINI_KMAP_GET_MK = "gemini_kmap_get_mk";
static final String METRIC_GEMINI_KMAP_PUT = "gemini_kmap_put";
static final String METRIC_GEMINI_KMAP_REMOVE = "gemini_kmap_remove";
static final String METRIC_GEMINI_KMAP_MULTIGET = "gemini_kmap_multiget";
static final String METRIC_GEMINI_KMAP_MULTIPUT = "gemini_kmap_multiput";
static final String METRIC_GEMINI_KMAP_MULTIREMOVE = "gemini_kmap_multiremove";
static final String METRIC_GEMINI_KMAP_ITERATOR = "gemini_kmap_iterator";
static final String METRIC_GEMINI_KMAP_GET_MAP_SIZE = "gemini_kmap_get_map_size";
static final String METRIC_GEMINI_KLIST_GET = "gemini_klist_get";
static final String METRIC_GEMINI_KLIST_PUT = "gemini_klist_put";
static final String METRIC_GEMINI_KLIST_REMOVE = "gemini_klist_remove";
static final String METRIC_GEMINI_KLIST_MULTIGET = "gemini_klist_multiget";
static final String METRIC_GEMINI_KLIST_MULTIPUT = "gemini_klist_multiput";
static final String METRIC_GEMINI_KLIST_MULTIREMOVE = "gemini_klist_multiremove";
static final String METRIC_GEMINI_KLIST_GET_LIST_SIZE = "gemini_klist_get_list_size";
private int kvGetCounter = 0;
private int kvPutCounter = 0;
private int kvRemoveCounter = 0;
private int kvMultiGetCounter = 0;
private int kvMultiPutCounter = 0;
private int kvMultiRemoveCounter = 0;
private int kMapGetCounter = 0;
private int kMapGetMkCounter = 0;
private int kMapPutCounter = 0;
private int kMapRemoveCounter = 0;
private int kMapMultiGetCounter = 0;
private int kMapMultiPutCounter = 0;
private int kMapMultiRemoveCounter = 0;
private int kMapIteratorCounter = 0;
private int kListGetCounter = 0;
private int kListPutCounter = 0;
private int kListRemoveCounter = 0;
private int kListMultiGetCounter = 0;
private int kListMultiPutCounter = 0;
private int kListMultiRemoveCounter = 0;
public StateMetrics(MetricGroup metricGroup, int sampleCountInterval) {
this(metricGroup, sampleCountInterval, DEFAULT_HISTOGRAM_WINDOW_SIZE);
}
public StateMetrics(MetricGroup metricGroup, int sampleCountInterval, int histogramWindowSize) {
super(metricGroup, sampleCountInterval, histogramWindowSize);
}
private int updateMetricsSampledCounter(int i) {
return (metricsSampleEnabled && (i + 1 < sampleCountInterval) ? i + 1 : 0);
}
public void updateKVGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_GET).update(count);
}
public void updateKVPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_PUT).update(count);
}
public void updateKVRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_REMOVE).update(count);
}
public void updateKVMultiGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_MULTIGET).update(count);
}
public void updateKVMultiPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_MULTIPUT).update(count);
}
public void updateKVMultiRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KV_MULTIREMOVE).update(count);
}
public void updateKMapGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_GET).update(count);
}
public void updateKMapGetMkHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_GET_MK).update(count);
}
public void updateKMapPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_PUT).update(count);
}
public void updateKMapRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_REMOVE).update(count);
}
public void updateKMapMultiGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_MULTIGET).update(count);
}
public void updateKMapMultiPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_MULTIPUT).update(count);
}
public void updateKMapMultiRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_MULTIREMOVE).update(count);
}
public void updateKMapIteratorHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_ITERATOR).update(count);
}
public void updateKMapGetMapSizeHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KMAP_GET_MAP_SIZE).update(count);
}
public void updateKListGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_GET).update(count);
}
public void updateKListPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_PUT).update(count);
}
public void updateKListRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_REMOVE).update(count);
}
public void updateKListMultiGetHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_MULTIGET).update(count);
}
public void updateKListMultiPutHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_MULTIPUT).update(count);
}
public void updateKListMultiRemoveHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_MULTIREMOVE).update(count);
}
public void updateKListGetListSizeHistogram(long count) {
getHistogramMetric(METRIC_GEMINI_KLIST_GET_LIST_SIZE).update(count);
}
public boolean checkAndUpdateKvGetCounter() {
boolean result = kvGetCounter == 0;
kvGetCounter = updateMetricsSampledCounter(kvGetCounter);
return result;
}
public boolean checkAndUpdateKvPutCounter() {
boolean result = kvPutCounter == 0;
kvPutCounter = updateMetricsSampledCounter(kvPutCounter);
return result;
}
public boolean checkAndUpdateKvRemoveCounter() {
boolean result = kvRemoveCounter == 0;
kvRemoveCounter = updateMetricsSampledCounter(kvRemoveCounter);
return result;
}
public boolean checkAndUpdateKvMultiGetCounter() {
boolean result = kvMultiGetCounter == 0;
kvMultiGetCounter = updateMetricsSampledCounter(kvMultiGetCounter);
return result;
}
public boolean checkAndUpdateKvMultiPutCounter() {
boolean result = kvMultiPutCounter == 0;
kvMultiPutCounter = updateMetricsSampledCounter(kvMultiPutCounter);
return result;
}
public boolean checkAndUpdateKvMultiRemoveCounter() {
boolean result = kvMultiRemoveCounter == 0;
kvMultiRemoveCounter = updateMetricsSampledCounter(kvMultiRemoveCounter);
return result;
}
public boolean checkAndUpdateKMapGetCounter() {
boolean result = kMapGetCounter == 0;
kMapGetCounter = updateMetricsSampledCounter(kMapGetCounter);
return result;
}
public boolean checkAndUpdateKMapGetMkCounter() {
boolean result = kMapGetMkCounter == 0;
kMapGetMkCounter = updateMetricsSampledCounter(kMapGetMkCounter);
return result;
}
public boolean checkAndUpdateKMapPutCounter() {
boolean result = kMapPutCounter == 0;
kMapPutCounter = updateMetricsSampledCounter(kMapPutCounter);
return result;
}
public boolean checkAndUpdateKMapRemoveCounter() {
boolean result = kMapRemoveCounter == 0;
kMapRemoveCounter = updateMetricsSampledCounter(kMapRemoveCounter);
return result;
}
public boolean checkAndUpdateKMapMultiGetCounter() {
boolean result = kMapMultiGetCounter == 0;
kMapMultiGetCounter = updateMetricsSampledCounter(kMapMultiGetCounter);
return result;
}
public boolean checkAndUpdateKMapMultiPutCounter() {
boolean result = kMapMultiPutCounter == 0;
kMapMultiPutCounter = updateMetricsSampledCounter(kMapMultiPutCounter);
return result;
}
public boolean checkAndUpdateKMapMultiRemoveCounter() {
boolean result = kMapMultiRemoveCounter == 0;
kMapMultiRemoveCounter = updateMetricsSampledCounter(kMapMultiRemoveCounter);
return result;
}
public boolean checkAndUpdateKMapIteratorCounter() {
boolean result = kMapIteratorCounter == 0;
kMapIteratorCounter = updateMetricsSampledCounter(kMapIteratorCounter);
return result;
}
public boolean checkAndUpdateKListGetCounter() {
boolean result = kListGetCounter == 0;
kListGetCounter = updateMetricsSampledCounter(kListGetCounter);
return result;
}
public boolean checkAndUpdateKListPutCounter() {
boolean result = kListPutCounter == 0;
kListPutCounter = updateMetricsSampledCounter(kListPutCounter);
return result;
}
public boolean checkAndUpdateKListRemoveCounter() {
boolean result = kListRemoveCounter == 0;
kListRemoveCounter = updateMetricsSampledCounter(kListRemoveCounter);
return result;
}
public boolean checkAndUpdateKListMultiGetCounter() {
boolean result = kListMultiGetCounter == 0;
kListMultiGetCounter = updateMetricsSampledCounter(kListMultiGetCounter);
return result;
}
public boolean checkAndUpdateKListMultiPutCounter() {
boolean result = kListMultiPutCounter == 0;
kListMultiPutCounter = updateMetricsSampledCounter(kListMultiPutCounter);
return result;
}
public boolean checkAndUpdateKListMultiRemoveCounter() {
boolean result = kListMultiRemoveCounter == 0;
kListMultiRemoveCounter = updateMetricsSampledCounter(kListMultiRemoveCounter);
return result;
}
}