CAST Engineering Dashboard - Graphs - The graph Mapping of Technical Quality x Number of lines of code x Number of artifacts is missing

Problem Description

The graph "Mapping of 'Technical Quality'x'Number of lines of code'x'Number of artifacts'" is missing under Contained Module and/or Contained Module section(s)

In the following screenshot, the graph "Mapping of 'Technical Quality'x'Number of lines of code'x'Number of artifacts'" is missing under the both sections Contained Module and Contained Module

Applicable in CAST Version
Release
Yes/No
8.3.x(tick)
Action Plan

The graph is missing under under Contained Module only

In this case, the graph is missing because the technical quantity index rule (TQI) has not been computed for one or many modules of the application. So the graph will be not displayed because some data are missing.

In CAST 7.0.3, the graph will be displayed even the  TQI has not been computed for one or many modules of the application

Usually, the technical quantity index rule (TQI) is not computed at module level when the module is empty.  The module will not be displayed in the list of contained modules

How to identify the missing module(s)

  1. In the URL of the application details page containing the issue (the missing graph), get the application ID represented by object=
    Example:

    http://<HOST:PORT>/CASTAD/?frame=FRAME_PORTAL_TOP_LEVEL_DETAILS&object=4&snapshot=33
  2. Run following query on central base to get list of modules of the application with associated TQI: The module having TQI =null is the missing one.

    select T.NEXT_OBJECT_ID, (select X.METRIC_NUM_VALUE from DSS_METRIC_RESULTS X
    where X.SNAPSHOT_ID = 33
    and X.METRIC_ID = 60017
    and X.METRIC_VALUE_INDEX = 0
    and X.OBJECT_ID = T.NEXT_OBJECT_ID ),
    (select Y.METRIC_NUM_VALUE from DSS_METRIC_RESULTS Y where Y.SNAPSHOT_ID = 1 and Y.METRIC_ID = 10151 and Y.METRIC_VALUE_INDEX = 1 and Y.OBJECT_ID = T.NEXT_OBJECT_ID),
    (select Z.METRIC_NUM_VALUE from DSS_METRIC_RESULTS Z where Z.SNAPSHOT_ID = 1 and Z.METRIC_ID = 10152 and Z.METRIC_VALUE_INDEX = 1 and Z.OBJECT_ID = T.NEXT_OBJECT_ID )
    from (select NEXT_OBJECT_ID from DSS_LINKS
    where PREVIOUS_OBJECT_ID IN (4) and LINK_TYPE_ID = 1) T order by 2

    Example of quey result

    5

    2.41064786105145

    8786

    93

    6

    2.57223075225924

    2560

    29

    8

    2.59672096625511

    841

    841

    7

    null



    In this case, the graph is not missing because the TQI for the module=7 has not been computed.
    Additional check:
    Compare the list of modules belonging to the application in the quick access page with list of modules listed in the 'contained modules' section of application detail page: you will state that at leat one module is missing 'contained modules' section.

Why the module is missing

  1. Please refer to the page CAST Engineering Dashboard - Missing data - Missing Modules to continue investigating issue

The graph is missing under Contained technology section only

The graph is missing because the Technical quality Index for one or some technology of the application is =0. So this technology is not displayed in the list of contained technologies section and the graph is not displayed also.

In CAST 7.0.3, the graph will be displayed even the TQI for one or some technology of the application is =0.

Usually the TQI at technology level = O because of the usage of one metric as module weight aggregation.

How to get all contained technologies and their TQI

# In the URL of the application details page containing the issue (the missing graph), get the application ID represented by object and snapshot id
Example

http://<HOST:PORT>/CASTAD/?frame=FRAME_PORTAL_TOP_LEVEL_DETAILS&object=4&snapshot=33

In this case the application ID=4
# Get list of technologies belonging to the application by executing this query on central schema
For 6.3 and lower
Using the application ID, run

select * from DSS_OBJECTS where OBJECT_ID in (SELECT l.NEXT_OBJECT_ID FROM DSS_LINKS l
WHERE l.PREVIOUS_OBJECT_ID =<APPLICATION_ID> AND l.LINK_TYPE_ID = 2

For 6.4 and higher

select * from DSS_OBJECTS
where OBJECT_ID in (SELECT l.NEXT_OBJECT_ID FROM DSS_LINK_INFO l WHERE l.PREVIOUS_OBJECT_ID =<APPLICATION_ID> AND l.LINK_TYPE_ID = 2 and l.SNAPSHOT_ID=<SNAPSHOT_ID>)

# Get TQI per technology by executing this query on central schema

select * from DSS_METRIC_RESULTS w
here OBJECT_ID in (SELECT l.NEXT_OBJECT_ID FROM DSS_LINK_INFO l WHERE l.PREVIOUS_OBJECT_ID =<APPLICATION_ID> AND l.LINK_TYPE_ID = 2 and l.SNAPSHOT_ID=<SNAPSHOT_ID>) and METRIC_ID in (60017) and SNAPSHOT_ID = <SNAPSHOT_ID> and METRIC_VALUE_INDEX=0

Each technology with TQI=0 should not be displayed in the contained technologies

Why the TQI= 0 at the technology level

Usually the issue is related to usage of one metric as module weight aggregation
Please refer to this page to identify the used metric as module weight aggregation
The used metric metric as module weight aggregation should be equal to 0 the missing technology*
Example : if the metric *“Number of SQL artifacts” is used as metric for module weight aggregation.
It’s obvious that for the technologies JAVA and JSP, “Number of SQL artifacts” = 0{*}.  So the resulting aggregated grades are also equal to 0.
In this case, the grades are not displayed in the dashboard
For the application and the Oracle server technology, the number of SQL artifacts is not 0. So, the grades at application and Oracle server technology are not =0 and they can be displayed in the dashboard.

Solution

  1. Deactivate the used metric for modules weight aggregation “Number of SQL artifacts” or to choose another
    If need to choose another one, please ensure that this metric cannot be equal to 0 at modules level and technologies level. You can choose for example “Number of artifacts”.
    1. To deactivate of modify the metric for modules weight aggregation:
      The dialog box can be accessed using theToolsmenu of AdgAdmin >Define Module Aggregation Weight Metricoption
  2. Re-consolidate snapshot.
Notes / Comments


Related Pages