mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 20:17:47 +08:00
fix: report only enabled color queue statistics
This commit is contained in:
@@ -477,19 +477,30 @@ void OBCameraNode::getColorQueueStatsCallback(
|
|||||||
{"max_queue_wait_ms", stats.max_queue_wait_ms},
|
{"max_queue_wait_ms", stats.max_queue_wait_ms},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nlohmann::json queues;
|
nlohmann::json queues;
|
||||||
queues["color"] = to_json(getColorQueueStats(color_frame_queue_, color_frame_queue_lock_,
|
uint64_t overflow_count = 0;
|
||||||
color_frame_queue_stats_,
|
if (enable_stream_[COLOR]) {
|
||||||
color_frame_queue_max_frames_, request->data));
|
const auto stats =
|
||||||
queues["left_color"] = to_json(getColorQueueStats(
|
getColorQueueStats(color_frame_queue_, color_frame_queue_lock_, color_frame_queue_stats_,
|
||||||
left_color_frame_queue_, left_color_frame_queue_lock_, left_color_frame_queue_stats_,
|
color_frame_queue_max_frames_, request->data);
|
||||||
left_color_frame_queue_max_frames_, request->data));
|
queues["color"] = to_json(stats);
|
||||||
queues["right_color"] = to_json(getColorQueueStats(
|
overflow_count += stats.overflow_count;
|
||||||
right_color_frame_queue_, right_color_frame_queue_lock_, right_color_frame_queue_stats_,
|
}
|
||||||
right_color_frame_queue_max_frames_, request->data));
|
if (enable_stream_[COLOR_LEFT]) {
|
||||||
const uint64_t overflow_count = queues["color"]["overflow_count"].get<uint64_t>() +
|
const auto stats = getColorQueueStats(left_color_frame_queue_, left_color_frame_queue_lock_,
|
||||||
queues["left_color"]["overflow_count"].get<uint64_t>() +
|
left_color_frame_queue_stats_,
|
||||||
queues["right_color"]["overflow_count"].get<uint64_t>();
|
left_color_frame_queue_max_frames_, request->data);
|
||||||
|
queues["left_color"] = to_json(stats);
|
||||||
|
overflow_count += stats.overflow_count;
|
||||||
|
}
|
||||||
|
if (enable_stream_[COLOR_RIGHT]) {
|
||||||
|
const auto stats = getColorQueueStats(right_color_frame_queue_, right_color_frame_queue_lock_,
|
||||||
|
right_color_frame_queue_stats_,
|
||||||
|
right_color_frame_queue_max_frames_, request->data);
|
||||||
|
queues["right_color"] = to_json(stats);
|
||||||
|
overflow_count += stats.overflow_count;
|
||||||
|
}
|
||||||
response->success = true;
|
response->success = true;
|
||||||
response->message =
|
response->message =
|
||||||
nlohmann::json{
|
nlohmann::json{
|
||||||
@@ -499,6 +510,9 @@ void OBCameraNode::getColorQueueStatsCallback(
|
|||||||
{"queues", queues},
|
{"queues", queues},
|
||||||
}
|
}
|
||||||
.dump();
|
.dump();
|
||||||
|
if (queues.empty()) {
|
||||||
|
RCLCPP_WARN(logger_, "No enabled color streams; color queue statistics are empty");
|
||||||
|
}
|
||||||
} catch (const std::exception& error) {
|
} catch (const std::exception& error) {
|
||||||
response->success = false;
|
response->success = false;
|
||||||
response->message = error.what();
|
response->message = error.what();
|
||||||
|
|||||||
Reference in New Issue
Block a user