This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-06-11
Channels
- # announcements (3)
- # beginners (68)
- # biff (4)
- # clerk (5)
- # clj-otel (10)
- # clojure (66)
- # clojure-austin (3)
- # clojure-berlin (3)
- # clojure-boston (5)
- # clojure-europe (25)
- # clojure-nl (36)
- # clojure-norway (78)
- # clojure-sweden (9)
- # clojure-uk (5)
- # clojurescript (6)
- # community-development (3)
- # conjure (3)
- # events (4)
- # fulcro (4)
- # gratitude (4)
- # hyperfiddle (22)
- # nrepl (7)
- # off-topic (20)
- # polylith (21)
- # reitit (2)
- # releases (1)
- # shadow-cljs (21)
- # specter (7)
- # tools-deps (3)
- # vim (18)
Hi @steffan! Do you have a date planned to cut a v 2.7 tag? Looking forward to using the synchronous gauge
:)
We are enjoying using your library at work.
I'm glad to hear you are enjoying clj-otel
😄 I should be releasing 0.2.7 within the next 7 days. I am working on adding Grafana dashboards to the microservices examples. They will feature traces and metrics. The JVM metrics provided by Java OpenTelemetry out-of-the-box are illuminating and deserve to be displayed clearly and coherently.
The following release may be 0.3.0, as that will introduce some long-planned work for the logs signal. There will be some small breakage (sorry!) as changes are made to clj-otel
to make entire applications "bound context" aware for correct logging of context throughout, not just the Clojure parts.
Playing around with attributes i got
[otel.javaagent] WARN io.opentelemetry.sdk.metrics.internal.state.DefaultSynchronousMetricStorage - Instrument count has exceeded the maximum allowed cardinality (1999).
as i don't want to remove the attributes i have and combining them would allow me to reach cardinality limit in 1-2 weeks i am looking for more permanent solution.
I'd also want to avoid using histograms because at the end of the day they would reach limit at some point as well.
Is there a way to setup expiration of the labels added?
Or to reset counter after some time so that i am never at the mercy of the limit?
edit
maybe histogram is a way to go... and i am overthinking with the expiration.. i dont know 😕
wanted to add attribute growth is basically entity + bunch of event names.
Why am i tracking it like this? I just wanted to compare different entities on different environments and maybe visualize differences in events.Attributes need to be of low cardinality, as there is a limit of 2000 distinct sets per instrument. This is quite a generous limit. If you are getting anywhere close to this limit, you need to reconsider the attributes you are using.
Say you are attempting to count the number of events by event type across a number of application instances. The number of event types might be too high, but perhaps they can be grouped in some way that still give insight.
Alternatively, consider if raw metrics is an appropriate tool for the task at hand. You may want to consider deriving metrics from logs instead.
If you absolutely must have high cardinality, then Honeycomb might be a good telemetry backend to consider.
If you were using OTLP rather than Prometheus to export metrics, you could try setting system property otel.exporter.otlp.metrics.temporality.preference
to LowMemory
to make the OTLP exporter use delta temporality (i.e. send changes) rather than cumulative temporality (i.e. send all values since application start) See https://opentelemetry.io/docs/specs/otel/metrics/sdk_exporters/otlp/
I have no idea if this would help, so maybe not a sound idea.