Commit graph

282 commits

Author SHA1 Message Date
Simon Cruanes
1bedb57123
feat: implement basic support for logs
also send them to the collector.
2022-04-28 09:57:28 -04:00
Simon Cruanes
64df05d010
wip: support logs in the API 2022-04-28 09:57:28 -04:00
Simon Cruanes
4bc5e2f5d1
update readme 2022-04-27 16:53:50 -04:00
Simon Cruanes
2149bb0714
fix: proper starting point for cumulative metrics
use the start of the program as a fixed reference point.
see: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/datamodel.md#temporality
2022-04-26 10:08:56 -04:00
Simon Cruanes
62f3bb8b03
expose tick function 2022-04-20 12:42:47 -04:00
Simon Cruanes
31933c9369
doc: update readme to list env vars 2022-04-19 13:28:56 -04:00
Simon Cruanes
9d4bb5a97f
feat: debug the library is set via OTEL_OCAML_DEBUG 2022-04-19 13:28:55 -04:00
Simon Cruanes
51cebfd383
Merge pull request #16 from AestheticIntegration/set-global-attrs
feat: use a ref for Globals.global_attributes
2022-04-19 13:28:33 -04:00
Simon Cruanes
01b31b471c
doc: improve docs for main module 2022-04-15 17:52:22 -04:00
Simon Cruanes
c950ffc885
feat: use a ref for Globals.global_attributes
sometimes it's useful to be able to modify them from the code itself.
For example a client or service might generate a unique Uuidm for its whole
lifetime, and add that as an attribute to later filter on it.
2022-04-15 08:59:13 -04:00
Simon Cruanes
c01879c4b0
refactor(client): split into several modules 2022-04-13 16:28:23 -04:00
Simon Cruanes
06cbe55d11
chore: use dune 2.7 so that subst works (for the version field) 2022-04-12 16:46:26 -04:00
Simon Cruanes
20cc772682
fix 2022-04-12 14:14:36 -04:00
Simon Cruanes
3448e33d29
fix: same 2022-04-12 13:53:24 -04:00
Simon Cruanes
2c1c67bfe8
fix: emit traces, too 2022-04-12 13:50:50 -04:00
Simon Cruanes
3f3a39eee7
Merge pull request #15 from AestheticIntegration/missing-global-attrs
Missing global attrs in metrics
2022-04-12 13:44:17 -04:00
Simon Cruanes
71b999a5b7
use conventions 2022-04-12 12:04:49 -04:00
Simon Cruanes
c362899ff1
add global attributes to metrics as well; add library version 2022-04-12 12:01:07 -04:00
Simon Cruanes
7af92b5589
minor refactoring 2022-04-12 11:56:28 -04:00
Simon Cruanes
d69da69c48
Merge pull request #14 from AestheticIntegration/runtime-metrics
feat: use runtime metric conventions; add runtime attributes
2022-04-12 11:56:12 -04:00
Matt Bray
1919154085 add runtime attrs to GC stats 2022-04-12 16:26:08 +01:00
Matt Bray
66693280ec expose GC_metrics.get_runtime_attributes 2022-04-12 16:25:52 +01:00
Matt Bray
bf4ac37f21 feat: use runtime metric conventions; add runtime attributes
See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/semantic_conventions/runtime-environment-metrics.md#runtime-environment-specific-metrics---processruntimeenvironment
2022-04-12 16:08:58 +01:00
Nicola Mometto
ba70c5d71b chore: add version 2022-04-12 15:24:59 +01:00
Simon Cruanes
1ca14b3a51
fix: name of metrics 2022-04-11 18:16:50 -04:00
Simon Cruanes
1b1b980211
test: in emit1, use GC_metrics 2022-04-11 16:33:05 -04:00
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
591cbad4b2
rename some GC metrics 2022-03-31 16:20:51 -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
8f2a666a70
feat: relax type for Trace.with_ so it's covariant in attrs 2022-03-28 15:00:16 -04:00
Simon Cruanes
46487f3997
gc metrics: count in bytes, not words 2022-03-28 14:31:01 -04:00
Simon Cruanes
fdd4582a2f
util: add module to emit some GC metrics 2022-03-28 11:37:17 -04:00
Simon Cruanes
a9f17ef54b
refactor emit1 2022-03-28 09:36:21 -04:00
Matt Bray
89dae63114
Merge pull request #11 from AestheticIntegration/trace-with-scope
feat: allow passing ~scope back to Trace.with_
2022-03-25 16:14:37 +00:00
Matt Bray
d92a9be08a feat: allow passing ~scope back to Trace.with_ 2022-03-25 15:56:01 +00:00
Simon Cruanes
2d220b20af
ocurl backend: ticker thread 2022-03-25 11:06:34 -04:00
Matt Bray
078e8b416d chore: build opentelemetry-cohttp-lwt in CI 2022-03-25 11:59:48 +00:00
Matt Bray
b67fc00821
Merge pull request #10 from AestheticIntegration/matt/cohttp-client
Integration with cohttp-lwt (client)
2022-03-25 11:57:32 +00:00
Matt Bray
1046ec2bf6
Merge pull request #9 from AestheticIntegration/matt/cohttp
Integration with cohttp-lwt
2022-03-25 11:36:39 +00:00
Matt Bray
0ad2d3f641 feat(cohttp): trace post_form 2022-03-25 10:56:35 +00:00
Matt Bray
5e8affe508 fix(cohttp): use correct scope for traceparent header 2022-03-25 10:56:35 +00:00
Matt Bray
82bcebbb89 chore(cohttp): optional service_name 2022-03-25 10:56:35 +00:00
Matt Bray
32fec9b2f5 chore(cohttp): trace more methods 2022-03-25 10:56:35 +00:00
Matt Bray
c8391fc522 test(cohttp): client bin 2022-03-25 10:56:35 +00:00
Matt Bray
c5e789c2d8 wip(cohttp): traced client 2022-03-25 10:56:35 +00:00
Matt Bray
f44c524ad0 feat(cohttp/server): put the trace scope in the request 2022-03-25 10:56:23 +00:00
Matt Bray
78f2e7bde4 refactor 2022-03-25 10:56:23 +00:00
Matt Bray
e17fb1dfb7 feat(cohttp): pass scope to callback 2022-03-24 18:12:13 +00:00