a080ca59d8
Implement v2 upload batch cleanup * Implement v2 upload batch cleanup * Merge remote-tracking branch 'origin/main' into jmathison/v2-upload-batch * Address upload batch review feedback * Raise batch worker coverage * Fix batch cleanup review issues Approved-by: Jay Brown
Api related artifacts
Prometheus metrics
Prometheus metrics are exposed for all api endpoints automatically at the standard /metrics endpoint. (http://localhost:8080/metrics)
Swagger API documentation
Automatic API docs are generated and exposed for all routes at http://localhost:8080/swagger/index.html when the api server is running.
Logging
Structured logging is built into all API routes automatically.
So for example here is a what a few API hits on queryAPI look like in the logs when using text (as opposed to json)
____ __
/ __/___/ / ___
/ _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.13.3
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
O\
⇨ http server started on [::]:8080
time=2025-02-05T13:38:32.484-08:00 level=INFO msg="HTTP request" method=GET uri=/metrics status=200 latency=2.713792ms error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.792-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/index.html status=200 latency=490.625µs error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.803-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/swagger-ui.css status=200 latency=738.083µs error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.805-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/swagger-ui-standalone-preset.js status=200 latency=887.875µs error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.807-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/swagger-ui-bundle.js status=200 latency=3.854042ms error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.871-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/doc.json status=200 latency=1.163167ms error=<nil> remote_ip=::1
time=2025-02-05T13:38:39.871-08:00 level=INFO msg="HTTP request" method=GET uri=/swagger/favicon-32x32.png status=200 latency=60.875µs error=<nil> remote_ip=::1