sofa-dashboard
sofa-dashboard copied to clipboard
Integration SOFALookout Server
@glmapper 我认领下~
How's it going? @SteNicholas
@glmapper Metric data model:
public class Metric {
private String name;
private double value;
private long timestamp;
// info非null时表示这是一个INFO指标
private String info;
private Map<String, String> tags = new HashMap<>();
private String debugId;
}
public class RawMetric {
/**
* 当对 RawMetric 进行较大修改的时候, 可能导致读出来的数据不兼容. 此时我们只能舍弃旧数据, 这个版本号可以用于判断是否是新删数据
*/
private int version;
/**
* 数据到达gateway的时间戳!!! prometheus会用这个时间戳作为数据的时间戳, 对于其他类型的数据这个字段可能作用不大
*/
private long timestamp;
/**
* 本次上报的元信息
*/
private RawMetricHead head = new RawMetricHead();
private Map<String, String> extraTags = new HashMap<>();
/**
* 来源类型
*/
private SourceType sourceType;
/**
* 原始请求体
*/
private byte[] rawBody;
/**
* 是否是推模式
*/
private boolean pushMode;
}
public class RawMetricHead {
/**
* body是否被snappy压缩, standard会用到这个字段
*/
private boolean snappy;
/**
* 上报的token, 非标准importer将会进行鉴权
*/
private String token;
/**
* 上报该数据的客户端ip
*/
private String clientIp;
/**
* debug用的trace-id
*/
private String debugId;
/**
* 标准importer上报时的app字段
*/
private String standardAppName;
/**
* 标准importer上报时的优先级字段
*/
private String standardPriority;
}