Explorar o código

v3.2.4: 修复TraceStack在前几个版本无法跟踪交易速度的问题。

skyffire hai 1 ano
pai
achega
36eec268e6

+ 1 - 0
exchanges/src/socket_tool.rs

@@ -88,6 +88,7 @@ impl AbstractWsMode {
                     if code == 200 {
                         let mut data_c = data.clone();
                         data_c.ins = Instant::now();
+                        data_c.time = Utc::now().timestamp_millis();
 
                         handle_function(data_c).await;
                     }

+ 1 - 0
global/src/log_utils.rs

@@ -102,6 +102,7 @@ pub fn final_init(level: &str, port: u32, account_name: String) -> WorkerGuard {
     let fmt_layer = fmt::layer()
         .with_timer(local_time.clone())
         .with_target(true)
+        .with_line_number(true)
         .with_level(true)
         .with_writer(io::stdout)
         .with_span_events(fmt::format::FmtSpan::FULL);

+ 1 - 1
global/src/trace_stack.rs

@@ -133,7 +133,7 @@ impl fmt::Display for TraceStack {
             msg.push_str(format!("数据到达rust耗时{}ms  ", (self.after_network - self.before_network).to_f64().unwrap() / 1000.0).as_str());
         }
 
-        if self.after_format != 0 {
+        if self.after_span_line != 0 {
             msg.push_str(format!("跨协程完毕{}ns  ", self.after_span_line).as_str());
         }
 

+ 3 - 3
strategy/src/core.rs

@@ -1326,8 +1326,8 @@ impl Core {
                         }
                     }
                     // 发起清仓订单
-                    let ts = TraceStack::new(0, Instant::now());
-                    // ts.on_before_send();
+                    let mut ts = TraceStack::new(0, Instant::now());
+                    ts.on_before_send();
                     // 市价单
                     match self.platform_rest.take_order_symbol(position.symbol.clone(),
                                                                Decimal::ONE,
@@ -1336,7 +1336,7 @@ impl Core {
                                                                price,
                                                                position.amount.abs()).await {
                         Ok(order) => {
-                            // ts.on_after_send();
+                            ts.on_after_send();
                             info!("    {}仓位清除市价下单成功 {:?}, {}", position.symbol.clone(), order, ts.to_string());
                             // 执行完当前币对  结束循环
                             continue;