---
title: "Get tenant-safe Function Overview metrics"
method: GET
path: "/projects/{id}/functions/{functionId}/metrics"
---

# Get tenant-safe Function Overview metrics

`GET /projects/{id}/functions/{functionId}/metrics`

## Request

- Base URL: `https://api.eurobase.dev`
- URL: `https://api.eurobase.dev/projects/{id}/functions/{functionId}/metrics`
- Auth: none declared

## Path parameters

- `id` string, required
- `functionId` string, required

## Query parameters

- `timeRange` '15m' | '1h' | '3h' | '1d'

## Response `200`

Function Overview metrics projection

- FunctionMetricsResponse
  - `project` object, required
    - `id` string, required
  - `function` object, required
    - `id` string, required
    - `name` string, required
  - `timeRange` '15m' | '1h' | '3h' | '1d', required
  - `windowStart` string, date-time, required
  - `windowEnd` string, date-time, required: End of the completed 5-minute grid used by the resource series.
  - `bucketStarts` string[], required
  - `availability` 'ready' | 'partial' | 'unavailable', required
  - `serviceLevel` FunctionServiceLevel, required: Function Access traffic for the window through the read time, including requests already recorded in the in-progress interval. A live window is evaluated as of the oldest open Gateway store cut, which must be at most 7 minutes old; windows ending before that cut are evaluated strictly.
    - `trafficAvailability` 'ready' | 'partial' | 'unavailable', required: ready: coverage is complete as of asOf; partial: recorded values are shown but some requests may be unconfirmed; unavailable: no request is recorded and the window is not confirmed empty.
    - `asOf` string, date-time, nullable, required: Combined Gateway store cut the coverage is evaluated at.
    - `availability` FunctionServiceLevelMetric, required
      - `value` union, required
        - number
        - string
      - `unit` 'percent' | 'millisecond', required
    - `totalRequests` integer, nullable, required: Null when no request is recorded and the window is not confirmed empty.
    - `successfulRequests` integer, nullable, required
    - `successfulRequestRate` FunctionServiceLevelMetric, required
      - `value` union, required
        - number
        - string
      - `unit` 'percent' | 'millisecond', required
    - `fourXxRate` FunctionServiceLevelMetric, required
      - `value` union, required
        - number
        - string
      - `unit` 'percent' | 'millisecond', required
    - `fiveXxRate` FunctionServiceLevelMetric, required
      - `value` union, required
        - number
        - string
      - `unit` 'percent' | 'millisecond', required
    - `p95ResponseTimeMs` FunctionServiceLevelMetric, required
      - `value` union, required
        - number
        - string
      - `unit` 'percent' | 'millisecond', required
    - `timeline` object[], required: At most 36 cells aligned to windowStart through windowEnd, plus one in-progress cell from windowEnd to the read time when the read falls inside a 5-minute interval.
      - `bucketStart` string, date-time, required
      - `bucketEnd` string, date-time, required
      - `totalRequests` integer, nullable, required
      - `successfulRequests` integer, nullable, required
      - `statusClasses` object, required
        - `2xx` integer, required
        - `3xx` integer, required
        - `4xx` integer, required
        - `5xx` integer, required
      - `trafficAvailability` 'ready' | 'partial' | 'unavailable', required
      - `asOf` string, date-time, nullable, required
      - `availability` 'empty' | 'healthy' | 'warning' | 'error', required
  - `resourceDiagnostics` FunctionResourceDiagnostics, required
    - `bestEffort` unknown, required
    - `cpuTime` FunctionCpuTimeDiagnostics, required
      - `meaning` 'terminated-worker-lifetime', required
      - `unit` 'millisecond', required
      - `aggregation` 'sum', required
      - `sumMs` string, nullable, required
      - `series` string[], required
      - `sampleCount` integer, required
      - `lastObservedAt` string, date-time, nullable, required
    - `memory` FunctionMemoryDiagnostics, required
      - `meaning` 'sampled-worker-heap-plus-external', required
      - `unit` 'bytes', required
      - `aggregation` 'maximum', required
      - `maxBytes` string, nullable, required
      - `series` string[], required
      - `sampleCount` integer, required
      - `lastObservedAt` string, date-time, nullable, required
  - `metrics` object, required
    - `cpuUsage` FunctionMetricSeries, required
      - `availability` 'ready' | 'partial' | 'unavailable', required
      - `unit` 'percent' | 'bytes' | 'count', required
      - `aggregation` 'average' | 'maximum', required
      - `value` string, nullable, required
      - `series` string[], required
      - `updatedAt` string, date-time, nullable, required
      - `reason` 'metrics-unavailable' | 'metrics-not-ready' | 'metrics-source-unavailable' | 'metrics-source-stale' | 'metrics-empty' | 'null', nullable, required
    - `memoryUsage` FunctionMetricSeries, required
      - `availability` 'ready' | 'partial' | 'unavailable', required
      - `unit` 'percent' | 'bytes' | 'count', required
      - `aggregation` 'average' | 'maximum', required
      - `value` string, nullable, required
      - `series` string[], required
      - `updatedAt` string, date-time, nullable, required
      - `reason` 'metrics-unavailable' | 'metrics-not-ready' | 'metrics-source-unavailable' | 'metrics-source-stale' | 'metrics-empty' | 'null', nullable, required
    - `instances` FunctionMetricSeries, required
      - `availability` 'ready' | 'partial' | 'unavailable', required
      - `unit` 'percent' | 'bytes' | 'count', required
      - `aggregation` 'average' | 'maximum', required
      - `value` string, nullable, required
      - `series` string[], required
      - `updatedAt` string, date-time, nullable, required
      - `reason` 'metrics-unavailable' | 'metrics-not-ready' | 'metrics-source-unavailable' | 'metrics-source-stale' | 'metrics-empty' | 'null', nullable, required
    - `responseStatus` FunctionResponseStatusMetric, required
      - `availability` 'ready' | 'unavailable', required
      - `unit` 'percent', required
      - `aggregation` 'distribution', required
      - `value` string, nullable, required
      - `series` string[], required: Reserved for future per-bucket status distribution; currently empty because the API returns window-level status classes.
      - `classes` object[], required
        - `statusClass` '2xx' | '3xx' | '4xx' | '5xx', required
        - `value` string, nullable, required
        - `count` string, nullable, required
      - `updatedAt` string, date-time, nullable, required
      - `reason` 'metrics-unavailable' | 'metrics-not-ready' | 'metrics-source-unavailable' | 'metrics-source-stale' | 'metrics-empty' | 'null', nullable, required

## Other responses

- `404`: Function not found or not visible in the project

---

[API](https://skmtc.dev/eurobase/apis/eurobase-api.md) · [All operations](https://skmtc.dev/eurobase/apis/eurobase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eurobase/apis/eurobase-api/revisions/5266a299d18a?raw)
