🫀 Adds task to analytics

This commit is contained in:
Rune Harlyk
2024-08-02 18:40:44 +02:00
parent 10c0e28ecd
commit b3b7eb10c2
2 changed files with 11 additions and 5 deletions
+1 -2
View File
@@ -52,8 +52,7 @@ class AnalyticsService {
doc["cpu0_usage"] = _taskManager->getCpuUsage(0);
doc["cpu1_usage"] = _taskManager->getCpuUsage(1);
doc["cpu_usage"] = _taskManager->getCpuUsage();
// Add _taskManager->getTaskNames() as a JSON array
JsonArray tasks = doc["tasks"].as<JsonArray>();
JsonArray tasks = doc["tasks"].to<JsonArray>();
for (auto const &task : _taskManager->getTasks()) {
JsonObject nested = tasks.add<JsonObject>();
nested["name"] = task.name;
+10 -3
View File
@@ -84,6 +84,7 @@ class TaskManager {
}
std::vector<task_t> getTasks() {
update();
std::vector<task_t> tasks;
for (auto const &task : _tasks) tasks.push_back(task.second);
return tasks;
@@ -94,9 +95,15 @@ class TaskManager {
int getKernelTaskCount() const { return uxTaskGetNumberOfTasks(); }
void update() {
for (auto const &task : _tasks) {
_tasks[task.first].priority = uxTaskPriorityGet(task.second.handle);
_tasks[task.first].coreId = xTaskGetAffinity(task.second.handle);
for (auto task = _tasks.begin(); task != _tasks.end();) {
eTaskState state = eTaskGetState(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;
}
}
}