Sitespeed.io + Influxdb + Grafana Integration

203 views Asked by At

We have integrated JMeter + Influxdb + Grafana successfully and require the same for Sitespeed.io integration with Influxdb. We are not using Docker, but using Node and have sitespeed installed on local machine. (Influxdb and Grafana has been installed on the same machine too).

Observed default --influx plugins on sitespeed website (https://www.sitespeed.io/documentation/sitespeed.io/configuration/#the-options) But when used with sitespeed command i.e sitespeed.io www.google.com -n 1 -b chrome --influx.host 12x.x.x --influx.organisation xxx --influx.token 2344.

We are getting the following error:

ERROR: Error: A 401 Unauthorized error occurred: {"code":"unauthorized","message":"Unauthorized"}
    at IncomingMessage.<anonymous> (xx/src/pool.js:50:38)
    at IncomingMessage.emit (node:events:539:35)
    at endReadableNT (node:internal/streams/readable:1345:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
/usr/lib/node_modules/sitespeed.io/lib/core/queueHandler.js:142
            this.errors.push(rejectionMessage + '\n' + JSON.stringify(err));
                                                            ^

TypeError: Converting circular structure to JSON
    --> starting at object with constructor 'ClientRequest'
    |     property 'socket' -> object with constructor 'Socket'
    --- property '_httpMessage' closes the circle
    at JSON.stringify (<anonymous>)
    at /usr/lib/node_modules/sitespeed.io/lib/core/queueHandler.js:142:61
    at eventuateConsume (/usr/lib/node_modules/sitespeed.io/node_modules/eventuate/index.js:31:13)
    at Array.forEach (<anonymous>)
    at Function.eventuate.produce (/usr/lib/node_modules/sitespeed.io/node_modules/eventuate/index.js:30:19)
    at Object.onReject [as reject] (/usr/lib/node_modules/sitespeed.io/node_modules/concurrent-queue/index.js:45:36)
    at reject (/usr/lib/node_modules/sitespeed.io/node_modules/concurrent-queue/index.js:85:22)
    at f (/usr/lib/node_modules/sitespeed.io/node_modules/concurrent-queue/node_modules/once/once.js:17:25)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Kindly let me know if any prerequisite is required for sitespeed so that influxdb can listen on default port 8086.

2

There are 2 answers

0
Amerousful On

What version of InfluxDB are you using?
I could guess you have InfluxDB 2.x, because you passed token and organization. In this case, it's necessary to pass --influxdb.version=2.

1
PerfTester On

Instead of using InfluxDB V2, use V1 - Download Influx DB v1 - https://docs.influxdata.com/influxdb/v1/ https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10_windows_amd64.zip Extract in C drive

sitespeed.io https://www.sitespeed.io/ -n 1 -b chrome --influxdb.host perftestmachine --influxdb.port 8086 --mobile --browsertime.viewPort 414x896

where, perftestmachine is name of my VM where I have done the Sitespeedio+InfluxDB+Grafana setup