Fork me on GitHub
#announcements
<
2020-08-04
>
bruno.bonacci11:08:05

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

🎉 42
parrot 12
bruno.bonacci11:08:05

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:

🎉 51
parrot 9
Cory22:08:42

i have been evaluating diehard but this has a lot of strong selling points for me!

Jakub Holý10:08:53

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.

bruno.bonacci11:08:39

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.

👍 3
lvh14:08:26

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 :)

👏 18