System Settings

This document shows how to manage and monitor your DeepScan instance in the System Settings page.

When you first sign in with the DeepScan administrator account, you can access the System Settings page from the up-right corner menu bar (user's avatar) > System Settings, or from <your_deepscan_server>/admin.

Note: If you would like to setup a user as a DeepScan administrator, see this configuration guide.

The left sidebar of the System Settings page is made up of the following sections:

Overview View general and statistical information
Users View, search and manage users
Teams View, search and manage teams
Projects View, search and manage projects
Branches View and search branches
Analyses View and search past or current analyses
Monitoring View server information and logs, as well as manage sessions
Settings View configurations

Overview

System Settings: Overview

Overall

You can view your organization's overall information such as the total numbers of Users, Teams, Projects and Lines of Code.

To access to the Users, Teams and Projects, click the panels under Overall or click the menu on the left sidebar.

Statistics

You can view your organization's total numbers of analyses.

Also, you can view the Recently Analyzed Projects and the Largest LoC Projects.

  • To access to the Project page, click the project name in the list
  • To see the detailed analysis time, hover over each date in the list

License

You can view your organization's license information such as the Expiration Date, Users Limit, LoC Limit and License Key.

  • Expiration Date: License expiration date
  • Users Limit: Number of total users who can sign in
  • LoC Limit: LoC is the total number of lines that you can analyze

For more information on the license, see the guide on managing licenses.

Users

To access the Users page, click Users on the left sidebar. By default, all users are listed in descending order of User ID.

  • User information provided: User ID, Git Username, E-mail, Last login date, Date created
  • To delete the user and its teams, click the dots dropdown in that user’s row, and select the Delete User menu
    System Settings: Users
  • To change the sort order, click the up/down triangle in the header of the list
  • To search for DeepScan users, type your criteria in the search field
    • The user search is case insensitive, and applies partial matching to DeepScan user ID, Git username and e-mail
    • You can also filter users by the date when their account was created

To access the User page, click on the row of the user you want to view.

  • The following information is listed in the Details tab: DeepScan user ID, Git username, Git user ID, Status, E-mail, E-mail notifications, Date created, Last updated, User's last login date, Git access token, Default team ID

Also, you can see the full list of all teams of the user in the Teams tab.

Teams

To access the Teams page, click Teams on the left sidebar. By default, all teams are listed in descending order of Team ID.

  • Team information provided: Team ID and name, Admin e-mail, Number of members, Date created
  • To delete the team and its projects, click the dots dropdown in that team’s row, and select the Delete Team menu
  • To change the sort order, click the up/down triangle in the header of the list
  • To search for DeepScan teams, type your criteria in the search field
    • The team search is case insensitive, and applies partial matching to team name and admin e-mail

To access the Team page, click on the row of the team you want to view.

  • The following information is listed in the Details tab: Team ID and name, Admin e-mail, Number of members, Date created
  • You can see the full list of all members belong to the team in the Teams tab
    • Team member information provided: Member ID, User ID, Git username, Role (Owner/Member), Invited e-mail, Status (Accepted/Invited/Declined), Time invited or accepted
    • For more information on the members, see Managing team members

Also, you can see the full list of all project of the team in the Projects tab. For more information on the team, see Teams.

Projects

To access the Team page, click on the row of the team you want to view. By default, all projects are listed in descending order of Project ID.

  • Project information provided: Project ID and name, Team ID and name, Type, Visibility (Private/Public), Status
  • To delete the project and its branches, click the dots dropdown in that project’s row, and select the Delete Project menu
  • To change the sort order, click the up/down triangle in the header of the list
  • To search for DeepScan projects, type your criteria in the search field
    • The project search is case insensitive, and applies partial matching to project name
    • You can also filter projects by the team to which the project belongs

To access the Project page, click on the row of the Project you want to view.

  • The following information is listed in the Details tab:
    • Project ID and name
    • Type
    • Visibility: Either 'Private' or 'Public'
    • Status: Either 'Active' or 'Inactive'
    • Git project URL
    • Team to which the project belongs
    • Git Webhook information (GitLab, GitHub)

Also, you can see the full list of all branches of the project in the Branch List tab.

For more information on projects, see Project.

Branches

To access the Branches page, click Branches on the left sidebar. By default, all branches are listed in descending order of Branch ID.

  • Branch information provided: Branch ID and name, Project ID and name, Merge request
  • To change the sort order, click the up/down triangle in the s of the list
  • To search for branches, type your criteria in the search field
    • To search for an branch, you should provide the branch ID
    • You can also filter branches by the project to which the branches belongs
      System Settings: Branches

To access the Branch page, click on the row of the branch you want to view.

  • The following information is listed in the Details tab:
    • Branch ID and name
    • Merge request: Whether or not the branch is for a merge request
    • Team to which the branch belongs
    • Project to which the branch belongs

Also, you can see the full list of all analyses of the branch in the Analysis List tab.

Analyses

To access the Analyses page, click Analyses on the left sidebar. By default, all analyses are listed in descending order of Analysis ID.

  • Analysis information provided: Analysis ID, Project ID, Branch ID, Status, Grade, End Time, Issues, Type, SHA
  • To change the sort order, click the up/down triangle in the header of the list
  • To search for analyses, type your criteria in the search field
    • To search for an analysis, you should provide the Analysis ID, Status and Grade
    • You can also filter analyses by the project and the branch to which the analyses belongs

To access the Analysis page, click on the row of the analysis you want to view.

  • The following information is listed:
    • Analysis ID
    • Status: Either 'Pending', 'Analyzing', 'Success', 'Fail' or 'Stop'
    • Grade: Either 'Good', 'Normal', 'Poor' or 'None'
    • Type: Either 'User', 'Push' or 'MergeReqeust'
    • Time when the analysis started
    • Time when the analysis ended
    • Issue counts
    • Git SHA
    • Commit information

Monitoring

To monitor the server, logs and sessions, click Monitoring on the left sidebar.

You can access Server Info, Sessions, Metrics and Logs from the Monitoring submenu.

Server Info

To view the server information, click Monitoring > Server Info on the left sidebar.

You can view the following information about the current server process:

  • pid: The PID of the process
  • arch: The operating system CPU architecture
  • platform: The operating system platform of the process
  • execPath: The absolute pathname of the executable that started the process
  • memoryUsage
    • rss (Resident Set Size): The total memory allocated for the process execution
    • heapTotal: The total size of the allocated heap
    • heapUsed: The actual heap used during the execution of the process
    • external: The memory usage of C++ objects bound to JavaScript objects managed by V8

Sessions

To access the Sessions page, click Monitoring > Sessions on the left sidebar.

  • Session information provided: Session ID, E-mail, Git username, Expiration time
  • To search for a session, type your desired criteria in the search field
  • To destroy the session, click the dots dropdown in that session’s row, and select the Destroy menu

To access the Session page, click on the row of the session you want to view.

  • The following information is listed:
    • Session ID
    • Cookie expires at: The time when the session cookie will be deleted
    • Cookie max age: The max age for the cookie, relative to the current time (expressed in milliseconds)
    • HttpOnly cookie: Whether or not the HttpOnly attribute is set to the cookie
    • Cookie path

Metrics

To monitor DeepScan's internal metrics, click Monitoring > Metrics on the left sidebar. To access the metrics at the /api/metrics endpoint, you should set your IP address in the monitoringIpWhitelist in the configuration.

For more information on the metrics, see the guide on Metrics API.

Logs

To view the tail logs of 20 lines from the server, click Monitoring > Logs on the left sidebar.

If something went wrong and the administrator does not have direct access to the log files, these logs can be useful. For more details about these logs, see How to find and read the system log files.

To reconfigure logging levels or formats, see Configuring the log settings.

Settings

To view the details of all server configurations, click Settings on the left sidebar.

System Settings: Settings

You can review the configurations categorized by Basic, Server, DB, SSL, Authentication, E-mail, Analysis & Rate Limit, Log and Misc.

For each configuration, the page displays their property name, read-only value, default value and description. To avoid disclosures, sensitive values such as passwords are hidden.