mhjort / trombi

Load testing library for testing stateful apps with Clojure
Eclipse Public License 1.0
235 stars 19 forks source link

Graphite API #26

Closed ghost closed 1 year ago

ghost commented 8 years ago

Do you think it would be an idea to create a Graphite API so data could be pumped into a datastore and visualised?

mhjort commented 8 years ago

clj-gatling has a modular design internally. I've had an idea that some day it would be good to not depend too much on Gatling charts anymore. Also people have been asking features that are not supporter in Gatling charts.

clj-gatling.report/create-result-lines takes in an function (output-writer) that is responsible for writing the results in batches. Currently `clj-gatling.core' passes in a function that writes those results to file that gatling-highcharts can later on read to produce the report. It would be fairly trivial to add an option to pass your own output-writer which could be Graphite API for example. If I add that option would you be interested in to take a look on how to implement Graphite API part?

ghost commented 8 years ago

My name is Adrian Lewis and I work in the BBC Load Test Team. I and others primarily work with Gatling, but there are some teams that prefer Clojure. I programmed in Clojure some years ago and have recently taken on a Clojure project, so I'd gladly pass in a Graphite output-writer and look at adding other features.

It'd probably be an idea to use a different graphing library, as I know the Gatling team pay a significant amount of money for their Highcharts use and the non-commercial part of the CC license is too vague and could bite.

Also, I have had complaints that the charts are too big (byte size) and that it is difficult to gauge performance trends with the reports. So, I advise teams to write Gatling metrics to InfuxDB

mhjort commented 8 years ago

Nice to meet your Adrian. It's always nice to hear how people are using clj-gatling. BTW, I was visiting BBC HQ few years ago while I was consulting for Yle (Finnish public broadcasting company). You seem to do cool stuff there.

I released now version 0.8.1 where you can pass your own reporting functionality. It was actually a bigger task than I expected. There is also some internal refactoring to be done related to that. But this was a good time to do this finally because as you also mentioned the dependency to highcharts may not be good thing in a long term.

At the moment I am very busy with my daily job. So I didn't have time to document this in a level that I hoped. There are few lines about this in README (customization). Hope that it's enough to get you going. Please ping me here if you have any questions. I try to improve the documentation as soon as I have more time for it.

ghost commented 8 years ago

I remember Yle coming in. I was working on the Linked Data Platform at the time. Do you know Johan Hjerling (@hjerling)?

Thanks for the work, I'll have a look at implementing the Graphite output as soon as I have Emacs configured!!!

hjerling commented 8 years ago

Hi @aidylewis and @mhjort,

Yes! I know @mhjort! I meet up with him at YLE in Finland a couple of years ago! It's a small world. 😄

mhjort commented 8 years ago

Hi @hjerling,

Long time no see :)

mhjort commented 8 years ago

Hi @aidylewis. I just got back from vacation. Just wanted to check if you have had any time to look on this?

ghost commented 8 years ago

Not yet. But I will look at it next week.