Class APMEvent
java.lang.Object
java.util.EventObject
org.springframework.context.ApplicationEvent
tech.riemann.nif.apm.event.APMEvent
- All Implemented Interfaces:
Serializable
public class APMEvent
extends org.springframework.context.ApplicationEvent
APM事件类
继承自Spring的ApplicationEvent,用于在APM监控中传递事件信息
主要功能: 1. 封装APM日志信息 2. 携带被监控方法的Class和Method信息 3. 携带User-Agent头信息 4. 携带TraceId用于链路追踪
使用场景: - APMInterceptor拦截方法后发布此事件 - 各种APMEventListener监听此事件并处理 - 可以自定义监听器实现不同的处理逻辑(如写日志、发送告警等)
- Author:
- Kerbores(kerbores@riemann.tech)
- See Also:
-
Field Summary
Fields inherited from class EventObject
source -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.springframework.context.ApplicationEvent
getTimestampMethods inherited from class EventObject
getSource, toString
-
Constructor Details
-
APMEvent
-
-
Method Details
-
build
public static APMEvent build(APMLog source, boolean parse, Map<String, String> uaHeaders, @NonNull Class<?> clazz, @NonNull Method method, String traceId) 构建APM事件- Parameters:
source- APM日志信息parse- 是否解析User-AgentuaHeaders- User-Agent头信息clazz- 被监控的类method- 被监控的方法traceId- 链路追踪ID- Returns:
- APMEvent实例
-
getApmLog
-
getClazz
-
getMethod
-
getUaHeaders
-
isParse
public boolean isParse()是否需要解析User-Agent- Returns:
- true表示需要解析
-
getTraceId
-