Skip to content

Pulp SLIs

Pulp uses Service Level Indicators (SLIs) to monitor the health and performance of its components. These SLIs are defined in the metrics catalog and are used to measure availability and latency for the service.

The Pulp service has the following SLIs:

SLIDescriptionType
pulp_app_apiPulp application API service requestsApdex + Error Rate
pulp_app_contentPulp application content API requestsApdex + Error Rate
pulp_nginxNginx ingress controller load balancer requestsApdex + Error Rate
pulp_cloudsqlGCP CloudSQL PostgreSQL database operationsApdex + Request Rate
pulp_gcsGCS bucket storage operationsRequest Rate
pulp_redisGCP Redis Memorystore caching operationsRequest Rate

The SLIs appear in the Pulp Overview dashboard.

The Pulp Overview dashboard includes two collapsed rows: CloudSQL and Memorystore. The CloudSQL row shows performance, connection, disk, network, and tuple panels. The Memorystore row shows client, workload, and data panels.

To find out if CloudSQL is slow, open the CloudSQL row. The first panels show the query latency, the query, IO, and lock time from Query Insights, CPU and memory utilization, the data cache hit ratio, temporary bytes, deadlocks, disk throughput, and transactions.

The Stackdriver exporters label these metrics type="pulp". gitlab-com/gl-infra/argocd/apps!4039 and gitlab-com/gl-infra/argocd/apps!4053 add the relabel rules. gitlab-com/gl-infra/argocd/apps!4052 adds the ops metric allowlists.

The saturation rules track six components: cloudsql_cpu, cloudsql_disk, cloudsql_memory, memorystore_redis_cpu, memorystore_redis_memory, and memorystore_system_memory.

The pulp_app_api SLI monitors the Pulp API service, which handles administrative operations such as repository management, content synchronization, and user management.

Metrics:

Apdex Thresholds:

Significant Labels:

  • http_method - HTTP request method (GET, POST, PUT, DELETE, etc.)
  • http_target - API endpoint path
  • http_status_code - HTTP response status code

Error Rate: Tracks 5xx HTTP status codes as errors.

The pulp_app_content SLI monitors the Pulp Content API service, which handles package downloads and content delivery to clients (e.g., yum/dnf clients fetching packages).

Metrics:

Apdex Thresholds:

Significant Labels:

  • http_method - HTTP request method
  • http_route - Content API route
  • http_status_code - HTTP response status code

Error Rate: Tracks 5xx HTTP status codes as errors.

In addition to the SLIs above, the following metrics are available in the Pulp Overview dashboard.

Tracks how long the oldest unblocked task has been waiting in the queue. Lower values are better.

Metric:

Tracks the number of unblocked tasks waiting to be processed. Lower values are better.

Metric:

Monitors the nginx ingress controller that load balances traffic to Pulp services.

Metrics:

Apdex Threshold:

Significant Labels:

  • method - HTTP method
  • path - Request path
  • status - HTTP status code

Monitors the GCP CloudSQL PostgreSQL instance used by Pulp.

Metrics:

Apdex: a query is satisfied if it takes less than 1 s (the 1048576 microsecond bucket, stored as le="1.048576e+06"). A database query that takes longer than 1 s is slow. The SLO alert fires when more than 0.1% of the queries are slow, for example because of CPU, IO, or lock problems. It does not fire for one slow query.

Significant Labels:

  • database_id - Cloud SQL database identifier
  • database - Database name
  • operation_type - Type of SQL operation

Monitors the GCS bucket used for package storage.

Metrics:

Significant Labels:

  • bucket_name - GCS bucket name
  • method - API method

Monitors the GCP Redis Memorystore instance used for caching and session management.

Metrics:

Significant Labels:

  • instance_id - Redis instance identifier