feat(api): Add endpoint to retrieve response time (#1070)

Add in the API the ability to get Response Times

Co-authored-by: Adrian Almenar <adrian@tecnocratica.net>
This commit is contained in:
Adrian
2025-04-29 23:21:18 +02:00
committed by GitHub
parent 493c7165fe
commit fe214e9e25
4 changed files with 79 additions and 0 deletions

View File

@@ -118,10 +118,12 @@ Have any feedback or questions? [Create a discussion](https://github.com/TwiN/ga
- [Health](#health)
- [Health (Shields.io)](#health-shieldsio)
- [Response time](#response-time)
- [Response time (chart)](#response-time-chart)
- [How to change the color thresholds of the response time badge](#how-to-change-the-color-thresholds-of-the-response-time-badge)
- [API](#api)
- [Raw Data](#raw-data)
- [Uptime](#uptime-1)
- [Response Time](#response-time-1)
- [Installing as binary](#installing-as-binary)
- [High level design overview](#high-level-design-overview)
@@ -2511,6 +2513,20 @@ For instance, if you want the raw uptime data for the last 24 hours from the end
https://example.com/api/v1/endpoints/core_frontend/uptimes/24h
```
##### Response Time
The path to get raw response time data for an endpoint is:
```
/api/v1/endpoints/{key}/response-times/{duration}
```
Where:
- `{duration}` is `30d`, `7d`, `24h` or `1h`
- `{key}` has the pattern `<GROUP_NAME>_<ENDPOINT_NAME>` in which both variables have ` `, `/`, `_`, `,` and `.` replaced by `-`.
For instance, if you want the raw response time data for the last 24 hours from the endpoint `frontend` in the group `core`, the URL would look like this:
```
https://example.com/api/v1/endpoints/core_frontend/response-times/24h
```
### Installing as binary
You can download Gatus as a binary using the following command:
```