This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-08-04
Channels
- # announcements (6)
- # beginners (207)
- # calva (39)
- # cestmeetup (35)
- # chlorine-clover (36)
- # clj-kondo (15)
- # clj-together (1)
- # cljsrn (2)
- # clojure (110)
- # clojure-europe (8)
- # clojure-italy (9)
- # clojure-nl (2)
- # clojure-uk (5)
- # clojurescript (61)
- # conjure (4)
- # cursive (1)
- # datalog (3)
- # datomic (22)
- # emacs (8)
- # events (2)
- # figwheel-main (11)
- # fulcro (23)
- # graalvm (16)
- # graphql (1)
- # helix (4)
- # jobs (5)
- # jobs-discuss (4)
- # malli (3)
- # mid-cities-meetup (13)
- # off-topic (58)
- # pathom (12)
- # re-frame (30)
- # reagent (45)
- # reitit (1)
- # reveal (7)
- # sci (2)
- # shadow-cljs (173)
- # spacemacs (1)
- # sql (1)
- # test-check (5)
- # xtdb (13)
Hi all,
I’ve just release μ/log v0.4.0
https://github.com/BrunoBonacci/mulog
This version contains:
- A new publisher for AWS CloudWatch Logs
- A new publisher for [Jaeger Tracing](https://www.jaegertracing.io/)
- Performances improvements for μ/trace and local-context
- Various fixes and improvements
- More documentation
Hi all,
I’ve just release safely v0.7.0-alpha1
https://github.com/BrunoBonacci/safely
Safely is a Clojure’s circuit-breaker library for handling retries in an elegant declarative way.
This version contains the tracking migration to μ/log.
So now all the safely
s-expr are automatically traced and you can get a visual representation
of your traces via Zipkin (http://zipkin.io) and Jaeger Tracing (https://www.jaegertracing.io/)
Here and example:
Nice! Here:
;; or wait a random amount of time with +/- a random variation
:retry-delay [:random 3000 :+/- 0.35]
Q1: Is the +/- a fraction of the base, i.e. +/- 300 * 0.35? And is it really "random amount of time with +/-" or rather "given amount of time with +/- random variation"? Update: Reading more of the Readme I see this is indeed the case
Typo here:
;; if the output of the body should be considered as a filed response
Q2: And what is "thread pool queue size"? How many calls can wait for a thread to become available? What happens to those that do not fit in? Update: I see it is later explained to be indeed the case.
Typo: time an incrising number
Q3: What does :failure-threshold 0.5
mean? That 50% of requests in some time window failed??
"Hystrix over the years became unnecessarily a huge library." - and it is also deprecated in favour of resilience4j or adaptive limits.Hi @U0522TWDA,
thanks for the typos, i’ll fix it.
A1: it produces a random jitter with uniform distribution around the base
with a +/- a given pct
. you can see it as roughly 3s (across many calls)
A2: Queue size and thread-pool size are configurable, requests are rejected of no space/thread is available. Depending on the configuration the request might be retried in a later time
A3: :failure-threshold
checks how many requests failed within the last x seconds (controlled by :counters-buckets
) and if the threshold is crossed it flips the circuit open.
Unfortunately one of the improvements in Cloverage 1.1.3 introduced a regression 😬 Fortunately the author of the feature with the unintended side effect was able to quickly produce an alternative that appears to work fine, and now we have a regression test for that edge case 🙂
I have cut a new release, 1.2.0 -- everyone should update. lein-cloverage
will inject RELEASE
automatically if you don't specify a version explicitly in your dependencies or via the CLOVERAGE_VERSION
environment variable, so hopefully this will fix a bunch of projects that never even noticed anything was wrong :)