---
title: "Query project performance metrics"
method: GET
path: "/v0/projects/{project}/perf"
tags: ["projects", "perf"]
---

# Query project performance metrics

`GET /v0/projects/{project}/perf`

Query the performance metrics for a project. The query results are every permutation of each branch, testbed, benchmark, and measure. There is a limit of 255 permutations for a single request. Therefore, only the first 255 permutations are returned. If the project is public, then the user does not need to be authenticated. If the project is private, then the user must be authenticated and have `view` permissions for the project, or provide a valid project key for the project.

## Path parameters

- `project` string, required

## Query parameters

- `benchmarks` string, required
- `branches` string, required
- `end_time` integer
- `heads` string, nullable
- `measures` string, required
- `specs` string, nullable
- `start_time` integer
- `testbeds` string, required

## Response `200`

successful operation

- JsonPerf
  - `end_time` string, date-time
  - `project` JsonProject, required
    - `claimed` string, date-time
    - `created` string, date-time, required
    - `modified` string, date-time, required
    - `name` string, required
    - `organization` string, uuid, required
    - `slug` string, required
    - `url` string
    - `uuid` string, uuid, required
    - `visibility` 'public' | 'private', required
  - `results` JsonPerfMetrics[], required
    - `benchmark` JsonBenchmark, required
      - `archived` string, date-time
      - `created` string, date-time, required
      - `modified` string, date-time, required
      - `name` string, required
      - `project` string, uuid, required
      - `slug` string, required
      - `uuid` string, uuid, required
    - `branch` JsonBranch, required
      - `archived` string, date-time
      - `created` string, date-time, required
      - `head` JsonHead, required
        - `created` string, date-time, required
        - `replaced` string, date-time
        - `start_point` JsonStartPoint
          - `branch` string, uuid, required
          - `head` string, uuid, required
          - `version` JsonVersion, required
            - `hash` string
            - `number` integer, required
        - `uuid` string, uuid, required
        - `version` JsonVersion
          - `hash` string
          - `number` integer, required
      - `modified` string, date-time, required
      - `name` string, required
      - `project` string, uuid, required
      - `slug` string, required
      - `uuid` string, uuid, required
    - `measure` JsonMeasure, required
      - `archived` string, date-time
      - `created` string, date-time, required
      - `modified` string, date-time, required
      - `name` string, required
      - `project` string, uuid, required
      - `slug` string, required
      - `units` string, required
      - `uuid` string, uuid, required
    - `metrics` JsonPerfMetric[], required
      - `alert` JsonPerfAlert
        - `limit` 'lower' | 'upper', required
        - `modified` string, date-time, required
        - `status` union, required
          - 'active' — The alert is active.
          - 'dismissed' — The alert has been dismissed by a user.
          - 'silenced' — The alert has been silenced by the system.
        - `uuid` string, uuid, required
      - `boundary` JsonBoundary
        - `baseline` number, double, nullable
        - `lower_limit` number, double, nullable
        - `upper_limit` number, double, nullable
      - `end_time` string, date-time, required
      - `iteration` integer, required
      - `metric` JsonMetric, required
        - `lower_value` number, double, nullable
        - `upper_value` number, double, nullable
        - `uuid` string, uuid, required
        - `value` number, double, required
      - `report` string, uuid, required
      - `start_time` string, date-time, required
      - `threshold` JsonThresholdModel
        - `created` string, date-time, required
        - `model` JsonModel, required
          - `created` string, date-time, required
          - `lower_boundary` number, double
          - `max_sample_size` integer
          - `min_sample_size` integer
          - `replaced` string, date-time
          - `test` 'static' | 'percentage' | 'z_score' | 't_test' | 'log_normal' | 'iqr' | 'delta_iqr', required
          - `upper_boundary` number, double
          - `uuid` string, uuid, required
          - `window` integer
        - `project` string, uuid, required
        - `uuid` string, uuid, required
      - `version` JsonVersion, required
        - `hash` string
        - `number` integer, required
    - `testbed` JsonTestbed, required
      - `archived` string, date-time
      - `created` string, date-time, required
      - `modified` string, date-time, required
      - `name` string, required
      - `project` string, uuid, required
      - `slug` string, required
      - `spec` JsonSpec — A hardware spec
        - `architecture` 'x86_64' | 'aarch64', required
        - `archived` string, date-time
        - `cpu` integer, required
        - `created` string, date-time, required
        - `disk` integer, required
        - `fallback` string, date-time
        - `memory` integer, required
        - `modified` string, date-time, required
        - `name` string, required
        - `network` boolean, required
        - `os` 'linux' | 'macos' | 'windows', required
        - `sandbox` 'firecracker'
        - `slug` string, required
        - `uuid` string, uuid, required
      - `uuid` string, uuid, required
  - `start_time` string, date-time

## Other responses

- `4XX` — Error
- `5XX` — Error

---

[API](https://skmtc.net/bencherdev/apis/bencher-api.md) · [All operations](https://skmtc.net/bencherdev/apis/bencher-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bencherdev/bencher-api/versions/84086e99e6cd/schema)
