|
|
@@ -39,103 +39,98 @@ void DescribeProcessStatsCompositionResult::parse(const std::string &payload)
|
|
|
Json::Value value;
|
|
|
reader.parse(payload, value);
|
|
|
setRequestId(value["RequestId"].asString());
|
|
|
- auto allDataNode = value["Data"]["DataItem"];
|
|
|
- for (auto valueDataDataItem : allDataNode)
|
|
|
+ auto dataNode = value["Data"];
|
|
|
+ if(!dataNode["TotalSessionCount"].isNull())
|
|
|
+ data_.totalSessionCount = std::stoi(dataNode["TotalSessionCount"].asString());
|
|
|
+ if(!dataNode["ActiveSessionCount"].isNull())
|
|
|
+ data_.activeSessionCount = std::stoi(dataNode["ActiveSessionCount"].asString());
|
|
|
+ if(!dataNode["IdleSessionCount"].isNull())
|
|
|
+ data_.idleSessionCount = std::stoi(dataNode["IdleSessionCount"].asString());
|
|
|
+ if(!dataNode["ObVersion"].isNull())
|
|
|
+ data_.obVersion = dataNode["ObVersion"].asString();
|
|
|
+ auto allAllProcessListNode = dataNode["AllProcessList"]["AllProcessListItem"];
|
|
|
+ for (auto dataNodeAllProcessListAllProcessListItem : allAllProcessListNode)
|
|
|
{
|
|
|
- DataItem dataObject;
|
|
|
- if(!valueDataDataItem["TotalSessionCount"].isNull())
|
|
|
- dataObject.totalSessionCount = std::stoi(valueDataDataItem["TotalSessionCount"].asString());
|
|
|
- if(!valueDataDataItem["ActiveSessionCount"].isNull())
|
|
|
- dataObject.activeSessionCount = std::stoi(valueDataDataItem["ActiveSessionCount"].asString());
|
|
|
- if(!valueDataDataItem["IdleSessionCount"].isNull())
|
|
|
- dataObject.idleSessionCount = std::stoi(valueDataDataItem["IdleSessionCount"].asString());
|
|
|
- if(!valueDataDataItem["ObVersion"].isNull())
|
|
|
- dataObject.obVersion = valueDataDataItem["ObVersion"].asString();
|
|
|
- auto allAllProcessListNode = valueDataDataItem["AllProcessList"]["AllProcessListItem"];
|
|
|
- for (auto valueDataDataItemAllProcessListAllProcessListItem : allAllProcessListNode)
|
|
|
- {
|
|
|
- DataItem::AllProcessListItem allProcessListObject;
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["SqlText"].isNull())
|
|
|
- allProcessListObject.sqlText = valueDataDataItemAllProcessListAllProcessListItem["SqlText"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["TenantId"].isNull())
|
|
|
- allProcessListObject.tenantId = valueDataDataItemAllProcessListAllProcessListItem["TenantId"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["Database"].isNull())
|
|
|
- allProcessListObject.database = valueDataDataItemAllProcessListAllProcessListItem["Database"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["User"].isNull())
|
|
|
- allProcessListObject.user = valueDataDataItemAllProcessListAllProcessListItem["User"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["ExecuteTime"].isNull())
|
|
|
- allProcessListObject.executeTime = std::stol(valueDataDataItemAllProcessListAllProcessListItem["ExecuteTime"].asString());
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["CpuTime"].isNull())
|
|
|
- allProcessListObject.cpuTime = std::stol(valueDataDataItemAllProcessListAllProcessListItem["CpuTime"].asString());
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["ServerIp"].isNull())
|
|
|
- allProcessListObject.serverIp = valueDataDataItemAllProcessListAllProcessListItem["ServerIp"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["ClientIp"].isNull())
|
|
|
- allProcessListObject.clientIp = valueDataDataItemAllProcessListAllProcessListItem["ClientIp"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["SessionId"].isNull())
|
|
|
- allProcessListObject.sessionId = std::stol(valueDataDataItemAllProcessListAllProcessListItem["SessionId"].asString());
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["ProxySessId"].isNull())
|
|
|
- allProcessListObject.proxySessId = valueDataDataItemAllProcessListAllProcessListItem["ProxySessId"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["Command"].isNull())
|
|
|
- allProcessListObject.command = valueDataDataItemAllProcessListAllProcessListItem["Command"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["Status"].isNull())
|
|
|
- allProcessListObject.status = valueDataDataItemAllProcessListAllProcessListItem["Status"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["SqlId"].isNull())
|
|
|
- allProcessListObject.sqlId = valueDataDataItemAllProcessListAllProcessListItem["SqlId"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["TraceId"].isNull())
|
|
|
- allProcessListObject.traceId = valueDataDataItemAllProcessListAllProcessListItem["TraceId"].asString();
|
|
|
- if(!valueDataDataItemAllProcessListAllProcessListItem["PlanId"].isNull())
|
|
|
- allProcessListObject.planId = valueDataDataItemAllProcessListAllProcessListItem["PlanId"].asString();
|
|
|
- dataObject.allProcessList.push_back(allProcessListObject);
|
|
|
- }
|
|
|
- auto sessionStatisticsNode = value["SessionStatistics"];
|
|
|
- auto allUserStatisticsNode = sessionStatisticsNode["UserStatistics"]["UserStatisticsItem"];
|
|
|
- for (auto sessionStatisticsNodeUserStatisticsUserStatisticsItem : allUserStatisticsNode)
|
|
|
- {
|
|
|
- DataItem::SessionStatistics::UserStatisticsItem userStatisticsItemObject;
|
|
|
- if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["MetricValue"].isNull())
|
|
|
- userStatisticsItemObject.metricValue = sessionStatisticsNodeUserStatisticsUserStatisticsItem["MetricValue"].asString();
|
|
|
- if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["ActiveCount"].isNull())
|
|
|
- userStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeUserStatisticsUserStatisticsItem["ActiveCount"].asString());
|
|
|
- if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["TotalCount"].isNull())
|
|
|
- userStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeUserStatisticsUserStatisticsItem["TotalCount"].asString());
|
|
|
- if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["Type"].isNull())
|
|
|
- userStatisticsItemObject.type = sessionStatisticsNodeUserStatisticsUserStatisticsItem["Type"].asString();
|
|
|
- dataObject.sessionStatistics.userStatistics.push_back(userStatisticsItemObject);
|
|
|
- }
|
|
|
- auto allSourceStatisticsNode = sessionStatisticsNode["SourceStatistics"]["SourceStatisticsItem"];
|
|
|
- for (auto sessionStatisticsNodeSourceStatisticsSourceStatisticsItem : allSourceStatisticsNode)
|
|
|
- {
|
|
|
- DataItem::SessionStatistics::SourceStatisticsItem sourceStatisticsItemObject;
|
|
|
- if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["MetricValue"].isNull())
|
|
|
- sourceStatisticsItemObject.metricValue = sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["MetricValue"].asString();
|
|
|
- if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["ActiveCount"].isNull())
|
|
|
- sourceStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["ActiveCount"].asString());
|
|
|
- if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["TotalCount"].isNull())
|
|
|
- sourceStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["TotalCount"].asString());
|
|
|
- if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["Type"].isNull())
|
|
|
- sourceStatisticsItemObject.type = sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["Type"].asString();
|
|
|
- dataObject.sessionStatistics.sourceStatistics.push_back(sourceStatisticsItemObject);
|
|
|
- }
|
|
|
- auto allDataBaseStatisticsNode = sessionStatisticsNode["DataBaseStatistics"]["DataBaseStatisticsItem"];
|
|
|
- for (auto sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem : allDataBaseStatisticsNode)
|
|
|
- {
|
|
|
- DataItem::SessionStatistics::DataBaseStatisticsItem dataBaseStatisticsItemObject;
|
|
|
- if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["MetricValue"].isNull())
|
|
|
- dataBaseStatisticsItemObject.metricValue = sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["MetricValue"].asString();
|
|
|
- if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["ActiveCount"].isNull())
|
|
|
- dataBaseStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["ActiveCount"].asString());
|
|
|
- if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["TotalCount"].isNull())
|
|
|
- dataBaseStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["TotalCount"].asString());
|
|
|
- if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["Type"].isNull())
|
|
|
- dataBaseStatisticsItemObject.type = sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["Type"].asString();
|
|
|
- dataObject.sessionStatistics.dataBaseStatistics.push_back(dataBaseStatisticsItemObject);
|
|
|
- }
|
|
|
- data_.push_back(dataObject);
|
|
|
+ Data::AllProcessListItem allProcessListItemObject;
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["SqlText"].isNull())
|
|
|
+ allProcessListItemObject.sqlText = dataNodeAllProcessListAllProcessListItem["SqlText"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["TenantId"].isNull())
|
|
|
+ allProcessListItemObject.tenantId = dataNodeAllProcessListAllProcessListItem["TenantId"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["Database"].isNull())
|
|
|
+ allProcessListItemObject.database = dataNodeAllProcessListAllProcessListItem["Database"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["User"].isNull())
|
|
|
+ allProcessListItemObject.user = dataNodeAllProcessListAllProcessListItem["User"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["ExecuteTime"].isNull())
|
|
|
+ allProcessListItemObject.executeTime = std::stol(dataNodeAllProcessListAllProcessListItem["ExecuteTime"].asString());
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["CpuTime"].isNull())
|
|
|
+ allProcessListItemObject.cpuTime = std::stol(dataNodeAllProcessListAllProcessListItem["CpuTime"].asString());
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["ServerIp"].isNull())
|
|
|
+ allProcessListItemObject.serverIp = dataNodeAllProcessListAllProcessListItem["ServerIp"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["ClientIp"].isNull())
|
|
|
+ allProcessListItemObject.clientIp = dataNodeAllProcessListAllProcessListItem["ClientIp"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["SessionId"].isNull())
|
|
|
+ allProcessListItemObject.sessionId = std::stol(dataNodeAllProcessListAllProcessListItem["SessionId"].asString());
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["ProxySessId"].isNull())
|
|
|
+ allProcessListItemObject.proxySessId = dataNodeAllProcessListAllProcessListItem["ProxySessId"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["Command"].isNull())
|
|
|
+ allProcessListItemObject.command = dataNodeAllProcessListAllProcessListItem["Command"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["Status"].isNull())
|
|
|
+ allProcessListItemObject.status = dataNodeAllProcessListAllProcessListItem["Status"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["SqlId"].isNull())
|
|
|
+ allProcessListItemObject.sqlId = dataNodeAllProcessListAllProcessListItem["SqlId"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["TraceId"].isNull())
|
|
|
+ allProcessListItemObject.traceId = dataNodeAllProcessListAllProcessListItem["TraceId"].asString();
|
|
|
+ if(!dataNodeAllProcessListAllProcessListItem["PlanId"].isNull())
|
|
|
+ allProcessListItemObject.planId = dataNodeAllProcessListAllProcessListItem["PlanId"].asString();
|
|
|
+ data_.allProcessList.push_back(allProcessListItemObject);
|
|
|
+ }
|
|
|
+ auto sessionStatisticsNode = dataNode["SessionStatistics"];
|
|
|
+ auto allUserStatisticsNode = sessionStatisticsNode["UserStatistics"]["UserStatisticsItem"];
|
|
|
+ for (auto sessionStatisticsNodeUserStatisticsUserStatisticsItem : allUserStatisticsNode)
|
|
|
+ {
|
|
|
+ Data::SessionStatistics::UserStatisticsItem userStatisticsItemObject;
|
|
|
+ if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["MetricValue"].isNull())
|
|
|
+ userStatisticsItemObject.metricValue = sessionStatisticsNodeUserStatisticsUserStatisticsItem["MetricValue"].asString();
|
|
|
+ if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["ActiveCount"].isNull())
|
|
|
+ userStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeUserStatisticsUserStatisticsItem["ActiveCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["TotalCount"].isNull())
|
|
|
+ userStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeUserStatisticsUserStatisticsItem["TotalCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeUserStatisticsUserStatisticsItem["Type"].isNull())
|
|
|
+ userStatisticsItemObject.type = sessionStatisticsNodeUserStatisticsUserStatisticsItem["Type"].asString();
|
|
|
+ data_.sessionStatistics.userStatistics.push_back(userStatisticsItemObject);
|
|
|
+ }
|
|
|
+ auto allSourceStatisticsNode = sessionStatisticsNode["SourceStatistics"]["SourceStatisticsItem"];
|
|
|
+ for (auto sessionStatisticsNodeSourceStatisticsSourceStatisticsItem : allSourceStatisticsNode)
|
|
|
+ {
|
|
|
+ Data::SessionStatistics::SourceStatisticsItem sourceStatisticsItemObject;
|
|
|
+ if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["MetricValue"].isNull())
|
|
|
+ sourceStatisticsItemObject.metricValue = sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["MetricValue"].asString();
|
|
|
+ if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["ActiveCount"].isNull())
|
|
|
+ sourceStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["ActiveCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["TotalCount"].isNull())
|
|
|
+ sourceStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["TotalCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["Type"].isNull())
|
|
|
+ sourceStatisticsItemObject.type = sessionStatisticsNodeSourceStatisticsSourceStatisticsItem["Type"].asString();
|
|
|
+ data_.sessionStatistics.sourceStatistics.push_back(sourceStatisticsItemObject);
|
|
|
+ }
|
|
|
+ auto allDataBaseStatisticsNode = sessionStatisticsNode["DataBaseStatistics"]["DataBaseStatisticsItem"];
|
|
|
+ for (auto sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem : allDataBaseStatisticsNode)
|
|
|
+ {
|
|
|
+ Data::SessionStatistics::DataBaseStatisticsItem dataBaseStatisticsItemObject;
|
|
|
+ if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["MetricValue"].isNull())
|
|
|
+ dataBaseStatisticsItemObject.metricValue = sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["MetricValue"].asString();
|
|
|
+ if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["ActiveCount"].isNull())
|
|
|
+ dataBaseStatisticsItemObject.activeCount = std::stol(sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["ActiveCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["TotalCount"].isNull())
|
|
|
+ dataBaseStatisticsItemObject.totalCount = std::stol(sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["TotalCount"].asString());
|
|
|
+ if(!sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["Type"].isNull())
|
|
|
+ dataBaseStatisticsItemObject.type = sessionStatisticsNodeDataBaseStatisticsDataBaseStatisticsItem["Type"].asString();
|
|
|
+ data_.sessionStatistics.dataBaseStatistics.push_back(dataBaseStatisticsItemObject);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
-std::vector<DescribeProcessStatsCompositionResult::DataItem> DescribeProcessStatsCompositionResult::getData()const
|
|
|
+DescribeProcessStatsCompositionResult::Data DescribeProcessStatsCompositionResult::getData()const
|
|
|
{
|
|
|
return data_;
|
|
|
}
|