This page is a troubleshooting guide for the problem where the count of Complex Objects displayed in the left hand panel does not match with the Population of the complexity distribution metrics.
As seen in the below screenshot the complex objects count is 45.
But in reality there are only 23 objects since the source code is the same.
Release | Yes/No |
---|---|
8.3.x |
RDBMS | Yes/No |
---|---|
CSS |
Action Plan
To troubleshoot this issue, you need the following Relevant input
Perform the below actions:
- Check if the objects are shared between the modules by using the page SQL Queries - CAST Central Base - Queries on Objects - How to check if objects are shared among modules
- If there are no Shared objects then Check if the objects were present in the previous version of snapshot. If the objects were missing in the previous snapshot then it is expected to get this increase in complex object count in current version.
- If you do not expect that the objects should be missing in previous version of snapshot then please refer to user guide CAST Engineering Dashboard - Object - Missing objects
- If there are no objects missing or if you are still facing the issue after applying the Solution then please contact CAST Technical Support with Relevant input
For CAST Technical Support only - Follow the steps under - Run Snapshot Only
Relevant input
- CAST Support Tool (CST) - alias Sherlock with the options Logs and CAST Databases Checked
- Complete Screenshot of the dashboard showing the issue
Check if the objects were present in the previous version of snapshot
Run the below query on Central Database to get list of object that are present in current version of the snapshot but are missing in the previous version
Refer to this page to get the snapshot - SQL Queries - CAST Central Base - Queries on snapshots - How to get the ID and name of a snapshot for a given applicationSELECT o.object_id "Object ID" , o.object_name "Object Name", CASE dmr.metric_num_value WHEN 2 THEN 'HIGH' WHEN 3 THEN 'VERY HIGH' END "Object Cost", dmr.snapshot_id FROM dss_objects o, dss_metric_results dmr WHERE o.object_id = dmr.object_id AND dmr.snapshot_id = <current_snapshot_id> AND dmr.metric_id = 65005 AND dmr.metric_num_value IN(2,3) AND o.object_id NOT IN (SELECT object_id FROM dss_metric_results WHERE snapshot_id = <previous_snapshot_id> AND metric_id = 65005 AND metric_num_value IN(2,3) ) ORDER BY o.object_id
Query example and result interpretation -
SELECT o.object_id "Object ID" , o.object_name "Object Name", CASE dmr.metric_num_value WHEN 2 THEN 'HIGH' WHEN 3 THEN 'VERY HIGH' END "Object Cost", dmr.snapshot_id FROM dss_objects o, dss_metric_results dmr WHERE o.object_id = dmr.object_id AND dmr.snapshot_id = 4 AND dmr.metric_id = 65005 AND dmr.metric_num_value IN(2,3) AND o.object_id NOT IN (SELECT object_id FROM dss_metric_results WHERE snapshot_id = 3 AND metric_id = 65005 AND metric_num_value IN(2,3) ) ORDER BY o.object_id Result - Object ID ; Object Name ; Object Cost ; snapshot_id 1002;AccountAccessorImpl;HIGH;4 1346;processOrient;HIGH;4
If the query returns zero rows that means there is are no missing objects in the previous snapshot.
Ticket # 7076