Prechádzať zdrojové kódy

延迟统计部分。

skyffire 1 rok pred
rodič
commit
c6352bbbe5

+ 13 - 6
exchanges/src/socket_tool.rs

@@ -94,6 +94,7 @@ impl AbstractWsMode {
                             // let response_data = func(message);
                             if response_data.is_some() {
                                 let mut data = response_data.unwrap();
+                                data.time = chrono::Utc::now().timestamp_micros();
                                 data.label = lable.clone();
                                 let code = data.code.clone();
                                 /*
@@ -107,20 +108,26 @@ impl AbstractWsMode {
                                 match code.as_str() {
                                     "200" => {
                                         if data.label.contains("gate_usdt_swap") {
-                                            if data.channel == "futures.order_book" && read_tx.is_empty() {
-                                                read_tx.unbounded_send(data).unwrap();
+                                            if data.channel == "futures.order_book" {
+                                                if read_tx.is_empty() {
+                                                    read_tx.unbounded_send(data).unwrap();
+                                                }
                                             } else {
                                                 read_tx.unbounded_send(data).unwrap();
                                             }
                                         } else if data.label.contains("binance_usdt_swap") {
-                                            if data.channel == "bookTicker" && read_tx.is_empty() {
-                                                read_tx.unbounded_send(data).unwrap();
+                                            if data.channel == "bookTicker" {
+                                                if read_tx.is_empty() {
+                                                    read_tx.unbounded_send(data).unwrap();
+                                                }
                                             } else {
                                                 read_tx.unbounded_send(data).unwrap();
                                             }
                                         } else if data.label.contains("bybit_usdt_swap") {
-                                            if data.channel == "orderbook" && read_tx.is_empty() {
-                                                read_tx.unbounded_send(data).unwrap();
+                                            if data.channel == "orderbook" {
+                                                if read_tx.is_empty() {
+                                                    read_tx.unbounded_send(data).unwrap();
+                                                }
                                             } else {
                                                 read_tx.unbounded_send(data).unwrap();
                                             }

+ 1 - 1
strategy/src/binance_spot.rs

@@ -95,7 +95,7 @@ async fn on_data(bot_arc_clone: Arc<Mutex<Quant>>,
                  _min_sell: &mut Decimal,
                  data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 1 - 1
strategy/src/binance_usdt_swap.rs

@@ -59,7 +59,7 @@ async fn on_data(bot_arc_clone: Arc<Mutex<Quant>>,
                  _min_sell: &mut Decimal,
                  data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 2 - 2
strategy/src/bitget_spot.rs

@@ -130,7 +130,7 @@ pub async fn bitget_spot_run(bool_v1 :Arc<AtomicBool>,
 async fn on_private_data(bot_arc_clone: Arc<Mutex<Quant>>, ct_val: Decimal, data: ResponseData) {
     let mut trace_stack = TraceStack::default();
 
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {
@@ -179,7 +179,7 @@ async fn on_private_data(bot_arc_clone: Arc<Mutex<Quant>>, ct_val: Decimal, data
 async fn on_public_data(bot_arc_clone: Arc<Mutex<Quant>>, update_flag_u: &mut Decimal, max_buy: &mut Decimal, min_sell: &mut Decimal, data: ResponseData) {
     let mut trace_stack = TraceStack::default();
 
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 1 - 1
strategy/src/gate_swap.rs

@@ -101,7 +101,7 @@ async fn on_data(bot_arc_clone: Arc<Mutex<Quant>>,
                  min_sell: &mut Decimal,
                  data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 1 - 1
strategy/src/kucoin_spot.rs

@@ -77,7 +77,7 @@ async fn on_kucoin_spot_data(bot_arc_clone: Arc<Mutex<Quant>>,
                              min_sell: &mut Decimal,
                              data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 1 - 1
strategy/src/kucoin_swap.rs

@@ -116,7 +116,7 @@ async fn on_data(bot_arc_clone: Arc<Mutex<Quant>>,
                  min_sell: &mut Decimal,
                  data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {

+ 2 - 2
strategy/src/okx_usdt_swap.rs

@@ -109,7 +109,7 @@ pub async fn okex_swap_run(bool_v1: Arc<AtomicBool>,
 async fn on_private_data(bot_arc_clone: Arc<Mutex<Quant>>, ct_val: Decimal, data: ResponseData, run_symbol: String) {
     let mut trace_stack = TraceStack::default();
 
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {
@@ -162,7 +162,7 @@ async fn on_private_data(bot_arc_clone: Arc<Mutex<Quant>>, ct_val: Decimal, data
 
 async fn on_public_data(bot_arc_clone: Arc<Mutex<Quant>>, update_flag_u: &mut Decimal, max_buy: &mut Decimal, min_sell: &mut Decimal, data: ResponseData) {
     let mut trace_stack = TraceStack::default();
-    trace_stack.on_after_network(chrono::Utc::now().timestamp_micros());
+    trace_stack.on_after_network(data.time);
     trace_stack.on_before_quant();
 
     if data.code != "200".to_string() {