PERF Administration

Table of contents

Overview

PERF administration is the area of the application where you can monitor all projects in the system, view all configured data sources (and their statuses), manage permissions for other users, monitor visitors of the application. Entry point into this section in the application is the "PERF Administration" item in top right navigation menu.

Data load statuses and history

This section shows a history of data loads and status of each data load for each project in the application. It is grouped by types of data sources - to simplify the navigation. All supported data sources are listed here - Jira, Sonar, Git, Jenkins, and so on. Data source of every type is represented in a separate grid, with paging and sorting for easier navigation.

Not only Admins can view this section - but also all staff associated with appropriate projects.

PERF displays following attributes in each grid:

  • Project name / sub-project name

  • Last update - a timestamp per UTC of last data import

  • Action icon to launch a data load for a specific data source per a specific project (NOTE: only if permissions allow)

  • A status of last execution - can be "ok", "error" or "in progress"

  • Update time - in seconds, a duration of last data load

  • Result - a textual summary of data entries loaded within last launch

  • Source - a url to an instance of a tool from where data had been loaded.

Start Data load

User can start data load for a project from the Administration page.

  1. Open Perf Administration page, Projects tab

  2. Clicks on icon in the “Data load” column

  3. Select option:

Option

Description

Option

Description

Incremental update only this data source subject

the latest data (after previous data load) is loaded for the selected data source subject (for example, repository in GIT) of the particular project

Incremental update only this data source (all subjects)

the latest data is loaded for the selected data source of the particular project

Incremental update for all data source within this project

the latest data is loaded for the all configured data sources of this particular project.

Full update only this data source subject

all the data is loaded from scratch for the selected data source subject (for example, repository in GIT) of the particular project

Full update only this data source (all subjects)

all the data is loaded from scratch for the selected data source of the particular project

Full update for all data sources within this project

all the data is loaded from scratch for the all configured data sources og this particular project.

Users and permissions

This view is available only for users with Administrator permissions.

Every entry is the combination of the following attributes:

  • User name (e-mail)

  • An indication if a user is Admin

  • Project name (for non-admin users)

  • Role (e.g. Project member, Manager or Guest) which determines the level of access to a specified project

  • (Optional) Restrictions to specific Node(s) within a project hierarchy tree.

So, the above is a combination of Authentication (credentials to login to the system) and Authorization (permissions to specific projects) in each entry of a table.

Administrator is able to set (or re-set) a user's password by click on a arrow icon next to his name. 

Reset of permissions is the ONLY place in the application when Administrator can view a user's password upon its creation or reset. So, it's Administrator's responsibility to communicate passwords to users. If a password is lost or not communicated timely - the only way to restore it is to ask Administrator to reset a new password. 

If a user is checked as "Administrator", then a selection of project name and permissions level is not needed and thus hidden.

An action button "Add user and permission" creates a new entry where information about a new user and their permissions should be entered.

Permissions may be granted to access only specific nodes. Click the "Restrictions" button to select nodes that must be available for the user:

User can be added to several projects with different or same roles. The user will be able to access any of the projects with the latest given password: i.e. a password doesn't depend on a project. The last generated password will be valid for the user no matter how many projects that user has access to (even if a user was granted an access to multiple projects i.e. there multiple permission entries in the list).

Administrator can remove a user/permission by click on a trash bin icon next to their name.  Last deleted entry mentioning a user - means an access removal for that user to the application at all.


General settings

Application properties

In this section you can configure general properties of the whole application. PERF will save global parameters in the database, and will be able to use them instead of parameters from config files. PERF will also preserve these values between application upgrades.



Description of parameters:

  • License key - mandatory - license key for this instance of PERF.

  • Support Email - mandatory - email used to contact a support team for asking a technical team in case of issues with this instance of PERF.

  • Logo URL - optional - path to a customer logo.

  • Logo background - optional - a hexadecimal color specified with: #RRGGBB.

  • Training webinar URL - optional - link to training for PERF usage. If it's given a banner is shown encouraging to join training:

  • Checkbox "Allow Google Analytics" - optional - when checked you allow to get some information about using PERF.

  • Checkbox "Enable data load on schedule" - optional- by default it is checked. Data load starts at the time specified in Project Settings→Advanced Settings→Data load initiation (UTC hours).

  • Checkbox "Only Admin creates projects" - optional - by default it is unchecked. If checked, only users with Admin role can create a new project.

LDAP configuration

Description of parameters:

  • LDAP URL - optional - a host (and optionally a port) of a LDAP directory, e.g. ldap://mycompany.com:3268.

  • Manager Dn - optional - username (DN) of the "manager" user identity (i.e. 'uid=admin,ou=system') which will be used to authenticate to a (non-embedded) LDAP server. If omitted, anonymous access will be used. 

  • Manager password - optional - the password for the manager DN. This is required if the Manager DN is specified.

  • User Dn Pattern - optional - used for bind authentication, e.g. uid={0},ou=people. Works well for cases when all users are stored under a single node in the directory.

  • User search base - optional - used for a bind authentication, e.g. ou=people, to search under a specific DN.

  • User search filter - optional - used for a bind authentication, e.g. (uid={0}), to filter search results under a specific DN.

  • Group search base - optional - used for loading authorities, e.g. ou=groups. It defines a part of the directory tree to perform a group search.

  • Group search filter - optional - used for loading authorities. This filter is used to search for a group membership. The default item is uniqueMember={0}, corresponding to a groupOfUniqueNames LDAP class.

Default credentials

Additional section is available to configure default credentials for PERF Data Sources. This is helpful when some "Technical" user should be used, e.g. for a JIRA instance, for all projects within the organization, so that all further projects in PERF about it would not require login/password to be provided. PERF Administrators can manage the catalog of default credentials.

Application visitors

Application visitors information helps assess which projects are being visited and how frequently, including individual e-mails of users being recorded into PERF internal database (and not shared anywhere else).

Visits analysis is analyzed in two perspectives:

  • per project

  • per user

You can select that via the drop-down Show statistics per: Project or Visitor (User).

Visits per project

This view displays all projects available in the system, with ability to filter them by state in Perf (Active, or Inactive, or All). 

Information provided in this grid:

  • Project name (or key).

  • Action icon to launch all associated data loads for this project, for example if there are multiple data sources configured for it.

  • E-mails of contact persons who are responsible for appropriate project.

  • Date of setup - a creation date of that project in Perf application.

  • Last visit and last visitor - who and when accessed this project in Perf application.

  • Monthly views - a total amount of user visits into this project during last month (-30 days from a current date).

Visits per user

This view displays all users who had ever visited the application.

  • Name - a user's e-mail.

  • Last visit - a timestamp (in UTC) of a last view of a project.

  • Total visits - a total count of application visits by that user.

  • Projects - a comma-separated list of projects which a user had ever accessed.

Git data sources load by clone

From 2.1.25 version added new mechanism of GIT datasource loading - by "clone" command. 

To import GIT data source, PERF historically relies on service APIs. Unfortunately, it is very common for source controls services to protect their API endpoints with rate limiters. When git service account hits the limit it must wait for next quota window, rendering a dataloader thread idle, unable to process other requests. That means a single data source with multiple branches and strict API rate limit (e.g. BitBucket, 1000 rq/hr) can keep data loader busy/blocked for many hours. To mitigate this problem PERF engineers introduced an alternative integration mechanism – download the entire repo and analyze it locally. 

This mechanism (if enabled) may work in two different ways:

  1. Loading repositories into memory. 



  2. Loading and storing repositories to HDD (it's a little slower, however more reliable and cheaper solution comparing to in-memory storage).

Otherwise, if git clone option is disabled, git API data load will be started.

To configure git clone feature in PERF application admin users need to proceed to Global Settings UI:

There are several ways to enable and configure the feature:

  1. To apply git cloning exclusively to specific data sources just type their id`s (comma separated) into whitelist field. Use '*' for enabling feature for all data sources across the application.

  2. If you want to exclude some data sources, type theirs id`s into blacklist (some of data sources may contain 100k+ commits and repositories and size of repo may be too large).

Related pages