diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java new file mode 100644 index 00000000..9d77a37e --- /dev/null +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java @@ -0,0 +1,31 @@ +package cn.hippo4j.common.monitor; + +import lombok.Data; + +import java.util.List; + +/** + * Base message. + * + * @author chen.ma + * @date 2021/12/7 20:31 + */ +@Data +public abstract class AbstractMessage implements Message { + + /** + * groupKey: tenant + item + tpId + identify + */ + private String groupKey; + + /** + * messageTypeEnum + */ + private MessageTypeEnum messageTypeEnum; + + /** + * message + */ + private List messages; + +} diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/Message.java b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/Message.java new file mode 100644 index 00000000..02243c8c --- /dev/null +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/Message.java @@ -0,0 +1,18 @@ +package cn.hippo4j.common.monitor; + +/** + * Abstract message monitoring interface. + * + * @author chen.ma + * @date 2021/12/6 20:16 + */ +public interface Message { + + /** + * Get groupKey. + * + * @return + */ + String getGroupKey(); + +} diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java new file mode 100644 index 00000000..e62cca0a --- /dev/null +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java @@ -0,0 +1,16 @@ +package cn.hippo4j.common.monitor; + +/** + * Message type enum. + * + * @author chen.ma + * @date 2021/12/7 19:34 + */ +public enum MessageTypeEnum { + + /** + * 运行时 + */ + RUNTIME + +} diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java new file mode 100644 index 00000000..ab2efe9f --- /dev/null +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java @@ -0,0 +1,54 @@ +package cn.hippo4j.common.monitor; + +import lombok.Data; + +/** + * Dynamic thread pool runtime data. + * + * @author chen.ma + * @date 2021/12/6 18:18 + */ +@Data +public class RuntimeMessage extends AbstractMessage { + + /** + * currentLoad + */ + private String currentLoad; + + /** + * peakLoad + */ + private String peakLoad; + + /** + * poolSize + */ + private Integer poolSize; + + /** + * The maximum number of threads that enter the thread pool at the same time + */ + private Integer largestPoolSize; + + /** + * queueCapacity + */ + private Integer queueCapacity; + + /** + * queueSize + */ + private Integer queueSize; + + /** + * completedTaskCount + */ + private Long completedTaskCount; + + /** + * rejectCount + */ + private Integer rejectCount; + +}