Monitor Polyspace Access Performance
You can query Polyspace® Access™ for various metrics related to user activity, background processes, and database usage. You can use these metrics to monitor the health of the Polyspace Access server, identify trends and potential issues, and optimize server performance and reliability.
To query Polyspace
Access for the server metrics, use the polyspace/api/monitoring endpoint. For example, if the Polyspace
Access instance runs on a machine with hostname access-example-server on port 9443, use this URL:
http(s)://access-example-server:9443/polyspace/api/monitoring
Server Metrics Format and Description
When you query Polyspace Access for server metrics, the server returns data in a human-readable Prometheus text-based format that you can easily integrate with a server performance monitoring platform. For more on the text-based Prometheus format, see Text-based format.
Sample Polyspace
Access Server Response
This table describes the metrics that Polyspace Access returns.
| Metric | Description |
|---|---|
psaccess_db_size_bytes | Size numBytes of the Polyspace
Access database in bytes. |
| Number of projects numProjects currently stored in Polyspace
Access. If active="false" the number represents projects that are waiting for deletion in the ProjectsWaitingForDeletion folder. Projects in this folder are visible only to Polyspace Access administrators. |
| Number of runs numRuns currently stored in Polyspace
Access. If active="false" the number represents runs that are waiting for deletion in the ProjectsWaitingForDeletion folder. Runs in this folder are visible only to Polyspace
Access administrators. |
psaccess_users_connected_total | Number of users Polyspace counts only unique username logins. If the same user is logged in from two different devices or web browsers, it counts as one user login. |
psaccess_jobs_queued_total{type="upload | review_transfer | download | project_deletion"} | Number of jobs
|
psaccess_jobs_processing_total{type="upload | review_transfer | download | project_deletion"} | Number of jobs numJobs that Polyspace
Access is currently processing. See the description of psaccess_jobs_queued_total for an explanation of the job type. |
psaccess_jobs_completed_total{type="upload | review_transfer | download | project_deletion"} | Number of jobs numJobs that Polyspace
Access processed successfully. See the description of psaccess_jobs_queued_total for an explanation of the job type. |
psaccess_jobs_failed_total{type="upload | review_transfer | download | project_deletion"} | Number of jobs numJobs that failed to complete. See the description of psaccess_jobs_queued_total for an explanation of the job type. |
psaccess_jobs_queued_delay_seconds{type="upload | review_transfer | download | project_deletion"} | Age queueAge in seconds of the oldest job in the queue. See the description of psaccess_jobs_queued_total for an explanation of the job type. |
psaccess_jobs_processing_delay_seconds{type="upload | review_transfer | download | project_deletion"} | Age jobAge in seconds of the oldest job that Polyspace
Access is currently processing. See the description of psaccess_jobs_queued_total for an explanation of the job type. |
Create Grafana Dashboard to Monitor Polyspace Access
This example shows how to configure a Prometheus® data source to query Polyspace Access for server metrics and visualize the metrics in a Grafana® dashboard.
Prerequisites
A Grafana installation. For example, to run Grafana in Docker® container. See Grafana Docker Image.
A Prometheus data source. For example, you can run Prometheus on Docker. See Prometheus Docker container.
Configure Prometheus Data Source
To configure Prometheus to scrape data from a target such as Polyspace
Access, you use a YAML file where you specify the URL of the target, the HTTP endpoint used to query the metrics, and other parameters. Typically, the file is called prometheus.yml.
This sample YAML file shows a configuration for a Polyspace
Access instance which runs on a machine with hostname access-example-server using the default Polyspace
Access port (9443).
Note
This sample configuration disables the validation of the server certificate (insecure_skip_verify), which is not recommended in a typical configuration.
global:
# How frequently to scrape targets by default.
scrape_interval: 15s
# How long until a scrape request times out.
scrape_timeout: 5s
scrape_configs:
- job_name: "polyspace"
tls_config:
insecure_skip_verify: true
metrics_path: '/polyspace/api/monitoring'
scheme: https
static_configs:
- targets: ["access-example-server:9443"]scrape_config section to add the Polyspace
Access parameters.After you create or edit your prometheus.yml file, restart your Prometheus instance to apply the changes and check that Prometheus is able to scrape the endpoint polyspace/api/monitoring. To view the status of scraped target, go to the /targets page of your Prometheus server web UI (for example http://localhost:9090/targets). If Prometheus is able to scrape the endpoint, you see something similar to this:

Add Prometheus Data Source and Create Dashboard
To start monitoring your Polyspace Access server, add the Prometheus instance you configured in the previous section as a data source to Grafana. See Add a data source.
You can then create a dashboard to visualize the Polyspace Access server metrics or edit an existing dashboard to monitor Polyspace Access along with other tools. To create a dashboard, see Create a dashboard.

To view additional metrics about Polyspace Access, such as CPU usage or the performance characteristics of the different Polyspace Access docker containers, you can use external tools to export that data and then integrate it in your dashboard. For a list of libraries and server that export data as Prometheus metrics, see Exporters and Integrations.