MCPcopy Index your code
hub / github.com/AI45Lab/Code / stats

Method stats

core/src/session_lane_queue.rs:406–442  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

404 }
405
406 pub async fn stats(&self) -> crate::queue::SessionQueueStats {
407 let lane_stats = self.manager.stats().await.ok();
408 let external_tasks = self.external_tasks.read().await;
409 let mut total_pending = 0;
410 let mut total_active = 0;
411 let mut lanes = HashMap::new();
412 if let Some(stats) = lane_stats {
413 for (lane_id, lane_stat) in stats.lanes {
414 total_pending += lane_stat.pending;
415 total_active += lane_stat.active;
416 let session_lane = match lane_id.as_str() {
417 "control" => SessionLane::Control,
418 "query" => SessionLane::Query,
419 "skill" => SessionLane::Execute,
420 "prompt" => SessionLane::Generate,
421 _ => continue,
422 };
423 let handler_mode = self.get_lane_handler(session_lane).await.mode;
424 lanes.insert(
425 format!("{:?}", session_lane),
426 crate::queue::LaneStatus {
427 lane: session_lane,
428 pending: lane_stat.pending,
429 active: lane_stat.active,
430 max_concurrency: lane_stat.max,
431 handler_mode,
432 },
433 );
434 }
435 }
436 crate::queue::SessionQueueStats {
437 total_pending,
438 total_active,
439 external_pending: external_tasks.len(),
440 lanes,
441 }
442 }
443
444 pub async fn pending_external_tasks(&self) -> Vec<ExternalTask> {
445 self.external_tasks

Callers 1

test_statsFunction · 0.45

Calls 4

get_lane_handlerMethod · 0.80
as_strMethod · 0.45
insertMethod · 0.45
lenMethod · 0.45

Tested by 1

test_statsFunction · 0.36