artilleryio / artillery-plugin-statsd Goto Github PK
View Code? Open in Web Editor NEWStatsD publishing plugin for Artillery - DEPRECATED. Please use artillery-plugin-publish-metrics
StatsD publishing plugin for Artillery - DEPRECATED. Please use artillery-plugin-publish-metrics
Currently looking into this myself, but I thought you guys may like to know. I'm seeing the following error message when I do a dead simple artillery run:
$ artillery run testFile.json
Log file: artillery_report_20160929_230481.json
Phase 0 (Boring, quick phase) started - duration: 10s
-/home/adipirro/.nvm/versions/node/v6.5.0/lib/node_modules/artillery-plugin-statsd/index.js:32
metrics.gauge(prefix + '.latency.min', stats.latency.min || -1);
^
TypeError: Cannot read property 'min' of undefined
at EventEmitter.<anonymous> (/home/adipirro/.nvm/versions/node/v6.5.0/lib/node_modules/artillery-plugin-statsd/index.js:32:57)
at emitOne (events.js:101:20)
at EventEmitter.emit (events.js:188:7)
at Timeout.sendStats [as _repeat] (/home/adipirro/.nvm/versions/node/v6.5.0/lib/node_modules/artillery/node_modules/artillery-core/lib/runner.js:209:8)
at Timeout.wrapper [as _onTimeout] (timers.js:425:11)
at tryOnTimeout (timers.js:232:11)
at Timer.listOnTimeout (timers.js:202:5)
testFile.json
{
"config": {
"target": "https://google.com",
"phases": [
{"duration": 10, "arrivalRate": 5, "name": "Boring, quick phase"}
],
"plugins": {
"statsd": {
"host": "localhost",
"port": 8125,
"prefix": "artillery"
}
}
},
"scenarios": [
{
"flow": [
{"get": {"url": "/"}}
]
}
]
}
Artillery Version
[email protected]
I am trying to integrate Artillery with Statsd, graphite and grafana to visualize reports generated by artillery in JSON format through grafana dashboard.
After many tests on different metrics, i found it that the results in JSON (or html) format does not match the results via grafana.
==> for each test, I found only the first json object is displayed in the dashborad and repeated for all timestamps .
exemple:
Started phase 0 (Warm up the application), duration: 10s @ 15:33:51(+0200) 2019-09-20
Report @ 15:34:01(+0200) 2019-09-20
Elapsed time: 10 seconds
Scenarios launched: 49
Scenarios completed: 3
Requests completed: 147
RPS sent: 19.55
Request latency:
min: 126.3
max: 6864.3
median: 568.4
p95: 6294.2
p99: 6847.7
Codes:
200: 122
500: 25
Errors:
ECONNRESET: 10
Report @ 15:34:08(+0200) 2019-09-20
Elapsed time: 17 seconds
Scenarios launched: 1
Scenarios completed: 37
Requests completed: 143
RPS sent: 19.68
Request latency:
min: 133.1
max: 2410.1
median: 669.4
p95: 2297.3
p99: 2379.4
Codes:
200: 133
500: 10
All virtual users finished
Summary report @ 15:34:08(+0200) 2019-09-20
Scenarios launched: 50
Scenarios completed: 40
Requests completed: 290
RPS sent: 18.43
Request latency:
min: 126.3
max: 6864.3
median: 572.4
p95: 2410.1
p99: 6592.4
Scenario counts:
0: 50 (100%)
Codes:
200: 255
500: 35
Errors:
ECONNRESET: 10
Log file: test5.json
**In my case for exemple : i got 122 ==> 200 OK and 25 ==> 500 error for HTTP code response, which is not match artillery json (html ) report and this behavior exists in all Artillery Metrics **
How am I suppoed to install this?
Artillery always complains that the plugin 'artillery-plugin-statsd' has not been found
EDIT: I figured it out. Something about the latest telegraf version presumably changed something having to do with the statsd interface. Itead of docker run telegraf, I did docker run telegraf:1.1.1 and it all went back to working. Might be worth making a note of this somwhere :)
Hi there,
I am trying to get this to connect to the statsd listener in a Telegraf instance. My use case involves pulling down a docker image of telegraf, which I regret not pinning to a specific version. It seems like some breaking change was pushed. Could you help me investigate? I don't have a whole lot of context on these software components; I'm not sure if new Telegraf uses a different StatsD interface now, or what, but I know that a few weeks ago I could successfully ingest artillery metrics into telegraf, and now I cannot.
Any help would be much, much appreciated. It's tough because the statsd listener listens for udp, so I'm not sure how much logging in this plugin would help.
I am using the latest telegraf (1.8 I believe)
To reproduce, run telegraf docker with a statsd listener, and output to a file to see that no metrics are flowing. Run an arbitrary artillery test, (statsd plugin artilerry metrics should flow to localhost:8125; make sure telegraf is on localhost)
If you need help setting this up I can hep further, just let me know.
Btw, great product!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.