diff --git a/skills/apitally-cli/references/commands.md b/skills/apitally-cli/references/commands.md index 8b99ecf..20acd90 100644 --- a/skills/apitally-cli/references/commands.md +++ b/skills/apitally-cli/references/commands.md @@ -119,7 +119,9 @@ Fetch aggregated metrics for an app. Outputs NDJSON to stdout by default. | `error_rate` | float | Ratio of errors to total requests | | `response_time_p50` | integer | 50th percentile response time (ms) | | `response_time_p75` | integer | 75th percentile response time (ms) | +| `response_time_p90` | integer | 90th percentile response time (ms) | | `response_time_p95` | integer | 95th percentile response time (ms) | +| `response_time_p99` | integer | 99th percentile response time (ms) | ### Group-by fields diff --git a/skills/apitally-cli/references/duckdb_tables.md b/skills/apitally-cli/references/duckdb_tables.md index 7e3ca62..c53d482 100644 --- a/skills/apitally-cli/references/duckdb_tables.md +++ b/skills/apitally-cli/references/duckdb_tables.md @@ -77,7 +77,9 @@ CREATE TABLE metrics ( error_rate DOUBLE, response_time_p50 INTEGER, -- milliseconds response_time_p75 INTEGER, -- milliseconds - response_time_p95 INTEGER -- milliseconds + response_time_p90 INTEGER, -- milliseconds + response_time_p95 INTEGER, -- milliseconds + response_time_p99 INTEGER -- milliseconds ); ``` diff --git a/src/main.rs b/src/main.rs index 480f9ca..ee58f94 100644 --- a/src/main.rs +++ b/src/main.rs @@ -148,9 +148,8 @@ enum Command { /// JSON array or comma-separated list of metric names to include /// - /// Available metrics: requests, requests_per_minute, bytes_received, - /// bytes_sent, client_errors, server_errors, error_rate, - /// response_time_p50, response_time_p75, response_time_p95. + /// Available metrics: requests, requests_per_minute, bytes_received, bytes_sent, client_errors, server_errors, error_rate, + /// response_time_p50, response_time_p75, response_time_p90, response_time_p95, response_time_p99. #[arg(long)] metrics: String, diff --git a/src/metrics.rs b/src/metrics.rs index f7c6507..96d3f85 100644 --- a/src/metrics.rs +++ b/src/metrics.rs @@ -28,8 +28,12 @@ pub(crate) fn ensure_metrics_table(conn: &duckdb::Connection) -> Result<()> { error_rate DOUBLE, response_time_p50 INTEGER, response_time_p75 INTEGER, - response_time_p95 INTEGER - )", + response_time_p90 INTEGER, + response_time_p95 INTEGER, + response_time_p99 INTEGER + ); + ALTER TABLE metrics ADD COLUMN IF NOT EXISTS response_time_p90 INTEGER; + ALTER TABLE metrics ADD COLUMN IF NOT EXISTS response_time_p99 INTEGER;", )?; Ok(()) }