Skip to content

DOC-745 | Fix API call recording OpenAPI description and release notes #737

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 72 additions & 7 deletions site/content/3.12/develop/http-api/monitoring/logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -848,14 +848,17 @@ paths:
operationId: getRecentApiCalls
description: |
Get a list of the most recent requests with a timestamp and the endpoint.
This feature is for debugging purposes.
This feature is for debugging purposes.

You can control how much memory is used to record API calls with the
`--server.memory-per-api-call-list` and `--server.number-of-api-call-lists`
startup options.
`--server.api-recording-memory-limit` startup option.

You can disable API call recording via the `--server.api-call-recording`
startup option. The endpoint returns an empty list of calls in this case.
You can disable this endpoint
with the `--log.recording-api-enabled` startup option.

Whether API calls are recorded is independently controlled by the
`--server.api-call-recording` startup option.
The endpoint returns an empty list of calls if turned off.
parameters:
- name: database-name
in: path
Expand All @@ -870,7 +873,7 @@ paths:
responses:
'200':
description: |
The
Returns the recorded API calls.
content:
application/json:
schema:
Expand Down Expand Up @@ -913,7 +916,7 @@ paths:
description: |
The HTTP request method.
type: string
enum: [get, patch, put, delete, head]
enum: [GET, PATCH, PUT, DELETE, HEAD]
path:
description: |
The HTTP request path excluding the database prefix (`/_db/<database-name>`).
Expand Down Expand Up @@ -953,6 +956,68 @@ paths:
description: |
A descriptive error message.
type: string
'403':
description: |
The recording API has been disabled.
content:
application/json:
schema:
type: object
required:
- error
- code
- errorNum
- errorMessage
properties:
error:
description: |
A flag indicating that an error occurred.
type: boolean
example: true
code:
description: |
The HTTP response status code.
type: integer
example: 403
errorNum:
description: |
ArangoDB error number for the error that occurred.
type: integer
errorMessage:
description: |
A descriptive error message.
type: string
'501':
description: |
The method has not been called on a Coordinator or single server.
content:
application/json:
schema:
type: object
required:
- error
- code
- errorNum
- errorMessage
properties:
error:
description: |
A flag indicating that an error occurred.
type: boolean
example: true
code:
description: |
The HTTP response status code.
type: integer
example: 501
errorNum:
description: |
ArangoDB error number for the error that occurred.
type: integer
errorMessage:
description: |
A descriptive error message.
type: string
tags:
- Monitoring
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2167,19 +2167,20 @@ A new `/_admin/server/api-calls` endpoint has been added to let you retrieve a
list of the most recent requests with a timestamp and the endpoint. This feature
is for debugging purposes.

You can configure the memory limit for this feature with the following startup options:
You can configure the memory limit for this feature with the following startup option:

- `--server.number-of-api-call-lists`:
The size of the ring buffer for API call record lists (default: `256`).
- `--server.memory-per-api-call-list`:
The amount of memory used for a single API call record list (default: `100000` bytes)

This means that approximately 25 MB of memory are reserved by default.
- `--server.api-recording-memory-limit`:
Size limit for the list of API call records (default: `25600000`).

This means that 25 MB of memory is reserved by default.

API call recording is enabled by default but you can disable it via the new
`--server.api-call-recording` startup option.

The `/_admin/server/api-calls` endpoint exposes the recorded API calls.
It is enabled by default. You can disable it altogether by setting the new
`--log.recording-api-enabled` startup option to `false`.

A metric has been added for the time spent on API call recording to track the
impact of this feature:

Expand Down
79 changes: 72 additions & 7 deletions site/content/3.13/develop/http-api/monitoring/logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -848,14 +848,17 @@ paths:
operationId: getRecentApiCalls
description: |
Get a list of the most recent requests with a timestamp and the endpoint.
This feature is for debugging purposes.
This feature is for debugging purposes.

You can control how much memory is used to record API calls with the
`--server.memory-per-api-call-list` and `--server.number-of-api-call-lists`
startup options.
`--server.api-recording-memory-limit` startup option.

You can disable API call recording via the `--server.api-call-recording`
startup option. The endpoint returns an empty list of calls in this case.
You can disable this endpoint
with the `--log.recording-api-enabled` startup option.

Whether API calls are recorded is independently controlled by the
`--server.api-call-recording` startup option.
The endpoint returns an empty list of calls if turned off.
parameters:
- name: database-name
in: path
Expand All @@ -870,7 +873,7 @@ paths:
responses:
'200':
description: |
The
Returns the recorded API calls.
content:
application/json:
schema:
Expand Down Expand Up @@ -913,7 +916,7 @@ paths:
description: |
The HTTP request method.
type: string
enum: [get, patch, put, delete, head]
enum: [GET, PATCH, PUT, DELETE, HEAD]
path:
description: |
The HTTP request path excluding the database prefix (`/_db/<database-name>`).
Expand Down Expand Up @@ -953,6 +956,68 @@ paths:
description: |
A descriptive error message.
type: string
'403':
description: |
The recording API has been disabled.
content:
application/json:
schema:
type: object
required:
- error
- code
- errorNum
- errorMessage
properties:
error:
description: |
A flag indicating that an error occurred.
type: boolean
example: true
code:
description: |
The HTTP response status code.
type: integer
example: 403
errorNum:
description: |
ArangoDB error number for the error that occurred.
type: integer
errorMessage:
description: |
A descriptive error message.
type: string
'501':
description: |
The method has not been called on a Coordinator or single server.
content:
application/json:
schema:
type: object
required:
- error
- code
- errorNum
- errorMessage
properties:
error:
description: |
A flag indicating that an error occurred.
type: boolean
example: true
code:
description: |
The HTTP response status code.
type: integer
example: 501
errorNum:
description: |
ArangoDB error number for the error that occurred.
type: integer
errorMessage:
description: |
A descriptive error message.
type: string
tags:
- Monitoring
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2167,19 +2167,20 @@ A new `/_admin/server/api-calls` endpoint has been added to let you retrieve a
list of the most recent requests with a timestamp and the endpoint. This feature
is for debugging purposes.

You can configure the memory limit for this feature with the following startup options:
You can configure the memory limit for this feature with the following startup option:

- `--server.number-of-api-call-lists`:
The size of the ring buffer for API call record lists (default: `256`).
- `--server.memory-per-api-call-list`:
The amount of memory used for a single API call record list (default: `100000` bytes)

This means that approximately 25 MB of memory are reserved by default.
- `--server.api-recording-memory-limit`:
Size limit for the list of API call records (default: `25600000`).

This means that 25 MB of memory is reserved by default.

API call recording is enabled by default but you can disable it via the new
`--server.api-call-recording` startup option.

The `/_admin/server/api-calls` endpoint exposes the recorded API calls.
It is enabled by default. You can disable it altogether by setting the new
`--log.recording-api-enabled` startup option to `false`.

A metric has been added for the time spent on API call recording to track the
impact of this feature:

Expand Down