首页 帮助中心 基调听云Server API说明
基调听云Server

API说明

  • int AgentInit(const char *jsonFile);

    探针初始化,参数jsonFile是配置文件路径。成功返回 1,失败返回0。

  • void AgentStop(const char *reason);

    探针停止,结束数据采集。之后的所有API调用都将不会产生数据,同时也不会有性能损失。

  • TAppId CreateApplication(const char *AppName);

    创建应用。在AgentInit成功之后,调用CreateApplication创建应用实例,返回应用id。

  • void AppSuspend(TAppId app);

    暂停应用的数据采集。此后的CreateAction将不再采集数据,也不会再消耗内存和CPU资源。 适用情形: 这是一个暂时禁用探针的接口,一般情况下无需调用。只有当系统资源占用过高时,希望榨取更多资源时,才有必要通过调用Suspend来控制资源的消耗。

  • void AppResume(TAppId app);

    恢复应用的数据采集。

  • const char *AppReadConfig(TAppId app, const char *name);

    读取探针配置项,如果应用需要关注探针的设置,则调用这个方法。一般情况下不需要。 适用情形: 通常无需调用。

  • int AppEnabled(TAppId app)

    应用是否被禁用,返回1:禁用,0:未禁用。 应用可以在Server端或者本地配置文件中配置禁用,可以通过这个接口获得启用状态。 适用情形: 通常无需调用。

  • TActionId CreateAction(TAppId appid, const char *uri);

    创建一个事务,uri可以是自定义的事务名。

  • void ActionAddCustomParam(TActionId action_id, const char * k, const char * v);

    添加事务的自定义参数(uri解析参数),协助应用在报表端分析慢过程追踪和错误追踪栈。 适用情形: 需要通过参数分析慢事务或者错误原因时,请调用此接口采集参数。

  • void ActionAddRequestParam(TActionId action_id, const char * k, const char * v);

    添加事务的客户端请求参数(HTTP头),协助应用在报表端分析慢过程追踪和错误追踪栈。 适用情形: 需要通过参数分析慢事务或者错误原因时,请调用此接口采集参数。

  • TComponentId ACreateComponent(TActionId action);

    从Action创建一个一般组件,组件名使用当前调用方函数的名字。

  • TComponentId ActionCreateComponent(TActionId action, const char *ComponentName);

    从Action创建一个一般组件,组件名使用自定义名字。

  • TComponentId CreateSQLComponent(TActionId action, const char *type, const char *host, const char *dbname, const char *sql);

    从Action创建一个数据库组件,参数为:数据库类型、主机名、库名、SQL语句。

  • TComponentId CreateDBComponent(TActionId action, const char *type, const char *host, const char *dbname, const char *table, const char *op);

    从Action创建一个数据库组件,参数为:数据库类型、主机名、库名表名、操作名。

  • TComponentId CreateNoSQLComponent(TActionId action, const char *type, const char *host, const char *dbname, const char *object_name, const char *op);

    创建NOSQL性能分解组件 参数: type : “mongo"/"memcache"/"redis" host : 主机地址,可空 dbname : 库名称,可空 object_name : 对象 名 op : 操作类型, ("GET", "SET" ...)

  • TComponentId CreateExternalComponent(TActionId action, const char *url);

    从Action创建一个外部调用组件 参数: url:外部服务的url,格式: http(s)://host/uri, 例如 http://www.tingyun.com/

  • const char * ActionGetName(TActionId action);

    读取Action格式化过的名字。 适用情形: 通常不需要使用者调用。

  • const char * ActionGetUrl(TActionId action);

    读取Action对应的URI。 适用情形: 通常不需要使用者调用。

  • int ActionHasError(TActionId action);

    有错误返回1,否则返回0。 一般用来检测是否调用过SetActionErrorTrace,或者是ActionSetStatus调用传递大于等于400的状态码后,也会返回1。 适用情形: 通常不需要使用者调用。

  • void ActionIgnore(TActionId action);

    忽略这次Action的性能采集,只在ActionDestroy调用之前有效。 适用情形: 通常不需要使用者调用。

  • void ActionSetName(TActionId action, const char *classname, const char *methodname);

    修改事务名 参数: 类名,方法名。 适用情形: 明确指定事物名。

  • void ActionSetStatus(TActionId action, int StatusCode)

    设置Action对应的http事务应答的http状态码,缺省值200。 适用情形: 能取到返回状态码的情况。

  • void ActionSetTrackId(TActionId action, const char *trackId)

    用于RPC调用或者HTTP外部调用的跨应用追踪,trackId由调用者通过HTTP请求头"X-Tingyun-Id"或者其他方式(rpc)传递。 适用情形: 参考跨应用追踪。

  • const char * ActionGetTxData(action);

用于RPC调用或者HTTP外部调用的跨应用追踪,由被调用端调用,被调用端通过HTTP响应头"X-Tingyun-Tx-Data" 或者其他方式(RPC)将数据传回调用端。
适用情形: 参考跨应用追踪。
  • void ActionSetUrl(TActionId action, const char *Url);

    重设对应Action的uri, 用于追踪慢过程和错误分析。 适用情形: 明确指定事物对应的url,事务的命名优先使用url,没有的情况下使用函数名。

  • int ActionSlow(TActionId action);

    返回1为慢过程,0非慢过程。 根据用户的配置和当前事务的值行时间,判定对应的Action是否为慢过程。 适用情形: 通常不需要使用者调用。

  • TAppId ActionGetApp(TActionId action);

    通过TActionId获取TAppId。 适用情形: 通常不需要使用者调用。

  • void ActionDestroy(TActionId action)

    当前事务数据采集结束。 适用情形: 事务结束。

性能分解组件

  • TComponentId CCreateComponent(TComponentId parent);

    对本组件再进行性能分解,创建下层性能分解组件,使用调用者所处函数作为组件名

  • TComponentId ComponentCreateComponent(TComponentId parent, const char *ComponentName);

    对本组件再进行性能分解,创建下层性能分解组件,使用ComponentName作为组件名

  • int ComponentCreateTrackId(TComponentId component, char *idbuffer, int buffersize);

    用于跨应用追踪,本组件内调用了外部应用过程或者发起了RPC调用,由应用此方法返回的结果携带到server端,server端通过ActionSetTrackId使用这个结果。最终在报表端生成跨应用追踪图表 适用情形: 参考跨应用追踪

  • void ComponentSetTxData(TComponentId component, const char *tx_data);

    用于跨应用追踪,如果外部调用的server端安装了基调听云的Java、PHP等其他探针,启用跨应用追踪时,响应头里会有”X-Tingyun-Tx-Data“数据,通过本接口采集这个数据,完成跨应用追踪。 适用情形: 参考跨应用追踪。

  • TActionId ComponentGetAction(TComponentId component);

    取本组件所属的事务对象Action。 适用情形: 某些情况下,传参过程同时携带事务ID和组件ID会令代码变的复杂,这个API提供了方便方法通过组件获取到相应的事务id。

  • void ComponentFinish(TComponentId component);

    停止性能分解组件计时。 性能分解组件时长 = Finish时刻 - CreateComponent时刻 当时长超出堆栈阈值时,记录当前组件的代码堆栈。