Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
ce79e65
PMM-14554
catalinaadam Feb 16, 2026
ad8e2db
PMM-14700 and PMM-14686
catalinaadam Feb 17, 2026
7ed6e5e
Merge branch 'v3' into doc-3.7.0
catalinaadam Feb 17, 2026
0a9ff6d
feedback from Alex
catalinaadam Feb 18, 2026
cb717f8
Merge branch 'v3' into doc-3.7.0
JiriCtvrtka Feb 19, 2026
e0d8adf
PMM-14824
catalinaadam Feb 19, 2026
750552b
PMM-14800
catalinaadam Feb 19, 2026
55a1b99
PMM-14549
catalinaadam Feb 20, 2026
3cb0599
Merge branch 'v3' into doc-3.7.0
catalinaadam Feb 20, 2026
65bdd56
PMM-759
catalinaadam Feb 20, 2026
9d8aa00
Merge branch 'doc-3.7.0' of https://github.com/percona/pmm into doc-3…
catalinaadam Feb 20, 2026
e0a22d8
PMM-14822
catalinaadam Feb 23, 2026
df220b6
feedback from Fabio
catalinaadam Feb 23, 2026
facf9c6
[DOC] pprof endpoint fix in exporters (PMM-14686) (#5067)
catalinaadam Feb 24, 2026
95447ae
[DOC] Remove Platform references (#5080)
catalinaadam Mar 4, 2026
91a2b6f
[DOCS] Show disk space in gigabytes
catalinaadam Mar 9, 2026
3d1c26a
PMM-14818 - pg_custom_database_size_custom low-resolution change
catalinaadam Mar 9, 2026
5d2bdc1
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 9, 2026
5559189
PMM-14790
catalinaadam Mar 9, 2026
296f69d
PMM-14376
catalinaadam Mar 10, 2026
dae2fb1
PMM-14376
catalinaadam Mar 10, 2026
6406c0e
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 10, 2026
fbc60b3
PMM-14267
catalinaadam Mar 11, 2026
89ce85c
[DOCS] RTA API docs (#5123)
catalinaadam Mar 12, 2026
1d1f868
PMM-14899
catalinaadam Mar 12, 2026
3fb62fa
Merge branch 'doc-3.7.0' of https://github.com/percona/pmm into doc-3…
catalinaadam Mar 12, 2026
8647c12
[DOC] RTA documentation (#5098)
catalinaadam Mar 12, 2026
78233b5
updated outdated screenshots
catalinaadam Mar 12, 2026
c932b7f
PMM-14874
catalinaadam Mar 13, 2026
75ff6ac
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 13, 2026
3e2f2cf
GET /v1/realtimeanalytics/services
catalinaadam Mar 13, 2026
a01173e
feedback from Max
catalinaadam Mar 13, 2026
b01505b
[DOCS] ClickHouse low-memory configuration for <16 GB environments
catalinaadam Mar 16, 2026
04131c5
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 16, 2026
c851c34
info from Jiri
catalinaadam Mar 16, 2026
0da874a
formatting
catalinaadam Mar 16, 2026
47203c7
formatting
catalinaadam Mar 16, 2026
12dd812
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 17, 2026
1333fd3
feedback from Shruti
catalinaadam Mar 17, 2026
c016a76
Merge branch 'doc-3.7.0' of https://github.com/percona/pmm into doc-3…
catalinaadam Mar 17, 2026
b037b54
formatting
catalinaadam Mar 17, 2026
fcac8cf
explicitly mention in-memory data for RTA
catalinaadam Mar 18, 2026
912418c
fixed issues
catalinaadam Mar 23, 2026
37c4779
link fix
catalinaadam Mar 23, 2026
7f78963
formatting
catalinaadam Mar 23, 2026
ca8b5e3
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 23, 2026
78e081b
MM-14801
catalinaadam Mar 23, 2026
575ca73
[DOCS] PMM Client configuration file encryption (#5164)
catalinaadam Mar 24, 2026
f0061c9
deprecations
catalinaadam Mar 25, 2026
275e5a1
formatting
catalinaadam Mar 25, 2026
2424317
feedback from copilot
catalinaadam Mar 25, 2026
20a58a4
Update documentation/docs/use/commands/pmm-agent.md
catalinaadam Mar 26, 2026
f690876
updated pmm2 deprecation info
catalinaadam Mar 30, 2026
c611f83
feedback from Nailya and Vasyl
catalinaadam Mar 30, 2026
8082cf8
Update documentation/docs/release-notes/3.7.0.md
catalinaadam Mar 30, 2026
1d90c47
Update documentation/docs/release-notes/3.7.0.md
catalinaadam Mar 30, 2026
8607ad2
components update
catalinaadam Mar 30, 2026
1d83b00
formatting
catalinaadam Mar 30, 2026
d322a24
removed known issues section
catalinaadam Mar 30, 2026
b8300cd
build fix
catalinaadam Mar 30, 2026
8cb8ded
build fix
catalinaadam Mar 30, 2026
216a111
chore: pin pygments
fabio-silva Mar 30, 2026
13636ec
link fix
catalinaadam Mar 30, 2026
9b73c6f
Merge branch 'doc-3.7.0' of https://github.com/percona/pmm into doc-3…
catalinaadam Mar 30, 2026
9325532
formatting
catalinaadam Mar 30, 2026
29be2c1
feedback from copilot
catalinaadam Mar 30, 2026
4fbe9b3
[DOCS] Restructure pmm admin topic (#5156)
catalinaadam Mar 31, 2026
9322940
fix links
catalinaadam Mar 31, 2026
e594557
Merge branch 'v3' into doc-3.7.0
catalinaadam Mar 31, 2026
cab5bb6
[Docs] 3.7.0 deprecation announcements (#5186)
catalinaadam Apr 1, 2026
7dea76d
Merge branch 'v3' into doc-3.7.0
catalinaadam Apr 1, 2026
cd2764c
migration note
catalinaadam Apr 1, 2026
8a89a89
data variable
catalinaadam Apr 1, 2026
87179a0
formatting
catalinaadam Apr 1, 2026
01de952
feedback from Alex
catalinaadam Apr 1, 2026
c316cb6
Update documentation/docs/install-pmm/plan-pmm-installation/choose-de…
catalinaadam Apr 1, 2026
ef99993
Update documentation/docs/reference/pmm_components_and_versions.md
catalinaadam Apr 1, 2026
087a8ec
Update documentation/docs/release-notes/3.6.0.md
catalinaadam Apr 1, 2026
d967cd4
reverting to old OVF workflow
catalinaadam Apr 1, 2026
9e208dd
Merge branch 'doc-3.7.0' of https://github.com/percona/pmm into doc-3…
catalinaadam Apr 1, 2026
0a7e603
restore feedback
catalinaadam Apr 1, 2026
7d309e0
link fix
catalinaadam Apr 1, 2026
fdb6f89
Merge branch 'v3' into doc-3.7.0
catalinaadam Apr 1, 2026
6f69329
Merge branch 'v3' into doc-3.7.0
catalinaadam Apr 1, 2026
1d07cb6
link
catalinaadam Apr 1, 2026
d11fad2
link fix
catalinaadam Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions docs/api/qan/list-rta-services.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: List services
slug: list-rta-services
content:
excerpt: Retrieve services that support Real-time Analytics.
category:
uri: rta-api
---

## List services

`GET /v1/realtimeanalytics/services`

Returns a list of services that support Real-time Analytics. Use this endpoint to discover which services can be monitored with RTA before starting a session.
Comment thread
maxkondr marked this conversation as resolved.

This endpoint only returns services where the corresponding PMM Agent is version 3.7.0 or later. Services monitored by older PMM Agents won't appear in the results, even if they're registered in PMM.

### Query parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_type` | string | No | Filter by service type. Default: `SERVICE_TYPE_UNSPECIFIED` (returns all supported types) |


#### Supported service types

| Value | Description |
|-------|-------------|
| `SERVICE_TYPE_UNSPECIFIED` | Returns all supported service types (default). Currently returns MongoDB services only. |
| `SERVICE_TYPE_MONGODB_SERVICE` | MongoDB services |

Other service types (MySQL, PostgreSQL, Valkey, ProxySQL, HAProxy, External) return an error. Support for additional database types is planned for future releases.

### Response
```json
{
"mongodb": [
{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f",
"service_name": "mongodb-production-rs0",
"node_id": "pmm-server",
"address": "mongodb-rs0.example.com",
"port": 27017,
"environment": "production",
"cluster": "production-cluster",
"replication_set": "rs0",
"custom_labels": {
"team": "backend"
},
"version": "7.0.5"
}
]
}
```

### Response schema

| Field | Type | Description |
|-------|------|-------------|
| `mongodb` | array | List of MongoDB services supporting RTA |
| `mongodb[].service_id` | string | Unique service identifier (use this to start sessions) |
| `mongodb[].service_name` | string | User-defined service name |
| `mongodb[].node_id` | string | Node identifier where the service runs |
| `mongodb[].address` | string | Access address (DNS name or IP) |
| `mongodb[].port` | integer | Access port |
| `mongodb[].socket` | string | Access unix socket (alternative to address/port) |
| `mongodb[].environment` | string | Environment name |
| `mongodb[].cluster` | string | Cluster name |
| `mongodb[].replication_set` | string | Replication set name |
| `mongodb[].custom_labels` | object | Custom user-assigned labels |
| `mongodb[].version` | string | MongoDB version |

### Examples

#### List all RTA-compatible services
```bash
curl -X GET "https://your-pmm-server/v1/realtimeanalytics/services" \
-H "Authorization: Bearer glsa_xxxxx"
```

#### Filter by MongoDB services only
```bash
curl -X GET "https://your-pmm-server/v1/realtimeanalytics/services?service_type=SERVICE_TYPE_MONGODB_SERVICE" \
-H "Authorization: Bearer glsa_xxxxx"
```

### Error responses

| Status Code | Error | Description |
|-------------|-------|-------------|
| `200` | Success | Services retrieved successfully |
| `401` | Unauthorized | Missing or invalid authentication token |
| `403` | Forbidden | Insufficient permissions |
| `500` | Internal Server Error | Server error processing request |

### Error response format
```json
{
"code": 16,
"message": "Unauthorized",
"details": []
}
```

To get the authentication token, see [Authentication](ref:authentication).
220 changes: 220 additions & 0 deletions docs/api/qan/manage-rta-sessions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
---
title: Manage sessions
slug: manage-rta-sessions

content:
excerpt: Start, stop, and list Real-time Analytics sessions for MongoDB services.
category:
uri: rta-api
---

## Start session

`POST /v1/realtimeanalytics/sessions:start`

Starts a Real-time Analytics (RTA) session for a specified MongoDB service. Once started, the session will continuously collect data about currently executing queries.

### Request body
```json
{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f"
}
```

### Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | Yes | Service identifier to start RTA session for |

### Response
```json
{
"session": {
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f",
"service_name": "mongodb-production-rs0",
"cluster_name": "production-cluster",
"start_time": "2024-03-06T15:20:00Z",
"collect_interval": "2s",
"status": "SESSION_STATUS_RUNNING"
}
}
```

### Response schema

| Field | Type | Description |
|-------|------|-------------|
| `session` | object | The started session details |
| `session.service_id` | string | Service identifier |
| `session.service_name` | string | Service name |
| `session.cluster_name` | string | Cluster name the service belongs to |
| `session.start_time` | string (date-time) | When the session started |
| `session.collect_interval` | string | Query collection interval |
| `session.status` | string | Session status (see status values below) |

### Example
```bash
curl -X POST "https://your-pmm-server/v1/realtimeanalytics/sessions:start" \
-H "Authorization: Bearer glsa_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f"
}'
```

---

## Stop session

`POST /v1/realtimeanalytics/sessions:stop`

Stops a RTA session for a specified MongoDB service.

### Request body
```json
{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f"
}
```

### Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | Yes | Service identifier to stop RTA session for |

### Response
```json
{}
```

**Success response:** Empty object with HTTP 200 status code

### Example
```bash
curl -X POST "https://your-pmm-server/v1/realtimeanalytics/sessions:stop" \
-H "Authorization: Bearer glsa_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f"
}'
```

---

## List sessions

`GET /v1/realtimeanalytics/sessions`

Returns the list of all currently running Real-time Analytics sessions with their details including service, cluster, and status information.

### Query parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_name` | string | No | Filter sessions by cluster name |

### Response
```json
{
"sessions": [
{
"service_id": "7a3e9c44-12ab-4d3f-9e21-5c8d7b1a2e4f",
"service_name": "mongodb-production-rs0",
"cluster_name": "production-cluster",
"start_time": "2024-03-06T15:20:00Z",
"collect_interval": "2s",
"status": "SESSION_STATUS_RUNNING"
},
{
"service_id": "8b4f0d55-9fce-5e4g-0f32-6d9e8c2b3f5g",
"service_name": "mongodb-production-rs1",
"cluster_name": "production-cluster",
"start_time": "2024-03-06T15:22:00Z",
"collect_interval": "2s",
"status": "SESSION_STATUS_RUNNING"
}
]
}
```

### Response schema

| Field | Type | Description |
|-------|------|-------------|
| `sessions` | array | List of active sessions |
| `sessions[].service_id` | string | Service identifier |
| `sessions[].service_name` | string | Service name |
| `sessions[].cluster_name` | string | Cluster name |
| `sessions[].start_time` | string (date-time) | When the session started |
| `sessions[].collect_interval` | string | Query collection interval |
| `sessions[].status` | string | Session status |

### Examples

#### List all sessions
```bash
curl -X GET "https://your-pmm-server/v1/realtimeanalytics/sessions" \
-H "Authorization: Bearer glsa_xxxxx"
```

#### Filter by cluster
```bash
curl -X GET "https://your-pmm-server/v1/realtimeanalytics/sessions?cluster_name=production-cluster" \
-H "Authorization: Bearer glsa_xxxxx"
```

## Session status values

| Status | Description |
|--------|-------------|
| `SESSION_STATUS_RUNNING` | Session is actively collecting query data |
| `SESSION_STATUS_ERROR` | Session encountered an error |
| `SESSION_STATUS_DOWN` | Session has been stopped or disabled |
| `SESSION_STATUS_UNSPECIFIED` | Status is unknown |

## Error responses

| Status Code | Error | Description |
|-------------|-------|-------------|
| `200` | Success | Operation completed successfully |
| `400` | Bad Request | Invalid request (missing service_id, etc.) |
| `401` | Unauthorized | Missing or invalid authentication token |
| `403` | Forbidden | Insufficient permissions |
| `404` | Not Found | Service not found |
| `500` | Internal Server Error | Server error processing request |

### Error response format
```json
{
"code": 5,
"message": "Service with ID '...' not found",
"details": []
}
```

## Troubleshooting

### Session won't start

You're unable to start an RTA session for a MongoDB service. This typically happens when the service doesn't exist in PMM inventory, the PMM Client version is too old (< 3.7.0), or the MongoDB exporter is not configured.

**Solutions:**

1. List available services using `GET /v1/realtimeanalytics/services` to verify the service supports RTA
2. Check PMM Client version: `pmm-admin status`
3. Verify MongoDB exporter is running in PMM Inventory

### Session shows ERROR status

A session was started successfully but now shows ERROR status. This usually indicates that the PMM agent connection was lost or the MongoDB user has insufficient permissions.

**Solutions:**

1. Verify PMM agent status: `pmm-admin status`
2. Check PMM agent logs for errors
3. Verify network connectivity between PMM agent and MongoDB
4. Confirm MongoDB user has the required permissions for `$currentOp`. See [MongoDB currentOp Access Control](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentOp/#access-control) for details.

To get the authentication token, check [Authentication](ref:authentication).
Loading
Loading