美文网首页
2019-12-04

2019-12-04

作者: MichealDiao | 来源:发表于2019-12-04 17:02 被阅读0次

    服务质量可视化系统接入指南-C++


    1.添加项目依赖

    胡捷提供
    静态库
    libcatclient.a
    和头文件
    gridVClient.h
    头文件

    2.初始化cat

    使用默认配置初始化 cppcat

    cat::init
    void init(const string& domain);
    

    默认采用如下配置:

    encoderType = CAT_ENCODER_BINARY.
    enableHeartbeat is true.
    enableSampling is true.
    enableMultiprocessing is false.
    enableDebugLog is false.
    

    你也可以自定义配置(比如使用文本序列化取代二进制序列化)

    cat::Config c = cat::Config();
    c.enableDebugLog = true;
    c.encoderType = cat::ENCODER_TEXT;
    cat::init("appkey", c);
    

    appkey 为自己业务系统的大写字母简称,

    要求只能包含英文字母 (a-z, A-Z)、数字 (0-9)、下划线 (_) 和中划线 (-)

    3.添加client.xml文件

    1. 需要在接入应用源文件所有在盘符创建/apps/appdatas/cat目录,并且确保目录有读写权限

    例如当前接入应用源文件存放在/E:/workspack/项目源文件 ,则需要在E盘根路径创建/apps/appdatas/cat目录
    如果当前系统是Linux,则直接在/根目录创建/apps/appdatas/cat 文件夹即可,确保文件可读写

    2.创建client.xml,内容如下,其中10.16.41.232为服务端ip,根据环境配置即可,当前为测试环境:

    <!-- mode : 定义配置模式,固定值为client;- -->
    <config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
          <servers>
              <!-- 服务端地址, 端口固定-->
              <!-- 如果有多个Server, 就继续增加相应的节点配置 -->
              <!-- ip : 配置服务端(cat-home)对外IP地址 -->
              <!-- port : 配置服务端(cat-home)对外TCP协议开启端口,固定值为2280; -->
              <!-- http-port : 配置服务端(cat-home)对外HTTP协议开启端口, 如:tomcat默认是8080端口,若未指定,默认为8080端口; -->
             <server ip="10.16.41.232" port="2280" http-port="8888" />
         </servers>
      </config>
    

    4.上报调用url规则

    cat::Transaction t("URL", "url");
    

    url : 请求全路径(带域名,但不带?后面的参数),一定不要带有可变参数

     cat::Transaction t("URL", "url");
        t.SetDurationStart(_cat_start);
        t.SetTimestamp(_cat_start);
    
        unsigned long scEnd = (Util::GetSystemClock() - 1000) / 1000;
        t.SetDurationInMillis(scEnd-_cat_start);
        t.AddData("rsp_code", Util::to_s(200));
        t.SetStatus(cat::SUCCESS);
        t.Complete();
    

    5.调用链路数据上报

    cat::Transaction t("type", "url");

    url : 调用外部系统url,请求全路径(带域名,但不带?后面的参数),一定不要带有可变参数
    type : CALLER_(固定字符串) + C4A (服务提供者系统简称.即要调用的服务系统标识,可参考高可用项目系统标识)

    如果有调用外部系统需要在调用逻辑前后添加监控埋点

    在调用外部接口代码前后添加监控买点:

    6.上报调用请求错误规则

    cat::logEvent

    void logEvent(const string& type, const string& name, const string& status = SUCCESS, const string& data = "");
    

    错误类型格式:系统简称_+ 调用url
    status:实际发生错误状态码

    相关文章

      网友评论

          本文标题:2019-12-04

          本文链接:https://www.haomeiwen.com/subject/kfqlgctx.html