SourceMonitor Importer
Category: Importer (takes in a CSV file generated by SourceMonitor and outputs cc.json)
Generates visualisation data from SourceMonitor through its CSV export functionality.
Supported Languages
- C
- C++
- C#
- Delphi
- HTML
- Java
- VB.NET
- Visual Basic (VB6)
Supported Metrics
Metric | Description |
---|---|
loc |
Total count of lines in the source code, including lines with whitespace, comments, and actual code. |
rloc |
Count of lines that contain actual code, excluding lines that are only whitespace, comments, or tabulations. |
classes |
The total number of distinct classes defined within the source code. |
functions_per_class |
Average number of functions (or methods) defined within each class. |
average_statements_per_function |
The mean number of statements within each function across the entire codebase. |
max_function_mcc |
The highest McCabe’s cyclomatic complexity found in any single function. |
max_block_depth |
The greatest level of nesting of control structures (like loops or conditionals) within any part of the code. |
average_block_depth |
The average depth of nested control structures across the entire codebase. |
average_function_mcc |
The mean McCabe’s cyclomatic complexity across all functions. |
sm_percent_branch_statements |
The percentage of all statements that are branch statements (e.g., if, else, switch, case). |
sm_method_call_statements |
The count of statements in the code that are method or function calls. |
sm_percent_lines_with_comments |
The percentage of the total lines of code that contain comments. |
Usage and Parameters
Parameters | description |
---|---|
FILE |
sourcemonitor csv files |
-h, --help |
displays help |
-o, --outputFile=<outputFile> |
output File (or empty for stdout) |
-nc, --not-compressed |
uncompresses outputfile to json format, if format of File is gzip |
Usage: ccsh sourcemonitorimport [-h] [-nc] [-o=<outputFile>] FILE...
CSV Import for SourceMonitor
If you have analyzed your projectBuilder with SourceMonitor and exported the metric data (for classes only) to a csv-file, you may call the command
ccsh sourcemonitorimport [-nc] [-o=<outputFile>] FILE
If the output file is omitted it prints the visualisation data to stdout. Otherwise, it will export to a .gz file.
Note that the output file should end with .cc.json
Currently, SourceMonitorImporter does not support metrics for methods in csv files from SourceMonitor.
Wrapper Script sourcemonImport.bat
If SourceMonitor v3.5 is installed in ‘C:\Program Files (x86)\SourceMonitor’ you may use the wrapper script sourcemonImport.bat to generate and import metrics from SourceMonitor in one step:
sourcemonImport.bat <projectBuilder name> <source code path> <language>
If SourceMonitor is installed in a different directory the script must be changed accordingly.
General CSV Import
You may use the CSVImporter to import general CSV files.
Example
An explicit example with the Open Office Code, can be found here