Skip to content

Commit

Permalink
Added host group column to mon gui
Browse files Browse the repository at this point in the history
  • Loading branch information
hannemn committed Jul 3, 2023
1 parent f2cee27 commit 1ce9ee5
Show file tree
Hide file tree
Showing 12 changed files with 36 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ ProcessWidget::ProcessWidget(QWidget *parent)
host.name = "Host";
preconfigured_group_by_settings.push_back(host);

EcalmonTreeWidget::GroupSetting host_group;
host_group.group_by_columns = { (int)ProcessTreeModel::Columns::HOST_GROUP_NAME };
host_group.auto_expand = 0;
host_group.name = "Host Group";
preconfigured_group_by_settings.push_back(host_group);

setGroupSettings(preconfigured_group_by_settings, group_by_enabled_columns);

// Initial layout
Expand Down
7 changes: 7 additions & 0 deletions app/mon/mon_gui/src/widgets/models/process_tree_item.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ QVariant ProcessTreeItem::data(Columns column, Qt::ItemDataRole role) const
{
return process_.hname().c_str();
}
else if (column == Columns::HGNAME)
{
return process_.hgname().c_str();
}
else if (column == Columns::PID)
{
return process_.pid();
Expand Down Expand Up @@ -130,6 +134,7 @@ QVariant ProcessTreeItem::data(Columns column, Qt::ItemDataRole role) const
else if ((role == Qt::ItemDataRole::DisplayRole) || (role == Qt::ItemDataRole::ToolTipRole))
{
if ((column == Columns::HNAME)
|| (column == Columns::HGNAME)
|| (column == Columns::PNAME)
|| (column == Columns::UNAME))
{
Expand Down Expand Up @@ -192,6 +197,7 @@ QVariant ProcessTreeItem::data(Columns column, Qt::ItemDataRole role) const
else if (role == (Qt::ItemDataRole)ItemDataRoles::FilterRole) //-V1016 //-V547
{
if ((column == Columns::HNAME)
|| (column == Columns::HGNAME)
|| (column == Columns::PNAME)
|| (column == Columns::UNAME))
{
Expand Down Expand Up @@ -282,6 +288,7 @@ QVariant ProcessTreeItem::data(Columns column, Qt::ItemDataRole role) const
else if (role == Qt::ItemDataRole::FontRole)
{
if ((column == Columns::HNAME)
|| (column == Columns::HGNAME)
|| (column == Columns::PNAME)
|| (column == Columns::UNAME))
{
Expand Down
1 change: 1 addition & 0 deletions app/mon/mon_gui/src/widgets/models/process_tree_item.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class ProcessTreeItem :
{
RCLOCK,
HNAME,
HGNAME,
PID,
PNAME,
UNAME,
Expand Down
3 changes: 3 additions & 0 deletions app/mon/mon_gui/src/widgets/models/process_tree_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class ProcessTreeModel : public GroupTreeModel
GROUP,
UNIT_NAME,
HOST_NAME,
HOST_GROUP_NAME,
PID,
PROCESS_NAME,
PARAMETERS,
Expand Down Expand Up @@ -88,6 +89,7 @@ class ProcessTreeModel : public GroupTreeModel
{ Columns::GROUP, "Group" },
{ Columns::UNIT_NAME, "Process" },
{ Columns::HOST_NAME, "Host" },
{ Columns::HOST_GROUP_NAME, "Host Group" },
{ Columns::PID, "PID" },
{ Columns::PROCESS_NAME, "Process Path" },
{ Columns::PARAMETERS, "Command line" },
Expand All @@ -110,6 +112,7 @@ class ProcessTreeModel : public GroupTreeModel
{ Columns::GROUP, -1 },
{ Columns::UNIT_NAME, (int)ProcessTreeItem::Columns::UNAME },
{ Columns::HOST_NAME, (int)ProcessTreeItem::Columns::HNAME },
{ Columns::HOST_GROUP_NAME, (int)ProcessTreeItem::Columns::HGNAME},
{ Columns::PID, (int)ProcessTreeItem::Columns::PID },
{ Columns::PROCESS_NAME, (int)ProcessTreeItem::Columns::PNAME },
{ Columns::PARAMETERS, (int)ProcessTreeItem::Columns::PPARAM },
Expand Down
6 changes: 6 additions & 0 deletions app/mon/mon_gui/src/widgets/models/topic_tree_item.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ QVariant TopicTreeItem::data(Columns column, Qt::ItemDataRole role) const
{
return topic_.hname().c_str();
}
else if (column == Columns::HGNAME)
{
return topic_.hgname().c_str();
}
else if (column == Columns::PID)
{
return topic_.pid();
Expand Down Expand Up @@ -288,6 +292,7 @@ QVariant TopicTreeItem::data(Columns column, Qt::ItemDataRole role) const
else if (role == (Qt::ItemDataRole)ItemDataRoles::FilterRole) //-V1016 //-V547
{
if ((column == Columns::HNAME)
|| (column == Columns::HGNAME)
|| (column == Columns::PNAME)
|| (column == Columns::UNAME)
|| (column == Columns::TNAME)
Expand Down Expand Up @@ -352,6 +357,7 @@ QVariant TopicTreeItem::data(Columns column, Qt::ItemDataRole role) const
{

if ((column == Columns::HNAME)
|| (column == Columns::HGNAME)
|| (column == Columns::PNAME)
|| (column == Columns::UNAME)
|| (column == Columns::TNAME)
Expand Down
1 change: 1 addition & 0 deletions app/mon/mon_gui/src/widgets/models/topic_tree_item.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class TopicTreeItem :
{
RCLOCK,
HNAME,
HGNAME,
PID,
PNAME,
UNAME,
Expand Down
3 changes: 3 additions & 0 deletions app/mon/mon_gui/src/widgets/models/topic_tree_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ class TopicTreeModel : public GroupTreeModel
DIRECTION,
UNIT_NAME,
HOST_NAME,
HOST_GROUP_NAME,
PID,
PROCESS_NAME,
MESSAGE_TYPE,
Expand Down Expand Up @@ -90,6 +91,7 @@ class TopicTreeModel : public GroupTreeModel
{ Columns::GROUP, "Group" },
{ Columns::HEARTBEAT, "Heartbeat" },
{ Columns::HOST_NAME, "Host" },
{ Columns::HOST_GROUP_NAME, "Host Group" },
{ Columns::PID, "PID" },
{ Columns::PROCESS_NAME, "Process Path" },
{ Columns::UNIT_NAME, "Process" },
Expand All @@ -114,6 +116,7 @@ class TopicTreeModel : public GroupTreeModel
{ Columns::GROUP, -1 },
{ Columns::HEARTBEAT, (int)TopicTreeItem::Columns::RCLOCK },
{ Columns::HOST_NAME, (int)TopicTreeItem::Columns::HNAME },
{ Columns::HOST_GROUP_NAME, (int)TopicTreeItem::Columns::HGNAME },
{ Columns::PID, (int)TopicTreeItem::Columns::PID },
{ Columns::PROCESS_NAME, (int)TopicTreeItem::Columns::PNAME },
{ Columns::UNIT_NAME, (int)TopicTreeItem::Columns::UNAME },
Expand Down
1 change: 1 addition & 0 deletions ecal/core/include/ecal/ecal_monitoring_struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ namespace eCAL

int rclock; //!< registration clock
std::string hname; //!< host name
std::string hgname; //!< host group name
int pid; //!< process id
std::string pname; //!< process name
std::string uname; //!< unit name
Expand Down
1 change: 1 addition & 0 deletions ecal/core/src/ecal_registration_provider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ namespace eCAL
process_sample.set_cmd_type(eCAL::pb::bct_reg_process);
auto *process_sample_mutable_process = process_sample.mutable_process();
process_sample_mutable_process->set_hname(Process::GetHostName());
process_sample_mutable_process->set_hgname(Process::GetHostGroupName());
process_sample_mutable_process->set_pid(Process::GetProcessID());
process_sample_mutable_process->set_pname(Process::GetProcessName());
process_sample_mutable_process->set_uname(Process::GetUnitName());
Expand Down
2 changes: 1 addition & 1 deletion ecal/core/src/ecal_registration_receiver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ namespace eCAL

bool CRegistrationReceiver::IsHostGroupMember(const eCAL::pb::Sample& ecal_sample_)
{
const std::string sample_host_group_name = ecal_sample_.topic().hgname().empty() ? ecal_sample_.topic().hname() : ecal_sample_.topic().hgname();
const std::string& sample_host_group_name = ecal_sample_.topic().hgname().empty() ? ecal_sample_.topic().hname() : ecal_sample_.topic().hgname();

if (sample_host_group_name.empty() || m_host_group_name.empty())
return false;
Expand Down
5 changes: 5 additions & 0 deletions ecal/core/src/mon/ecal_monitoring_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,7 @@ namespace eCAL
{
const auto& sample_process = sample_.process();
const std::string& host_name = sample_process.hname();
const std::string& host_group_name = sample_process.hgname();
const std::string& process_name = sample_process.pname();
const int process_id = sample_process.pid();
const std::string& process_param = sample_process.pparam();
Expand Down Expand Up @@ -419,6 +420,7 @@ namespace eCAL

// set static content
ProcessInfo.hname = host_name;
ProcessInfo.hgname = host_group_name;
ProcessInfo.pname = process_name;
ProcessInfo.uname = unit_name;
ProcessInfo.pid = process_id;
Expand Down Expand Up @@ -786,6 +788,9 @@ namespace eCAL
// host name
pMonProcs->set_hname(process.second.hname);

// host group name
pMonProcs->set_hgname(process.second.hgname);

// process name
pMonProcs->set_pname(process.second.pname);

Expand Down
1 change: 1 addition & 0 deletions ecal/core_pb/src/ecal/core/pb/process.proto
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ message Process // process
{
int32 rclock = 1; // registration clock
string hname = 2; // host name
string hgname = 18; // host group name
int32 pid = 3; // process id
string pname = 4; // process name
string uname = 5; // unit name
Expand Down

0 comments on commit 1ce9ee5

Please sign in to comment.