Files
QTradeProgram/include/Proto/GetDelayStatistics.proto
2025-08-15 15:57:31 +08:00

104 lines
3.7 KiB
Protocol Buffer
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto2";
package GetDelayStatistics;
option java_package = "com.futu.openapi.pb";
option go_package = "github.com/futuopen/ftapi4go/pb/getdelaystatistics";
import "Common.proto";
enum DelayStatisticsType
{
DelayStatisticsType_Unkonw = 0; //未知类型
DelayStatisticsType_QotPush = 1; //行情推送统计
DelayStatisticsType_ReqReply = 2; //请求回应统计
DelayStatisticsType_PlaceOrder = 3; //下单统计
}
//某段时间的统计数据
//SR表示服务器收到数据目前只有港股支持SR字段SS表示服务器发出数据
//CR表示OpenD收到数据CS表示OpenD发出数据
enum QotPushStage
{
QotPushStage_Unkonw = 0; // 未知
QotPushStage_SR2SS = 1; //统计服务端处理耗时
QotPushStage_SS2CR = 2; //统计网络耗时
QotPushStage_CR2CS = 3; //统计OpenD处理耗时
QotPushStage_SS2CS = 4; //统计服务器发出到OpenD发出的处理耗时
QotPushStage_SR2CS = 5; //统计服务器收到数据到OpenD发出的处理耗时
}
//行情推送类型
enum QotPushType
{
QotPushType_Unkonw = 0; // 未知
QotPushType_Price = 1; //最新价
QotPushType_Ticker = 2; //逐笔
QotPushType_OrderBook = 3; //摆盘
QotPushType_Broker = 4; //经纪队列
}
message C2S
{
repeated int32 typeList = 1; //统计数据类型DelayStatisticsType
optional int32 qotPushStage = 2; //行情推送统计的区间行情推送统计时有效QotPushStage
repeated int32 segmentList = 3; //统计分段默认100ms以下以2ms分段100ms以上以50010002000-1分段-1表示无穷大。
//传入的分段范围0-100ms最小支持1ms100-1000ms最小支持50ms1000-5000ms最小支持500ms5000ms以上无法指定
}
message DelayStatisticsItem
{
//范围左闭右开,[begin,end)
required int32 begin = 1; //耗时范围起点,毫秒单位
required int32 end = 2; //耗时范围结束,毫秒单位
required int32 count = 3; //个数
required float proportion = 4; //占比, %
required float cumulativeRatio = 5; //累计占比, %
}
message DelayStatistics
{
required int32 qotPushType = 1; //行情推送类型,QotPushType
repeated DelayStatisticsItem itemList = 2; //统计信息
required float delayAvg = 3; //平均延迟
required int32 count = 4; //总包数
}
message ReqReplyStatisticsItem
{
required int32 protoID = 1; //协议ID
required int32 count = 2; //请求个数
required float totalCostAvg = 3; //平均总耗时,毫秒单位
required float openDCostAvg = 4; //平均OpenD耗时毫秒单位
required float netDelayAvg = 5; //平均网络耗时,非当时实际请求网络耗时,毫秒单位
required bool isLocalReply = 6; //是否本地直接回包,没有向服务器请求数据
}
message PlaceOrderStatisticsItem
{
required string orderID = 1; //订单ID
required float totalCost = 2; //总耗时,毫秒单位
required float openDCost = 3; //OpenD耗时毫秒单位
required float netDelay = 4; //网络耗时,非当时实际请求网络耗时,毫秒单位
required float updateCost = 5; //订单回包后到接收到订单下到交易所的耗时,毫秒单位
}
message S2C
{
repeated DelayStatistics qotPushStatisticsList = 1; //行情推送延迟统计
repeated ReqReplyStatisticsItem reqReplyStatisticsList = 2; //请求延迟统计
repeated PlaceOrderStatisticsItem placeOrderStatisticsList = 3; //下单延迟统计
}
message Request
{
required C2S c2s = 1;
}
message Response
{
required int32 retType = 1 [default = -400]; //返回结果参见Common.RetType的枚举定义
optional string retMsg = 2; //返回结果描述
optional int32 errCode = 3; //错误码客户端一般通过retType和retMsg来判断结果和详情errCode只做日志记录仅在个别协议失败时对账用
optional S2C s2c = 4;
}