/*
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
*
|
* Licensed 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 com.alibaba.csp.sentinel.dashboard.datasource.entity;
|
|
import java.util.Date;
|
|
/**
|
* @author leyou
|
*/
|
public class MetricEntity {
|
private Long id;
|
private Date gmtCreate;
|
private Date gmtModified;
|
private String app;
|
/**
|
* 监控信息的时间戳
|
*/
|
private Date timestamp;
|
private String resource;
|
private Long passQps;
|
private Long successQps;
|
private Long blockQps;
|
private Long exceptionQps;
|
|
/**
|
* summary rt of all success exit qps.
|
*/
|
private double rt;
|
|
/**
|
* 本次聚合的总条数
|
*/
|
private int count;
|
|
private int resourceCode;
|
|
public static MetricEntity copyOf(MetricEntity oldEntity) {
|
MetricEntity entity = new MetricEntity();
|
entity.setId(oldEntity.getId());
|
entity.setGmtCreate(oldEntity.getGmtCreate());
|
entity.setGmtModified(oldEntity.getGmtModified());
|
entity.setApp(oldEntity.getApp());
|
entity.setTimestamp(oldEntity.getTimestamp());
|
entity.setResource(oldEntity.getResource());
|
entity.setPassQps(oldEntity.getPassQps());
|
entity.setBlockQps(oldEntity.getBlockQps());
|
entity.setSuccessQps(oldEntity.getSuccessQps());
|
entity.setExceptionQps(oldEntity.getExceptionQps());
|
entity.setRt(oldEntity.getRt());
|
entity.setCount(oldEntity.getCount());
|
return entity;
|
}
|
|
public synchronized void addPassQps(Long passQps) {
|
this.passQps += passQps;
|
}
|
|
public synchronized void addBlockQps(Long blockQps) {
|
this.blockQps += blockQps;
|
}
|
|
public synchronized void addExceptionQps(Long exceptionQps) {
|
this.exceptionQps += exceptionQps;
|
}
|
|
public synchronized void addCount(int count) {
|
this.count += count;
|
}
|
|
public synchronized void addRtAndSuccessQps(double avgRt, Long successQps) {
|
this.rt += avgRt * successQps;
|
this.successQps += successQps;
|
}
|
|
/**
|
* {@link #rt} = {@code avgRt * successQps}
|
*
|
* @param avgRt average rt of {@code successQps}
|
* @param successQps
|
*/
|
public synchronized void setRtAndSuccessQps(double avgRt, Long successQps) {
|
this.rt = avgRt * successQps;
|
this.successQps = successQps;
|
}
|
|
public Long getId() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public Date getGmtCreate() {
|
return gmtCreate;
|
}
|
|
public void setGmtCreate(Date gmtCreate) {
|
this.gmtCreate = gmtCreate;
|
}
|
|
public Date getGmtModified() {
|
return gmtModified;
|
}
|
|
public void setGmtModified(Date gmtModified) {
|
this.gmtModified = gmtModified;
|
}
|
|
public String getApp() {
|
return app;
|
}
|
|
public void setApp(String app) {
|
this.app = app;
|
}
|
|
public Date getTimestamp() {
|
return timestamp;
|
}
|
|
public void setTimestamp(Date timestamp) {
|
this.timestamp = timestamp;
|
}
|
|
public String getResource() {
|
return resource;
|
}
|
|
public void setResource(String resource) {
|
this.resource = resource;
|
this.resourceCode = resource.hashCode();
|
}
|
|
public Long getPassQps() {
|
return passQps;
|
}
|
|
public void setPassQps(Long passQps) {
|
this.passQps = passQps;
|
}
|
|
public Long getBlockQps() {
|
return blockQps;
|
}
|
|
public void setBlockQps(Long blockQps) {
|
this.blockQps = blockQps;
|
}
|
|
public Long getExceptionQps() {
|
return exceptionQps;
|
}
|
|
public void setExceptionQps(Long exceptionQps) {
|
this.exceptionQps = exceptionQps;
|
}
|
|
public double getRt() {
|
return rt;
|
}
|
|
public void setRt(double rt) {
|
this.rt = rt;
|
}
|
|
public int getCount() {
|
return count;
|
}
|
|
public void setCount(int count) {
|
this.count = count;
|
}
|
|
public int getResourceCode() {
|
return resourceCode;
|
}
|
|
public Long getSuccessQps() {
|
return successQps;
|
}
|
|
public void setSuccessQps(Long successQps) {
|
this.successQps = successQps;
|
}
|
|
@Override
|
public String toString() {
|
return "MetricEntity{" +
|
"id=" + id +
|
", gmtCreate=" + gmtCreate +
|
", gmtModified=" + gmtModified +
|
", app='" + app + '\'' +
|
", timestamp=" + timestamp +
|
", resource='" + resource + '\'' +
|
", passQps=" + passQps +
|
", blockQps=" + blockQps +
|
", successQps=" + successQps +
|
", exceptionQps=" + exceptionQps +
|
", rt=" + rt +
|
", count=" + count +
|
", resourceCode=" + resourceCode +
|
'}';
|
}
|
|
}
|