# Serverless Performance Explorer > Lambda REPORT lines → cold-start rate, p50/p95/p99, memory right-sizing and cost per 1M calls. Paste AWS Lambda REPORT log lines, JSON platform.report records or a CSV/Logs Insights export. Get cold-start rate, init and duration percentiles, memory utilisation with a right-sizing suggestion, and the cost per 1 million invocations on x86_64 and arm64 using the public Lambda prices (overridable). Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://serverlessperformanceexplorer.usefulweb.site/ (interactive tool at https://serverlessperformanceexplorer.usefulweb.site/tool) - JSON API: POST https://serverlessperformanceexplorer.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://serverlessperformanceexplorer.usefulweb.site/api/v1/tool) - OpenAPI: https://serverlessperformanceexplorer.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://serverlessperformanceexplorer.usefulweb.site/mcp - tool `serverless_performance_explorer` ## Inputs - logs (textarea): REPORT lines or CSV - CloudWatch REPORT lines, JSON log-format platform.report records, or CSV with columns like requestId,duration,billedDuration,memorySize,maxMemoryUsed,initDuration[,function,timestamp]. Separate functions with "=== function: name ===". - file (file): Or upload a log/CSV file - architecture (select): Current architecture - priceGbSecondX86 (number): Price per GB-second (x86_64) - Default: us-east-1 first tier, verified 2026-10-14. - priceGbSecondArm (number): Price per GB-second (arm64) - pricePerMillionRequests (number): Price per 1M requests - monthlyInvocations (integer): Monthly invocations (optional) - Adds a monthly cost estimate (free tier not deducted). - headroomPercent (number): Memory headroom - Added to the peak observed memory when suggesting a size. ## Method - Each REPORT line (plain text or JSON "platform.report") yields Duration, Billed Duration, Memory Size, Max Memory Used and, on cold starts, Init Duration (or SnapStart Restore Duration). "Status: timeout|error" and "Task timed out after" lines mark failed invocations. - Cold-start rate = invocations with Init/Restore Duration ÷ all invocations. Percentiles use the nearest-rank method on the observed values. - GB-seconds per invocation = Billed Duration (s) × Memory Size (MB) ÷ 1024. If Billed Duration is missing it is estimated as ceil(Duration + Init) because INIT is billed for on-demand functions since 1 Aug 2025. - Cost per 1M invocations = price per 1M requests + 1,000,000 × mean GB-s × price per GB-s, for x86_64 and arm64 (first pricing tier, no free tier). - Right-sizing: suggested memory = peak Max Memory Used × (1 + headroom), rounded up to 64 MB (128–10,240 MB). Increase if peak use ≥ 90 % of the configured size; decrease if the suggestion is ≤ 75 % of it; otherwise keep. Cost estimates assume the billed duration does not change with memory (CPU scales with memory, so verify). - CloudWatch Logs Insights exports report @memorySize/@maxMemoryUsed in bytes; values above 100,000 are converted to MB (10^6 bytes).