Commit Graph

32 Commits

Author SHA1 Message Date
Iain Sproat e06bad327f fix(preview service): use correct units for metrics (#4173) 2025-03-12 15:06:18 +01:00
Iain Sproat 8d81d65440 fix(preview service): ensure variables are defined within puppeteer scope 2025-03-12 12:01:34 +00:00
Iain Sproat 70a30e0795 fix(preview service): remove need for speckle shared in frontend (#4169)
* fix(preview service): remove need for speckle shared in frontend

* Add status for error logs
2025-03-12 12:28:54 +01:00
Iain Sproat e9a90717a4 Observe load and render times in metrics
- makes new durations optional (so requests in flight aren't dropped during deployment)
- Adds durations as a label to existing metric
- Attempt to produce durations in error cases (so we can see long load times etc..)
2025-03-11 12:56:21 +00:00
Gergő Jedlicska 3fc61c2dbd feat(preview-service): add load and render duration calculation to preview service 2025-03-11 12:59:50 +01:00
Iain Sproat 05d7a8fbe2 fix(preview service): expose metrics port via helm chart (#4150)
- remove obsolete references to metricsPort
- allow listen Host to be configured
2025-03-10 19:53:10 +01:00
Iain Sproat cfef333a0c feat(preview service): introduce /metrics endpoint for Prometheus (#4127) 2025-03-10 10:48:29 +00:00
Gergő Jedlicska a900aa3c7b fix(previews): logging and promise fixes (#4137) 2025-03-10 10:22:02 +01:00
Gergő Jedlicska fb0e67f136 fix(preview-service): timeout was already in milis (#4129) 2025-03-06 19:58:48 +01:00
Gergő Jedlicska 990a5fa056 fix(previews): add proper timeout, remove some leftover crap (#4128) 2025-03-06 17:40:26 +01:00
Gergő Jedlicska 61609de97e gergo/previews (#3765)
* feat(preview-generator): add new preview generator webapp

* wip(preview-service): reworking the preview service backend

* feat(previews): logging

* feat(preview-service): streamline payloads

* fix(preview-service): do not log the full payload

* feat(preview-service): build new preview service

* feat(preview-service): add separate response queue

* feat(previews): integrate preview queues with the server

* feat(previews): use module alias

* chore(previews): remove old preview service code

* feat(previews): log stuff on job statuses

* fix(previews): add missing deps and scripts

* fix(previews): package deps fix

* fix(server): moar typing fixes

* Metrics related to jobs: total count, request failures, response errors & durations

* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)

* fix(server, frontend): some ts fixes

* fixes

* fix(frontend): remove unneeded ts-expect-error

* chore(preview-service): eslint

* TS fix

* feat(previews): more smoal fixes

* fix(preview-service): alias loading

* feat(helm): updates for new preview service queue setup

* feat(preview-service): launch new browser for each job

* feat(preview-service): add timeout, fix liveliness

* fix(helm): add access to new secret in service accounts

* tidy metrics into a separate file

* Remove broken preview service acceptance test

* fix broken import

* Add metrics to test

* feat(preview-service): handle preview service shutdown properly

* fix(previews): merge bork

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-03-06 14:26:56 +01:00
Iain Sproat 947f8fd4fa fix(server/database streams): remove event listener on batch completion (#3938) 2025-02-05 15:16:22 +00:00
Iain Sproat a4521d46a1 fix(logging): user-input issues should not be logged as error level (#3935)
* fix(logging): reduce user-input issues being logged as error

* error logging middleware should better handle caught errors
2025-02-05 15:08:10 +00:00
Iain Sproat 752041dba6 fix(server & preview-service): apply fix #3921 to all db streams (#3929) 2025-02-04 11:40:00 +00:00
Iain Sproat 0115e654b7 feat(database monitor): handles multi-region and connection pooling (#3685) 2024-12-17 09:36:39 +00:00
Iain Sproat c4def81ae2 feat(server options): allow connection timeouts to be configured (#3701)
* feat(server options): allow connection timeouts to be configured

* feat(postgres config): allow connection parameters to be configured
2024-12-16 13:39:40 +00:00
Iain Sproat 083999da46 chore(server/logging): use message template instead of runtime formatting (#3638)
- reduce the cardinality of messages, to allow filtering by message template
2024-12-05 12:02:48 +00:00
Gergő Jedlicska 13bfa3fde1 fix(preview-service): main region db client selector (#3518) 2024-11-19 19:29:35 +01:00
Gergő Jedlicska ef043ee234 gergo/web 2158 previews module multi region (#3492)
* feat(previews): multi region previews module

* feat(preview-service): talk multi region

* fix(preview-service): test helper await

* fix(preview-service): remove linting issue, this prob makes it worse
2024-11-19 16:35:39 +01:00
Adam Hathcock 86f5c3da2b Add stream destroy where db streams are used on download (#3300) 2024-10-17 11:35:39 +02:00
Iain Sproat bd8da2e4bf fix(preview-service): use lodash-es not lodash (#3012) 2024-09-16 15:54:16 +01:00
Iain Sproat cd14619790 fix(logging): use getRequestPath to more robustly identify debug logs (#3005) 2024-09-16 14:01:34 +01:00
Iain Sproat b58d077cf3 fix(preview-service): knex should use pino logger (#3004) 2024-09-16 11:44:56 +01:00
Gergő Jedlicska 965c9f94f6 feat(preview-service): use axios for proper timeout support (#2939) 2024-09-11 10:55:37 +02:00
Iain Sproat 7c55af8893 revert(preview service): logging broke initialization (#2902)
- we need more tests
2024-09-07 11:45:07 +01:00
Iain Sproat 19b51c5308 Revert "fix(preview-service): only create a puppeteer client per app, not per…" (#2901)
This reverts commit d5c9e5e207.
2024-09-07 11:09:47 +01:00
Iain Sproat 20fcc407fd chore(preview service): improve logging (#2900)
* chore(preview service): improve logging

* use correct logging syntax in test
2024-09-07 11:08:46 +01:00
Iain Sproat d5c9e5e207 fix(preview-service): only create a puppeteer client per app, not per request (#2899)
* fix(preview-service): only create a puppeteer client per app, not per request

* allow puppeteer client to be dependency injected and stub in tests
2024-09-07 09:50:30 +01:00
Iain Sproat c227495d66 fix(preview service): gracefully close streams (#2887) 2024-09-05 17:18:23 +01:00
Iain Sproat 206b2368ba fix(preview-service): listen externally on metrics port (#2893) 2024-09-05 16:50:23 +01:00
Iain Sproat d0113104ce fix(preview service): healthcheck was duplicate sub-pathed /metrics path (#2874)
- it was serving at /metrics/metrics and should be serving at /metrics only
2024-09-04 14:18:26 +01:00
Iain Sproat 9a28e467ba refactor(preview-service): conforms to design patterns, adds tests, and is typed (#2429)
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-09-04 13:06:23 +01:00