// Path: src/main/java/com/yiji/falcon/agent/falcon/CounterType.java
// public enum CounterType {
//     /**
//      * 用户上传什么样的值，就原封不动的存储
//      */
//     GAUGE,
//     /**
//      * 指标在存储和展现的时候，会被计算为speed，即（当前值 - 上次值）/ 时间间隔
//      */
//     COUNTER
// }


import com.yiji.falcon.agent.falcon.CounterType;
import lombok.Data;
import lombok.ToString;
import java.util.List;
/*
 * www.yiji.com Inc.
 * Copyright (c) 2016 All Rights Reserved
 */
package com.yiji.falcon.agent.vo.detect;
/*
 * 修订记录:
 * guqiu@yiji.com 2016-07-22 11:49 创建
 */



/**
 * 一次探测的结果
 * @author guqiu@yiji.com
 */
@Data
public class DetectResult {

    /**
     * 探测结果,Agent将根据此属性进行探测地址的可用性上报
     */
    private boolean success;

    /**
     * 自定义的监控值
     * Agent会将此Map中的key当做metrics名称,{@link com.yiji.falcon.agent.vo.detect.DetectResult.Metric} 对象组建上报值进行上报
     */
    private List<Metric> metricsList;


    /**
     * 自定义的公共的tag信息
     * 形如tag1={tag1},tag2={tag2}
     * 设置后,将会对每个监控值都会打上此tag
     */
    private String commonTag;

    @ToString
    public static class Metric{
        /**
         * 自定义监控名
         */
        public String metricName;
        /**
         * 自定义监控值的value
         */
        public String value;
        /**
         * 自定义监控值的上报类型
         */
        public CounterType counterType;
        /**
         * 自定义监控值的tag
         */
        public String tags;

        /**
         * @param metricName
         * @param value
         * @param counterType
         * @param tags
         */
        public Metric(String metricName,String value, CounterType counterType, String tags) {
            this.metricName = metricName;
            this.value = value;
// Path: src/main/java/com/yiji/falcon/agent/falcon/CounterType.java
// public enum CounterType {
//     /**
//      * 用户上传什么样的值，就原封不动的存储
//      */
//     GAUGE,
//     /**
//      * 指标在存储和展现的时候，会被计算为speed，即（当前值 - 上次值）/ 时间间隔
//      */
//     COUNTER
// }


// Path: src/main/java/com/yiji/falcon/agent/vo/detect/DetectResult.java
import com.yiji.falcon.agent.falcon.CounterType;
import lombok.Data;
import lombok.ToString;
import java.util.List;

/*
 * www.yiji.com Inc.
 * Copyright (c) 2016 All Rights Reserved
 */
package com.yiji.falcon.agent.vo.detect;
/*
 * 修订记录:
 * guqiu@yiji.com 2016-07-22 11:49 创建
 */



/**
 * 一次探测的结果
 * @author guqiu@yiji.com
 */
@Data
public class DetectResult {

    /**
     * 探测结果,Agent将根据此属性进行探测地址的可用性上报
     */
    private boolean success;

    /**
     * 自定义的监控值
     * Agent会将此Map中的key当做metrics名称,{@link com.yiji.falcon.agent.vo.detect.DetectResult.Metric} 对象组建上报值进行上报
     */
    private List<Metric> metricsList;


    /**
     * 自定义的公共的tag信息
     * 形如tag1={tag1},tag2={tag2}
     * 设置后,将会对每个监控值都会打上此tag
     */
    private String commonTag;

    @ToString
    public static class Metric{
        /**
         * 自定义监控名
         */
        public String metricName;
        /**
         * 自定义监控值的value
         */
        public String value;
        /**
         * 自定义监控值的上报类型
         */
        public CounterType counterType;
        /**
         * 自定义监控值的tag
         */
        public String tags;

        /**
         * @param metricName
         * @param value
         * @param counterType
         * @param tags
         */
        public Metric(String metricName,String value, CounterType counterType, String tags) {
            this.metricName = metricName;
            this.value = value;
            this.counterType = counterType;