Comments (8)
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?
from trombi.
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
from trombi.
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.
from trombi.
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!!!
from trombi.
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. 😄
from trombi.
Hi @hjerling,
Long time no see :)
from trombi.
Hi @aidylewis. I just got back from vacation. Just wanted to check if you have had any time to look on this?
from trombi.
Not yet. But I will look at it next week.
from trombi.
Related Issues (20)
- An issue with async/timeout HOT 7
- Add scenario pre-hook and post-hook HOT 1
- Simulation with concurrency distribution fails when duration left unspecified HOT 3
- Upgrade http-kit for JDK 9 HOT 6
- Issues with high concurrency HOT 2
- Log timeouts HOT 1
- With uneven scenario weights some scenarios might run with concurrency 0 HOT 1
- clj-time HOT 6
- Steps running serially? HOT 3
- How to identify concurrency issues HOT 7
- Kill a simulation? HOT 2
- Add raw reporter HOT 2
- File based raw reporter does not work when there are less than 20000 requests in simulation
- Catch also AssertionErrors and mark those requests as KOs
- IndexOutOfBoundsException when splitting rate to weighted scenarios HOT 1
- Progress reporter shows negative concurrency values sometimes in the end of the simulation
- Terminate scenario early based on step function return value HOT 1
- Reporters console output is called too early before the results have been calculated
- Concurrency is higher than given in options
- Divide by zero when experimental test runner stats is enabled HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trombi.