Metrics
| Metric | Value |
|---|---|
| TOTAL_NUMBER_OF_FILES | 72 |
| NUMBER_OF_FILES_MAIN | 20 |
| LINES_OF_CODE_MAIN | 2,058 |
| NUMBER_OF_FILES_MAIN_EXT_JS | 7 |
| LINES_OF_CODE_MAIN_EXT_JS | 1,014 |
| NUMBER_OF_FILES_MAIN_EXT_SCSS | 10 |
| LINES_OF_CODE_MAIN_EXT_SCSS | 848 |
| NUMBER_OF_FILES_MAIN_EXT_HTML | 2 |
| LINES_OF_CODE_MAIN_EXT_HTML | 166 |
| NUMBER_OF_FILES_MAIN_EXT_SASS | 1 |
| LINES_OF_CODE_MAIN_EXT_SASS | 30 |
| NUMBER_OF_FILES_TEST | 0 |
| LINES_OF_CODE_TEST | 0 |
| TEST_VS_MAIN_LINES_OF_CODE_PERCENTAGE | 0 |
| NUMBER_OF_FILES_GENERATED | 0 |
| LINES_OF_CODE_GENERATED | 0 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT | 2 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT | 32 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT_EXT_BABELRC | 1 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT_EXT_BABELRC | 26 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT_EXT_GITIGNORE | 1 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT_EXT_GITIGNORE | 6 |
| NUMBER_OF_FILES_OTHER | 5 |
| LINES_OF_CODE_OTHER | 9,985 |
| NUMBER_OF_FILES_OTHER_EXT_SVG | 1 |
| LINES_OF_CODE_OTHER_EXT_SVG | 9,762 |
| NUMBER_OF_FILES_OTHER_EXT_JSON | 3 |
| LINES_OF_CODE_OTHER_EXT_JSON | 150 |
| NUMBER_OF_FILES_OTHER_EXT_MD | 1 |
| LINES_OF_CODE_OTHER_EXT_MD | 73 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_HARNESS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_HARNESS | 102 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_HARNESS_EXT_HTML | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_HARNESS_EXT_HTML | 102 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT | 267 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT_EXT_JS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT_EXT_JS | 267 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC | 18 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC | 1,689 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_SCSS | 10 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_SCSS | 848 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_JS | 6 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_JS | 747 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_HTML | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_HTML | 64 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_SASS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_SASS | 30 |
| NUMBER_OF_DEPENDENCY_LINKS_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_DEPENDENCIES_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_PLACES_WITH_CYCLIC_DEPENDENCIES_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_FILES_CONCERN_GENERAL_TODOS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_TODOS | 267 |
| NUMBER_OF_FILES_CONCERN_GENERAL_TODOS_EXT_JS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_TODOS_EXT_JS | 267 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED | 19 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED | 1,791 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_SCSS | 10 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_SCSS | 848 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_JS | 6 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_JS | 747 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_HTML | 2 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_HTML | 166 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_SASS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_SASS | 30 |
| NEGLIGIBLE_RISK_FILE_SIZE_COUNT | 12 |
| LOW_RISK_FILE_SIZE_COUNT | 4 |
| MEDIUM_RISK_FILE_SIZE_COUNT | 4 |
| HIGH_RISK_FILE_SIZE_COUNT | 0 |
| VERY_HIGH_RISK_FILE_SIZE_COUNT | 0 |
| NEGLIGIBLE_RISK_FILE_SIZE_LOC | 288 |
| LOW_RISK_FILE_SIZE_LOC | 422 |
| MEDIUM_RISK_FILE_SIZE_LOC | 1,348 |
| HIGH_RISK_FILE_SIZE_LOC | 0 |
| VERY_HIGH_RISK_FILE_SIZE_LOC | 0 |
| NUMBER_OF_UNITS | 46 |
| LINES_OF_CODE_IN_UNITS | 471 |
| LINES_OF_CODE_OUTSIDE_UNITS | 1,587 |
| UNIT_SIZE_NEGLIGIBLE_RISK_LOC | 174 |
| UNIT_SIZE_NEGLIGIBLE_RISK_PERCENTAGE | 36.94 |
| UNIT_SIZE_NEGLIGIBLE_RISK_COUNT | 32 |
| UNIT_SIZE_LOW_RISK_LOC | 104 |
| UNIT_SIZE_LOW_RISK_PERCENTAGE | 22.08 |
| UNIT_SIZE_LOW_RISK_COUNT | 7 |
| UNIT_SIZE_MEDIUM_RISK_LOC | 193 |
| UNIT_SIZE_MEDIUM_RISK_PERCENTAGE | 40.98 |
| UNIT_SIZE_MEDIUM_RISK_COUNT | 7 |
| UNIT_SIZE_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_LOC | 25 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_PERCENTAGE | 35.71 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_COUNT | 4 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_LOC | 13 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_PERCENTAGE | 18.57 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_LOC | 32 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_PERCENTAGE | 45.71 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC | 149 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE | 37.16 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT | 28 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_LOC | 91 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_PERCENTAGE | 22.69 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_COUNT | 6 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_LOC | 161 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE | 40.15 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_COUNT | 6 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_LOC | 174 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_PERCENTAGE | 36.94 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_COUNT | 32 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_LOC | 104 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_PERCENTAGE | 22.08 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_COUNT | 7 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_LOC | 193 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_PERCENTAGE | 40.98 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_COUNT | 7 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_LOC | 368 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_PERCENTAGE | 78.13 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_COUNT | 40 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_LOC | 77 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_PERCENTAGE | 16.35 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_COUNT | 5 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_LOC | 26 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_PERCENTAGE | 5.52 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_LOC | 70 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_PERCENTAGE | 100 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_COUNT | 6 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC | 298 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE | 74.31 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT | 34 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_LOC | 77 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_PERCENTAGE | 19.2 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_COUNT | 5 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_LOC | 26 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE | 6.48 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_LOC | 368 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_PERCENTAGE | 78.13 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_COUNT | 40 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_LOC | 77 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_PERCENTAGE | 16.35 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_COUNT | 5 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_LOC | 26 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_PERCENTAGE | 5.52 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_COUNT | 0 |
| NEGLIGIBLE_RISK_FILE_COMPLEXITY_COUNT | 4 |
| NEGLIGIBLE_RISK_FILE_COMPLEXITY_LOC | 571 |
| LOW_RISK_FILE_COMPLEXITY_COUNT | 0 |
| LOW_RISK_FILE_COMPLEXITY_LOC | 0 |
| MEDIUM_RISK_FILE_COMPLEXITY_COUNT | 1 |
| MEDIUM_RISK_FILE_COMPLEXITY_LOC | 373 |
| HIGH_RISK_FILE_COMPLEXITY_COUNT | 0 |
| HIGH_RISK_FILE_COMPLEXITY_LOC | 0 |
| VERY_HIGH_RISK_FILE_COMPLEXITY_COUNT | 0 |
| VERY_HIGH_RISK_FILE_COMPLEXITY_LOC | 0 |
| FILE_CHANGE_HISTORY_TOTAL_AGE_DAYS | 3,140 |
| FILE_CHANGE_HISTORY_ACTIVE_DAYS | 19 |
| FILE_CHANGE_HISTORY_WEEKS | 4 |
| FILE_CHANGE_HISTORY_ESTIMATED_WORKING_DAYS | 20 |
| FILE_AGE_NEGLIGIBLE_RISK_COUNT | 0 |
| FILE_AGE_LOW_RISK_COUNT | 0 |
| FILE_AGE_MEDIUM_RISK_COUNT | 0 |
| FILE_AGE_HIGH_RISK_COUNT | 0 |
| FILE_AGE_VERY_HIGH_RISK_COUNT | 13 |
| FILE_AGE_NEGLIGIBLE_RISK_LOC | 0 |
| FILE_AGE_LOW_RISK_LOC | 0 |
| FILE_AGE_MEDIUM_RISK_LOC | 0 |
| FILE_AGE_HIGH_RISK_LOC | 0 |
| FILE_AGE_VERY_HIGH_RISK_LOC | 1,633 |
| NUMBER_OF_CONTRIBUTORS | 3 |
| DUPLICATION_NUMBER_OF_DUPLICATES | 5 |
| DUPLICATION_NUMBER_OF_FILES_WITH_DUPLICATES | 3 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES | 72 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES | 1,916 |
| DUPLICATION_PERCENTAGE | 3.76 |
| UNIT_DUPLICATES_COUNT | 0 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_SRC | 40 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_SRC | 1,601 |
| DUPLICATION_PERCENTAGE_PRIMARY_SRC | 2.5 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_ROOT | 32 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_ROOT | 227 |
| DUPLICATION_PERCENTAGE_PRIMARY_ROOT | 14.1 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_HARNESS | 0 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_HARNESS | 88 |
| DUPLICATION_PERCENTAGE_PRIMARY_HARNESS | 0 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_SCSS | 40 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_SCSS | 848 |
| DUPLICATION_PERCENTAGE_SCSS | 4.72 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_JS | 32 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_JS | 894 |
| DUPLICATION_PERCENTAGE_JS | 3.58 |
| MAINTAINABILITY_SCORE_HUMAN | 6.4 |
| MAINTAINABILITY_SCORE_AI | 5.7 |
| TOTAL_ANALYSIS_TIME_IN_MILLIS | 63 |
About This Analysis
- Metrics are all numeric values measured by Sokrates.
- You can use these metrics to define goals and controls.