概述
使用CAT进行打点:
- 使用CAT进行打点,以下是CatUtil的主要代码:
/**
* 开启一个新事务记录事件
*
* @param txType
* @param txName
* @param kvs
*/
public static void logEvent(String txType, String txName, KVPair... kvs) {
if (kvs == null) {
return;
}
Transaction t = null;
try {
MessageProducer producer = Cat.getProducer();
t = producer.newTransaction(txType, txName);
for (KVPair kv : kvs) {
producer.logEvent(kv.getKey(), kv.getValue());
}
t.setStatus(Transaction.SUCCESS);
} catch (Throwable th) {
t.setStatus(th);
log.error("faid to parse token and calculate time", th);
} finally {
complete(t);
}
}
/**
* 结束事务
*
* @param t
*/
public static void complete(Transaction t) {
try {
if (t != null && !t.isCompleted()) {
t.complete();
}
} catch (Throwable thr) {
log.error("fail to complete transaction", thr);
}
}
简单KV对象:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class KVPair {
private String key;
private String value;
public static KVPair of(String key, String value) {
return new KVPair(key, value);
}
}
在需要打点的地方调用logEvent方法,如下所示:
CatUtil.logEvent(AUTH_TIME, "AUTH_TIME_EVENT", KVPair.of(AUTH_TIME, "AUTH_TIME_ALL=" + fullTimeSpent));
最后
以上就是陶醉时光为你收集整理的使用CAT进行打点的全部内容,希望文章能够帮你解决使用CAT进行打点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复