29 #include <ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ui_ThreadViewer.h>
38 periodicTaskModel(0), runningTaskModel(0), ui(new
Ui::
ThreadViewer)
45 ui->threadListView->setModel(periodicTaskModel);
48 ui->threadListView->setColumnWidth(0, 150);
49 ui->threadListView->setColumnWidth(1, 30);
50 ui->threadListView->setColumnWidth(2, 50);
51 ui->threadListView->setColumnWidth(3, 90);
52 ui->threadListView->setColumnWidth(4, 100);
53 ui->threadListView->setColumnWidth(5, 100);
54 ui->threadListView->setColumnWidth(6, 80);
55 ui->threadListView->setColumnWidth(7, 70);
56 ui->threadListView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
60 ui->runningTaskView->setModel(runningTaskModel);
63 ui->runningTaskView->setColumnWidth(0, 150);
64 ui->runningTaskView->setColumnWidth(1, 30);
65 ui->runningTaskView->setColumnWidth(2, 90);
66 ui->runningTaskView->setColumnWidth(3, 100);
67 ui->runningTaskView->setColumnWidth(4, 100);
68 ui->runningTaskView->setColumnWidth(5, 70);
69 ui->runningTaskView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
73 ui->threadListView->setFont(font);
74 ui->runningTaskView->setFont(font);
81 connect(ui->cbThreadListManager,
82 SIGNAL(currentIndexChanged(QString)),
115 periodicTask->start();
123 periodicTask->stop();
126 if (managerUpdateTask)
128 managerUpdateTask->stop();
135 if (managerUpdateTask && managerUpdateTask->isRunning())
140 ui->btnRefresh->setEnabled(
false);
141 ui->btnRefresh->setToolTip(
"Refreshing manager list...please wait");
144 managerUpdateTask->start();
150 std::vector<std::string> managerList;
151 QStringList qManagerList;
157 ->getIceGridSession()
158 ->getRegisteredObjectNames<ThreadListInterfacePrx>(
"*ThreadList");
160 for (
unsigned int i = 0; i < managerList.size(); ++i)
162 qManagerList << QString::fromStdString(managerList.at(i));
177 QString lastSelectionText = ui->cbThreadListManager->currentText();
178 ui->cbThreadListManager->clear();
179 ui->cbThreadListManager->addItems(
list);
180 int index = ui->cbThreadListManager->findText(lastSelectionText);
184 ui->cbThreadListManager->setCurrentIndex(
index);
187 ui->btnRefresh->setEnabled(
true);
188 ui->btnRefresh->setToolTip(
"Refresh the thread manager list");
194 if (selectedString.size() == 0)
199 std::unique_lock lock(proxyMutex);
200 threadManagerProxy = getProxy<ThreadListInterfacePrx>(selectedString.toStdString());
201 ARMARX_VERBOSE <<
"new proxy for ThreadViewerModel set: " << selectedString;
208 ui->cpuUsageProgressBar->setValue(
value);
212 ThreadViewer::runThreadManagerUpdate()
214 std::unique_lock lock(proxyMutex);
216 if (!threadManagerProxy)
223 PeriodicTaskList periodicTaskList = threadManagerProxy->getPeriodicTasks();
226 RunningTaskList runningTaskList = threadManagerProxy->getRunningTasks();
229 Ice::Double cpuProcTotalTime = threadManagerProxy->getCpuUsage();
230 int value =
static_cast<int>(cpuProcTotalTime);
233 catch (Ice::NotRegisteredException& e)
236 catch (Ice::ObjectAdapterDeactivatedException& e)
239 catch (Ice::UnknownLocalException& e)