X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fopen-telemetry.ts;h=fd85fc5141ec39ba1df0ff787e7dca6b4a542114;hb=6a9b3151822461a85bbc72b7a50e12ffb69bec3a;hp=3137a9eb6089d0d48e34df8f4345f49f5dc21af0;hpb=fd3c2e87051f5029cdec39d877b576a62f48e219;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/open-telemetry.ts b/server/tests/api/server/open-telemetry.ts index 3137a9eb6..fd85fc514 100644 --- a/server/tests/api/server/open-telemetry.ts +++ b/server/tests/api/server/open-telemetry.ts @@ -9,14 +9,16 @@ describe('Open Telemetry', function () { let server: PeerTubeServer describe('Metrics', function () { - const metricsUrl = 'http://localhost:9092/metrics' + const metricsUrl = 'http://127.0.0.1:9092/metrics' it('Should not enable open telemetry metrics', async function () { + this.timeout(60000) + server = await createSingleServer(1) let hasError = false try { - await makeRawRequest(metricsUrl, HttpStatusCode.NOT_FOUND_404) + await makeRawRequest({ url: metricsUrl, expectedStatus: HttpStatusCode.NOT_FOUND_404 }) } catch (err) { hasError = err.message.includes('ECONNREFUSED') } @@ -27,7 +29,9 @@ describe('Open Telemetry', function () { }) it('Should enable open telemetry metrics', async function () { - server = await createSingleServer(1, { + this.timeout(120000) + + await server.run({ open_telemetry: { metrics: { enabled: true @@ -35,8 +39,12 @@ describe('Open Telemetry', function () { } }) - const res = await makeRawRequest(metricsUrl, HttpStatusCode.OK_200) + // Simulate a HTTP request + await server.videos.list() + + const res = await makeRawRequest({ url: metricsUrl, expectedStatus: HttpStatusCode.OK_200 }) expect(res.text).to.contain('peertube_job_queue_total{') + expect(res.text).to.contain('http_request_duration_ms_bucket{') }) it('Should have playback metrics', async function () { @@ -58,8 +66,29 @@ describe('Open Telemetry', function () { } }) - const res = await makeRawRequest(metricsUrl, HttpStatusCode.OK_200) - expect(res.text).to.contain('peertube_playback_http_uploaded_bytes_total{') + const res = await makeRawRequest({ url: metricsUrl, expectedStatus: HttpStatusCode.OK_200 }) + expect(res.text).to.contain('peertube_playback_http_downloaded_bytes_total{') + }) + + it('Should disable http request duration metrics', async function () { + await server.kill() + + await server.run({ + open_telemetry: { + metrics: { + enabled: true, + http_request_duration: { + enabled: false + } + } + } + }) + + // Simulate a HTTP request + await server.videos.list() + + const res = await makeRawRequest({ url: metricsUrl, expectedStatus: HttpStatusCode.OK_200 }) + expect(res.text).to.not.contain('http_request_duration_ms_bucket{') }) after(async function () { @@ -85,12 +114,12 @@ describe('Open Telemetry', function () { }) it('Should enable open telemetry metrics', async function () { - server = await createSingleServer(1, { + await server.run({ open_telemetry: { tracing: { enabled: true, jaeger_exporter: { - endpoint: 'http://localhost:' + mockPort + endpoint: 'http://127.0.0.1:' + mockPort } } }