com.github.ltsopensource.jobclient.support.JobClientMStatReporter Maven / Gradle / Ivy
package com.github.ltsopensource.jobclient.support;
import com.github.ltsopensource.core.AppContext;
import com.github.ltsopensource.core.cluster.NodeType;
import com.github.ltsopensource.core.domain.monitor.JobClientMData;
import com.github.ltsopensource.core.domain.monitor.MData;
import com.github.ltsopensource.core.monitor.AbstractMStatReporter;
import java.util.concurrent.atomic.AtomicLong;
/**
* @author Robert HG ([email protected]) on 3/12/16.
*/
public class JobClientMStatReporter extends AbstractMStatReporter {
public JobClientMStatReporter(AppContext appContext) {
super(appContext);
}
// 提交成功的个数
private AtomicLong submitSuccessNum = new AtomicLong(0);
// 提交失败的个数
private AtomicLong submitFailedNum = new AtomicLong(0);
// 存储FailStore的个数s
private AtomicLong failStoreNum = new AtomicLong(0);
// 提交FailStore的个数
private AtomicLong submitFailStoreNum = new AtomicLong(0);
// 处理的反馈的个数
private AtomicLong handleFeedbackNum = new AtomicLong(0);
public void incSubmitSuccessNum(int num) {
submitSuccessNum.addAndGet(num);
}
public void incSubmitFailedNum(int num) {
submitFailedNum.addAndGet(num);
}
public void incFailStoreNum() {
failStoreNum.incrementAndGet();
}
public void incSubmitFailStoreNum(int num) {
submitFailStoreNum.addAndGet(num);
}
public void incHandleFeedbackNum(int num) {
handleFeedbackNum.addAndGet(num);
}
@Override
protected MData collectMData() {
JobClientMData mData = new JobClientMData();
mData.setSubmitSuccessNum(submitSuccessNum.getAndSet(0));
mData.setSubmitFailedNum(submitFailedNum.getAndSet(0));
mData.setFailStoreNum(failStoreNum.getAndSet(0));
mData.setSubmitFailStoreNum(submitFailStoreNum.getAndSet(0));
mData.setHandleFeedbackNum(handleFeedbackNum.getAndSet(0));
return mData;
}
@Override
protected NodeType getNodeType() {
return NodeType.JOB_CLIENT;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy