🫀 Adds task to analytics
This commit is contained in:
@@ -52,8 +52,7 @@ class AnalyticsService {
|
|||||||
doc["cpu0_usage"] = _taskManager->getCpuUsage(0);
|
doc["cpu0_usage"] = _taskManager->getCpuUsage(0);
|
||||||
doc["cpu1_usage"] = _taskManager->getCpuUsage(1);
|
doc["cpu1_usage"] = _taskManager->getCpuUsage(1);
|
||||||
doc["cpu_usage"] = _taskManager->getCpuUsage();
|
doc["cpu_usage"] = _taskManager->getCpuUsage();
|
||||||
// Add _taskManager->getTaskNames() as a JSON array
|
JsonArray tasks = doc["tasks"].to<JsonArray>();
|
||||||
JsonArray tasks = doc["tasks"].as<JsonArray>();
|
|
||||||
for (auto const &task : _taskManager->getTasks()) {
|
for (auto const &task : _taskManager->getTasks()) {
|
||||||
JsonObject nested = tasks.add<JsonObject>();
|
JsonObject nested = tasks.add<JsonObject>();
|
||||||
nested["name"] = task.name;
|
nested["name"] = task.name;
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ class TaskManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<task_t> getTasks() {
|
std::vector<task_t> getTasks() {
|
||||||
|
update();
|
||||||
std::vector<task_t> tasks;
|
std::vector<task_t> tasks;
|
||||||
for (auto const &task : _tasks) tasks.push_back(task.second);
|
for (auto const &task : _tasks) tasks.push_back(task.second);
|
||||||
return tasks;
|
return tasks;
|
||||||
@@ -94,9 +95,15 @@ class TaskManager {
|
|||||||
int getKernelTaskCount() const { return uxTaskGetNumberOfTasks(); }
|
int getKernelTaskCount() const { return uxTaskGetNumberOfTasks(); }
|
||||||
|
|
||||||
void update() {
|
void update() {
|
||||||
for (auto const &task : _tasks) {
|
for (auto task = _tasks.begin(); task != _tasks.end();) {
|
||||||
_tasks[task.first].priority = uxTaskPriorityGet(task.second.handle);
|
eTaskState state = eTaskGetState(task->second.handle);
|
||||||
_tasks[task.first].coreId = xTaskGetAffinity(task.second.handle);
|
if (state == eDeleted) {
|
||||||
|
task = _tasks.erase(task);
|
||||||
|
} else {
|
||||||
|
_tasks[task->first].priority = uxTaskPriorityGet(task->second.handle);
|
||||||
|
_tasks[task->first].coreId = xTaskGetAffinity(task->second.handle);
|
||||||
|
++task;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user