Fork me on GitHub

Hello! How do you guys measure your clojure production apps? I've reading about riemann[1] and metrics[2] but I would like to hear about pros and cons if someone have already tested these libs 1 2


i didn't find riemann very useful (as it does not store data, and you can't query stuff ad hoc)

👍 4

metrics-clojure is ok, it is just a thin wrapper around io.dropwizard,metrics

👍 8

If you're on AWS, Cloudwatch can do the job. I know the other solutions are probably more powerful, but they also require more setup.

👍 4

is riemann more or less logstash?

✔️ 4

then graylog might be useful as a rolling storage

👍 4

there is a plugin for logstash & riemann From the description: > Riemann is a network event stream processing system. > >While Riemann is very similar conceptually to Logstash, it has much more in terms of being a monitoring system replacement. > >Riemann is used in Logstash much like statsd or other metric-related outputs


I’ve been eyeing lately, I like the idea of wide “events” and observability instead of metrics and logs.

👍 4

Anyone here running clojure app on core async on 24+ cores? Do channels scale nicely there?

Alex Miller (Clojure team)17:12:49

“channels” don’t really have a thing to scale

Alex Miller (Clojure team)17:12:14

go blocks use a fixed size thread pool for compute, which defaults to 8 thread, so if you’re using those, you would probably want to increase


Oh, I always assumed it was 2 times num of cores + 2. Is that only the agent pool then?

Alex Miller (Clojure team)18:12:27

and there are two agents pools - the compute one is 2n+2, the io one is a caching thread pool without a fixed size


I see, any reason why the core.async one isn't 2n+2 also ?

Alex Miller (Clojure team)13:12:59

There is no “right” answer - that’s why it’s configurable

Alex Miller (Clojure team)17:12:47

system property = clojure.core.async.pool-size

Alex Miller (Clojure team)17:12:35

channels are just queues, and entirely dependent on how you use them architecturally whether they “scale”


I've noticed that alot of the trending Java libraries on github are written in what i think is chinese


Wonder what kind of cool tools and libraries I am missing out on because of the language barrier


There is a different kind of software "porting" that could be done 🙂


Or one could even imagine a refactoring tool that replaced all identifiers X with Y in another language, plus comments, but of course the input to such a refactoring tool would need to be manually created (you could try Google translate or similar on the comments, but good luck what comes out).


its not so much about reading code i have in hand


google translate works well enough


its about discovery


like, how do I know what that side of the world is working on right now?


It might be (is) arrogrant, but I feel like i could successfully use a tool even with foreign language docs or even identifiers


that sounds like something a haskeller could pull off but not a dynamic language


there is some truth to look at the types. but i can't imagine trying to use async, aleph, or some react wrapper if the identifiers, doc strings, and docs were unintelliglbe to me


i can barely use the english versions 🙂


Well java doesnt have that dork google that haskellers have, but its not as bad as clojure would be


i'm super jealous of hoogle


Wouldn’t any custom types also be in the foreign language too? A signature like 下载照片 :: URL -> 照片 wouldn’t tell me enough to use the function


much less anything simpler like String -> String


i was just thinking they have the best chance. there's no way i could do it ¯\(ツ)


Hehe, me neither 🙂