我是靠谱客的博主 陶醉时光,最近开发中收集的这篇文章主要介绍使用CAT进行打点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用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进行打点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部