服务质量可视化系统接入指南-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文件
- 需要在接入应用源文件所有在盘符创建/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
:实际发生错误状态码