Nordstrom / artillery-plugin-influxdb

Plugin for Artillery.IO that records response data into InfluxDB.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin could not be loaded

michaelvoase opened this issue · comments

I have set this up locally, I can query the DB from the command line and Grafana recongizes the DB connection.
However I am unable to write to the DB when running load tests, I'm guessing its something to do with this?

⠇ WARNING: plugin influxdb specified but module artillery-plugin-influxdb could not be loaded
This is appearing when I start any test

Here is my test script, I have tried reinstalling the node_module numerous time.

config: specified plugins: influxdb: testName: "Discipline Test" measurementName: "Latency" errorMeasurementName: "ClientSideErrors" influx: host: "http://localhost:8086/query?pretty=true" username: "root" password: "root" database: "perftests" target: "http://localhost:8002" phases: - duration: 10 arrivalRate: 5 rampTo: 15 scenarios: - flow: - get: url: "/publish/olympics/api/v3/games/OWG2018/discipline"

Any ideas?

This appears to indicate that the plugin isn't loading.

One reason for not loading is that the plugin is not installed in the same place (locally or globally) as artillery.

A secondary reason for not loading is a rejection of the config during validation. I would expect you to see the error however.

Can you validate the installation is available where artillery is installed?
(i.e. ls $(npm root) && ls ${npm root -g))

Otherwise, you might get some help out of export DEBUG=*; [...]

you have "specified" in the above and that doesn't seem to belong. If there an error in your script it would help us see it if you formatted it with triple back ticks:
```
<script>
```

Its not displaying in the global npm modules.
No matter how many times you install/reinstall - I have tried to change the path of $NODE_PATH and makes no difference whatsoever.

Also reinstalled Node and its now displaying in the global modules.
Yet the error still displays:
⠏ The influx.host property must be a host name only, protocol and port cannot be used.
WARNING: plugin influxdb specified but module artillery-plugin-influxdb could not be loaded

Ah, yes. That error is the plugin rejecting the configuration. As described at https://github.com/Nordstrom/artillery-plugin-influxdb#plug-in-configuration-options the host must be something like your.host.name.com. You have host: "http://localhost:8086/query?pretty=true" above. You'll need to change that just to host: "localhost". If the default port is not 8086, you can use port: "8086" alongside the host declaration. See https://node-influx.github.io/class/src/index.js~InfluxDB.html#instance-constructor-constructor for full documentation.

I'll create an issue for the improvement of the documentation

Thanks, got it working with the following:
host: "localhost"
port: "8086"

Thanks for the help.

I am using same , and it shows same error for me.
my default port is 8086 , when in intentionally use wrong host name :
host: "localhost:8086"
then obviously the hostname is wrong but it also says that unable to load module.

  • The influx.host property must be a host name only, protocol and port cannot be used.
    WARNING: plugin influxdb specified but module artillery-plugin-influxdb could not be loaded

and when using
host: "localhost"
port: "8086"
it doesnt show any warning message but i dont see any MEASUREMENTS being created ,thus i feel that data is not going in influx and possible reason might be plugin , how do we know more detailed logs or issues ?

@paraspatidar Thanks for reaching out. Your update configuration seems correct to me.

IIRC there's not special flags or EV you can set to add any more debug logging. So I'd suggest standard debugging approaches would apply here.

Good luck!

Hi , I could see the influx db running and could also query it via browser .
Thus setup for influx is correct.
artillery test are running well without error .
Still no measurement being created , how artillery is using this plugin ? as i dont see any exception by artillery regarding any influx issue.

Also if i use fidller or any tracing tool , i dont see any request going to localhost:8086.

DEBUG=http* artillery run yourscript.yml
more than likely you dont have a username or password setup which is required by the plugin