mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 18:12:29 +08:00
43 lines
2.2 KiB
Plaintext
43 lines
2.2 KiB
Plaintext
![]() |
### Test regular API metrics endpoint (requires session authentication)
|
||
|
|
||
|
### Get metrics from regular API (default Prometheus format)
|
||
|
GET {{triliumHost}}/api/metrics
|
||
|
|
||
|
> {%
|
||
|
client.test("API metrics endpoint returns Prometheus format by default", function() {
|
||
|
client.assert(response.status === 200, "Response status is not 200");
|
||
|
client.assert(response.headers["content-type"].includes("text/plain"), "Content-Type should be text/plain");
|
||
|
client.assert(response.body.includes("trilium_info"), "Should contain trilium_info metric");
|
||
|
client.assert(response.body.includes("trilium_notes_total"), "Should contain trilium_notes_total metric");
|
||
|
client.assert(response.body.includes("# HELP"), "Should contain HELP comments");
|
||
|
client.assert(response.body.includes("# TYPE"), "Should contain TYPE comments");
|
||
|
});
|
||
|
%}
|
||
|
|
||
|
### Get metrics in JSON format
|
||
|
GET {{triliumHost}}/api/metrics?format=json
|
||
|
|
||
|
> {%
|
||
|
client.test("API metrics endpoint returns JSON when requested", function() {
|
||
|
client.assert(response.status === 200, "Response status is not 200");
|
||
|
client.assert(response.headers["content-type"].includes("application/json"), "Content-Type should be application/json");
|
||
|
client.assert(response.body.version, "Version info not present");
|
||
|
client.assert(response.body.database, "Database info not present");
|
||
|
client.assert(response.body.timestamp, "Timestamp not present");
|
||
|
client.assert(typeof response.body.database.totalNotes === 'number', "Total notes should be a number");
|
||
|
client.assert(typeof response.body.database.activeNotes === 'number', "Active notes should be a number");
|
||
|
client.assert(response.body.noteTypes, "Note types breakdown not present");
|
||
|
client.assert(response.body.attachmentTypes, "Attachment types breakdown not present");
|
||
|
client.assert(response.body.statistics, "Statistics not present");
|
||
|
});
|
||
|
%}
|
||
|
|
||
|
### Test invalid format parameter
|
||
|
GET {{triliumHost}}/api/metrics?format=xml
|
||
|
|
||
|
> {%
|
||
|
client.test("Invalid format parameter returns error", function() {
|
||
|
client.assert(response.status === 500, "Response status should be 500");
|
||
|
client.assert(response.body.message.includes("prometheus"), "Error message should mention supported formats");
|
||
|
});
|
||
|
%}
|