Monitoring Plans
Monitoring plans track deployment risk for pull requests. When a PR is merged and deployed, Firetiger monitors the deployment for unintended effects based on a plan written by an agent during code review.
This page covers two services: MonitoringPlanService for plan lifecycle and MonitoringRunService (legacy) for backward-compatible run access.
Services: firetiger.monitoring_plans.v1.MonitoringPlanService, firetiger.monitoring_plans.v1.MonitoringRunService
Resource name patterns: monitoring-plans/{plan_id} and monitoring-plans/{plan_id}/runs/{run_id}
Access: Read-only
Resource types: Monitoring Plan, Monitoring Run
Example flow
List recent monitoring plans, then fetch details for a specific one.
1. List monitoring plans
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringPlanService/ListMonitoringPlans" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"page_size": 5, "order_by": "create_time desc"}'
{
"monitoringPlans": [
{
"name": "monitoring-plans/plan-abc123",
"origin": {
"repository": "acme-corp/backend",
"prNumber": 42,
"prTitle": "Fix auth service timeout handling",
"prAuthor": "engineer"
},
"planSummary": "Fixes auth service timeout handling to prevent cascading failures during peak traffic.",
"createTime": "2024-06-15T14:30:00Z"
}
],
"nextPageToken": ""
}
2. Get plan details
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringPlanService/GetMonitoringPlan" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "monitoring-plans/plan-abc123"}'
{
"monitoringPlan": {
"name": "monitoring-plans/plan-abc123",
"origin": {
"repository": "acme-corp/backend",
"prNumber": 42,
"prUrl": "https://github.com/acme-corp/backend/pull/42",
"headSha": "a1b2c3d4e5f6",
"prTitle": "Fix auth service timeout handling",
"prAuthor": "engineer"
},
"activation": {
"mergeSha": "f6e5d4c3b2a1",
"environments": ["production"]
},
"planContent": "## Intended Effect\nFixes timeout handling in auth service...",
"planSummary": "Fixes auth service timeout handling to prevent cascading failures during peak traffic.",
"notificationChannel": "#deploy-alerts",
"authorSession": "agents/plan-author/sessions/sess-xyz",
"createTime": "2024-06-15T14:30:00Z",
"updateTime": "2024-06-15T15:00:00Z",
"deployments": [
{
"environment": "production",
"deployment": "deployments/dep-789",
"deployTime": "2024-06-15T16:00:00Z",
"intendedEffectConfirmed": true,
"outcome": "MONITORING_OUTCOME_NO_ISSUE",
"completeTime": "2024-06-15T17:30:00Z"
}
],
"lastCheckTime": "2024-06-15T17:30:00Z"
}
}
Methods
| Method | Service | Description |
|---|---|---|
| GetMonitoringPlan | MonitoringPlanService | Retrieve a monitoring plan by name |
| ListMonitoringPlans | MonitoringPlanService | List monitoring plans with filtering and pagination |
| GetMonitoringRun | MonitoringRunService | Retrieve a monitoring run by name |
| ListMonitoringRuns | MonitoringRunService | List monitoring runs for a plan |
GetMonitoringPlan
Retrieve a monitoring plan by name.
POST /firetiger.monitoring_plans.v1.MonitoringPlanService/GetMonitoringPlan
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Resource name of the monitoring plan |
Example
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringPlanService/GetMonitoringPlan" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "monitoring-plans/plan-abc123"}'
Response
{
"monitoringPlan": {
"name": "monitoring-plans/plan-abc123",
"origin": {
"repository": "acme-corp/backend",
"prNumber": 42,
"prUrl": "https://github.com/acme-corp/backend/pull/42",
"headSha": "a1b2c3d4e5f6",
"prTitle": "Fix auth service timeout handling",
"prAuthor": "engineer"
},
"activation": {
"mergeSha": "f6e5d4c3b2a1",
"environments": ["production"]
},
"planContent": "## Intended Effect\nFixes timeout handling in auth service...",
"planSummary": "Fixes auth service timeout handling to prevent cascading failures during peak traffic.",
"notificationChannel": "#deploy-alerts",
"authorSession": "agents/plan-author/sessions/sess-xyz",
"createTime": "2024-06-15T14:30:00Z",
"updateTime": "2024-06-15T15:00:00Z",
"deployments": [
{
"environment": "production",
"deployment": "deployments/dep-789",
"deployTime": "2024-06-15T16:00:00Z",
"intendedEffectConfirmed": true,
"outcome": "MONITORING_OUTCOME_NO_ISSUE",
"completeTime": "2024-06-15T17:30:00Z"
}
],
"lastCheckTime": "2024-06-15T17:30:00Z"
}
}
ListMonitoringPlans
List monitoring plans with optional filtering and pagination.
POST /firetiger.monitoring_plans.v1.MonitoringPlanService/ListMonitoringPlans
Request body
| Field | Type | Required | Description |
|---|---|---|---|
filter |
string | No | Filter expression |
order_by |
string | No | Field to sort by (e.g. create_time desc) |
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
show_deleted |
boolean | No | Include soft-deleted monitoring plans |
Example
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringPlanService/ListMonitoringPlans" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"page_size": 10, "order_by": "create_time desc"}'
Response
{
"monitoringPlans": [
{
"name": "monitoring-plans/plan-abc123",
"origin": {
"repository": "acme-corp/backend",
"prNumber": 42,
"prUrl": "https://github.com/acme-corp/backend/pull/42",
"prTitle": "Fix auth service timeout handling",
"prAuthor": "engineer"
},
"planSummary": "Fixes auth service timeout handling to prevent cascading failures during peak traffic.",
"createTime": "2024-06-15T14:30:00Z",
"updateTime": "2024-06-15T15:00:00Z"
}
],
"nextPageToken": ""
}
GetMonitoringRun
MonitoringRunService is a legacy service. New monitoring state is stored directly on MonitoringPlan.deployments. The run endpoints are retained for backward compatibility.
Retrieve a monitoring run by name.
POST /firetiger.monitoring_plans.v1.MonitoringRunService/GetMonitoringRun
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Resource name of the monitoring run |
Example
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringRunService/GetMonitoringRun" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "monitoring-plans/plan-abc123/runs/run-prod-001"}'
Response
{
"monitoringRun": {
"name": "monitoring-plans/plan-abc123/runs/run-prod-001",
"environment": "production",
"deployment": "deployments/dep-789",
"status": "MONITORING_RUN_STATUS_COMPLETED",
"outcome": "MONITORING_RUN_OUTCOME_NO_ISSUE",
"intendedEffectConfirmed": true,
"activateTime": "2024-06-15T16:00:00Z",
"completeTime": "2024-06-15T17:30:00Z",
"lastCheckTime": "2024-06-15T17:30:00Z",
"createTime": "2024-06-15T16:00:00Z",
"updateTime": "2024-06-15T17:30:00Z"
}
}
ListMonitoringRuns
MonitoringRunService is a legacy service. New monitoring state is stored directly on MonitoringPlan.deployments. The run endpoints are retained for backward compatibility.
List monitoring runs for a plan with optional filtering and pagination.
POST /firetiger.monitoring_plans.v1.MonitoringRunService/ListMonitoringRuns
Request body
| Field | Type | Required | Description |
|---|---|---|---|
parent |
string | Yes | Parent monitoring plan resource name |
filter |
string | No | Filter expression |
order_by |
string | No | Field to sort by (e.g. create_time desc) |
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
show_deleted |
boolean | No | Include soft-deleted monitoring runs |
Example
curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.monitoring_plans.v1.MonitoringRunService/ListMonitoringRuns" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"parent": "monitoring-plans/plan-abc123", "page_size": 10}'
Response
{
"monitoringRuns": [
{
"name": "monitoring-plans/plan-abc123/runs/run-prod-001",
"environment": "production",
"deployment": "deployments/dep-789",
"status": "MONITORING_RUN_STATUS_COMPLETED",
"outcome": "MONITORING_RUN_OUTCOME_NO_ISSUE",
"intendedEffectConfirmed": true,
"activateTime": "2024-06-15T16:00:00Z",
"completeTime": "2024-06-15T17:30:00Z",
"createTime": "2024-06-15T16:00:00Z",
"updateTime": "2024-06-15T17:30:00Z"
}
],
"nextPageToken": ""
}