sofa-dashboard icon indicating copy to clipboard operation
sofa-dashboard copied to clipboard

Integration SOFALookout Server

Open glmapper opened this issue 5 years ago • 3 comments

glmapper avatar Jun 09 '19 14:06 glmapper

@glmapper 我认领下~

SteNicholas avatar Jun 10 '19 02:06 SteNicholas

How's it going? @SteNicholas

chpengzh avatar Jul 14 '19 08:07 chpengzh

@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;
}

SteNicholas avatar Jul 17 '19 07:07 SteNicholas