Project repositories are the primary source of data for LGTM Enterprise. The detailed information generated by analyzing each repository is shown on the project page.
The project page has a number of tabs, just under the name of the project.
Click the tabs to find out more about the project:
- Overview—Get a quick view of the current status of the project
- Alerts—Review the alerts found in the latest revision
- Files—Find alerts for specific files and directories in your project
- Contributors—See who the main contributors are
- Dependencies—Display details of dependencies from this project on external software
- Compare—Compare this project with similar projects
- Integrations—On this tab, you can:
- Configure automated code review of pull requests (repository owners/admins). For a list of repository host systems for which you can set up automated code review, see About LGTM.
- Download an LGTM plugin for IDE integration to display alerts in your IDE.
- Download QL snapshots so you can write and run queries in your IDE. For further information, see Running queries in your IDE. You'll also need to install one of our QL editor plugins (QL for Eclipse or QL for Visual Studio). For more information, see the help for QL for Eclipse or for QL for Visual Studio.
- Queries—On this tab, you can:
- View a list of queries available for the selected project (this includes the built-in queries, the installation-wide queries and the per-project custom queries), and identify whether their results are currently displayed or hidden on LGTM.
- Show whether a query pack upload (per-project custom queries only) has failed or succeeded. If the upload has failed, you can see detailed information in the logs.
You can also add the project to your project list (click + Follow) and run custom queries on the latest revision (click Query this project).
By default, when you initially view a project that has historical data, the Overview tab is displayed. If no historical data is available for the project, the tab displayed by default is the Alerts tab.
You can see the current status of a project, how it's changed over time, and which commits made the biggest difference
On this page, from top to bottom, you see:
- Project controls—use these to choose a different data view, follow the project, or query the project
- History chart—initially this shows all revisions analyzed:
- Curves showing changes in the overall size (purple) and quality (red) of the codebase—high numbers of alerts indicate lower quality
- Positive and negative bars showing the lines added and deleted
- Summary—shows the current status of the project or the changes over the period selected in the history chart
- Commit list—shows the commits shown in the chart, most recently analyzed first
Use these areas to find out more about different aspects of the project. Use the Language drop-down list to:
- Filter the page to show data for only one language, if more than one language is analyzed.
- Try analysis of a language that hasn't been attempted yet. For more information, see Adding a language to a project.
The chart combines a line chart and a bar chart. The line chart shows alerts (the red curve) and lines of code or comments (the purple curve). The bars of the bar chart show the number of lines of code added during a period of time. Lines added are shown as light gray bars above the x axis, and lines deleted as darker gray bars below the x axis.
Hover over the chart to show details of the alerts and lines of code change for the commit represented by that point on the chart.
Click and drag to zoom in on an area of the chart.
The curves on the chart always use a data point for every commit. In the bar chart, commits are aggregated across one or more days so that 40–50 bars are displayed—select a month of data to display one bar per day.
The summary data displayed reflects the period displayed in the history chart.
When the full history chart is displayed, the summary shows the number of active alerts and lines of code in analyzed files for the latest revision. The number of contributors identified over the whole history analyzed is also shown.
When you zoom in to a section of the history chart, the summary shows the number of commits made over that period, with the impact on alerts in the code and size of the analyzed files. Notice that the size is reported as "lines." This measures changes in the number of lines of comment as well as code, excluding white space changes.
In the example above, the 36 commits made in October 2016 added 1,300 new lines of code/comment, and deleted 160 lines of code/comment, resulting in 12 new alerts and 0 fixed alerts.
The commit list shows the commits made in the period shown in the history chart, most recent first. It always displays the last 10 commits, or the ones made in the last 24 hours. Commits without alert changes are hidden by default.
Zoom in to the chart to focus on a particular period or commit. For example, to find the commit behind a big change in code size, or alerts, zoom in to the history chart until only a few days/commits are displayed.
Analysis status is shown by a green dot (successfully analyzed) or red dot (analysis of one or more languages failed).
Hover over the changed Lines to show the split between added and deleted lines of code.
Click the hidden commits text to show commits with no changes to analyze. Typically these commits involve changes to code written in a language that is not analyzed, or files that are, by default, not displayed (for example, generated files).
For detailed information on any commit :
- Click Commit message to show the commit page. This includes a link to that commit in the repository, full details of any new or fixed alerts, and details of any excluded files.
- Click the Green/red analysis status dot ( in the screenshot above) to open the log viewer. This includes the full build, import, and analysis logs for the commit and its parent commits (hovering over a dot with your mouse displays a tooltip with more information).
Log files are deleted regularly to save storage space, therefore old files may no longer be available.