2019-12-04

服務質量可視化系統(tǒng)接入指南-C++


1.添加項目依賴

胡捷提供
靜態(tài)庫
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 為自己業(yè)務系統(tǒng)的大寫字母簡稱,

要求只能包含英文字母 (a-z, A-Z)、數(shù)字 (0-9)、下劃線 (_) 和中劃線 (-)

3.添加client.xml文件

  1. 需要在接入應用源文件所有在盤符創(chuàng)建/apps/appdatas/cat目錄,并且確保目錄有讀寫權限

例如當前接入應用源文件存放在/E:/workspack/項目源文件 ,則需要在E盤根路徑創(chuàng)建/apps/appdatas/cat目錄
如果當前系統(tǒng)是Linux,則直接在/根目錄創(chuàng)建/apps/appdatas/cat 文件夾即可,確保文件可讀寫

2.創(chuàng)建client.xml,內容如下,其中10.16.41.232為服務端ip,根據(jù)環(huán)境配置即可,當前為測試環(huán)境:

<!-- mode : 定義配置模式,固定值為client;- -->
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
      <servers>
          <!-- 服務端地址, 端口固定-->
          <!-- 如果有多個Server, 就繼續(xù)增加相應的節(jié)點配置 -->
          <!-- ip : 配置服務端(cat-home)對外IP地址 -->
          <!-- port : 配置服務端(cat-home)對外TCP協(xié)議開啟端口,固定值為2280; -->
          <!-- http-port : 配置服務端(cat-home)對外HTTP協(xié)議開啟端口, 如:tomcat默認是8080端口,若未指定,默認為8080端口; -->
         <server ip="10.16.41.232" port="2280" http-port="8888" />
     </servers>
  </config>

4.上報調用url規(guī)則

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

url : 請求全路徑(帶域名,但不帶?后面的參數(shù)),一定不要帶有可變參數(shù)

 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.調用鏈路數(shù)據(jù)上報

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

url : 調用外部系統(tǒng)url,請求全路徑(帶域名,但不帶?后面的參數(shù)),一定不要帶有可變參數(shù)
type : CALLER_(固定字符串) + C4A (服務提供者系統(tǒng)簡稱.即要調用的服務系統(tǒng)標識,可參考高可用項目系統(tǒng)標識)

如果有調用外部系統(tǒng)需要在調用邏輯前后添加監(jiān)控埋點

在調用外部接口代碼前后添加監(jiān)控買點:

6.上報調用請求錯誤規(guī)則

cat::logEvent

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

錯誤類型格式:系統(tǒng)簡稱_+ 調用url
status:實際發(fā)生錯誤狀態(tài)碼

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • # developer # ### 一、快速開始: 1,安裝部署 nacos 參考:https://nacos.i...
    gomcarter閱讀 506評論 0 0
  • open函數(shù) open 函數(shù)可以打開一個文件。超級簡單吧?大多數(shù)時候,我們看到它這樣被使用: 我現(xiàn)在寫這篇文章的原...
    Jarodlu閱讀 266評論 0 0
  • Linux語言環(huán)境配置 1.locale命令查看當前語言環(huán)境 Locale in Linux refers to:...
    9_SooHyun閱讀 455評論 0 0
  • 1、一大早,雨軒就被房間里吵雜的聲音所驚醒。他睜開雙眼,看了看表,已經早上7點了。雨軒本來想和同屋的人打打招呼,但...
    聽雨軒0755閱讀 631評論 0 1
  • 晚上從公司回家的路上,嘉嘉說他回去后想吃奧利奧,我說爸爸媽媽原則上晚上不允許嘉嘉吃零食,是希望嘉嘉在吃飯的時候可以...
    小關_dec3閱讀 663評論 0 0

友情鏈接更多精彩內容