Commit graph

120 commits

Author SHA1 Message Date
Simon Cruanes
3d0d031bcd
fix: yet another fix for emitting GC metrics
now, the frontend (Opentelemetry) is responsible for signalling the
backend when to emit GC stats; but the backend just samples GC metrics
on the next `tick()` and pushes them in the next batch. This saves us
from having to worry about re-entrancy and GC metrics being emitted
during the emission of something else.
2022-04-11 16:33:01 -04:00
Simon Cruanes
786ebb611a
ocurl-client: reset needs_gc_metrics 2022-04-11 15:29:32 -04:00
Simon Cruanes
5180be31bc
feat(collector): move GC metrics logic to the collector
this helps avoiding reentrancy issue, where the collector allocates,
triggers the GC metrics alarm, which tries to push new metrics in the
middle of a batch (currently leading to a potential deadlock).
2022-04-11 13:09:13 -04:00
Simon Cruanes
6722c49bb0
feat(curl-client): block some signals in background thread(s) 2022-03-30 11:54:12 -04:00
Simon Cruanes
2d220b20af
ocurl backend: ticker thread 2022-03-25 11:06:34 -04:00
Simon Cruanes
901730583c
remove over from backend 2022-03-24 10:59:37 -04:00
Simon Cruanes
e2e2c4baac
fuck vendoring atomic 2022-03-23 15:33:03 -04:00
Simon Cruanes
03313e9121
fix(ocurl): check for batch timeouts in exporter as well 2022-03-22 13:00:06 -04:00
Simon Cruanes
3a72a73c15
self exported metrics 2022-03-22 12:38:29 -04:00
Simon Cruanes
bcbb07027f
add ?enable to the ocurl client 2022-03-22 11:33:12 -04:00
Simon Cruanes
000292cd17
catch errors in backend 2022-03-22 11:26:24 -04:00
Simon Cruanes
b03ff26ba6
change signature of with_setup 2022-03-22 11:18:52 -04:00
Simon Cruanes
fb0778805d
ocurl backend: implement non-threaded mode, add config for batch timeout
emit batches, even if they're not full, after given timeout
2022-03-21 15:20:31 -04:00
Simon Cruanes
a00d4d2383
collector: if queue is full, drop item, and wakeup thread 2022-03-21 15:06:38 -04:00
Simon Cruanes
124ba09b2b
feat: implement background thread, collector config, batching 2022-03-21 15:01:41 -04:00
Simon Cruanes
097436f907
make collector async-compatible (inspired from Logs) 2022-03-18 11:09:12 -04:00
Simon Cruanes
4bed351df4
debug 2022-03-17 14:19:52 -04:00
Simon Cruanes
f7499be0dd
curl backend: temporary debug output, better curl options 2022-03-17 13:08:33 -04:00
Simon Cruanes
b05d64a025
start fleshing out main API, starting with metrics 2022-03-16 16:48:28 -04:00
Simon Cruanes
14a0fa922d
initial commit 2022-03-16 15:58:08 -04:00