Check out our website at ipfs.tech.
For papers on IPFS, please see the Academic Papers section of the IPFS Docs.
MIT.
Benchmarking for IPFS
License: MIT License
Check out our website at ipfs.tech.
For papers on IPFS, please see the Academic Papers section of the IPFS Docs.
MIT.
Can we please open this up again?
The remote runner does not receive the complete JSON file if the test has more then 4 test files.
local-add.js] on host [147.75.33.155] for user [ubuntu] using [/home/ubuntu/.ssh/id_rsa]
INFO [1546118642520] (18857 on ip-172-31-44-15): running [cat /tmp/out/unixFsAdd.json] on [147.75.33.155]
(node:18857) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected end of JSON input
As discussed in #16.
INFO [1546178378903] (31093 on ip-172-31-44-15): running [cat /tmp/out/unixFsAddGo.json] on [147.75.33.155]
(node:31093) UnhandledPromiseRejectionWarning: Error: (node:29024) UnhandledPromiseRejectionWarning: Error: spawn ipfs ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)
at onErrorNT (internal/child_process.js:407:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:29024) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:29024) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
at remoteExec (/data/ipfs-benchmarks/runner/remote.js:22:18)
at f (/data/ipfs-benchmarks/runner/node_modules/once/once.js:25:25)
at Duplexify.<anonymous> (/data/ipfs-benchmarks/runner/node_modules/ssh-exec-plus/index.js:155:5)
at Duplexify.emit (events.js:187:15)
at endReadableNT (/data/ipfs-benchmarks/runner/node_modules/duplexify/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:31093) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:31093) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Is IPFS installed on the benchmark server?
We need an alert either on a failed job or missing the daily points in a graph using Grafana ( not sure if Grafana has this feature)
As titled
version: 0.34.0-pre.0
This is happening on the 5 node tests on master branch only.
Error: /home/ubuntu/ipfs/js-ipfs/node_modules/proper-lockfile/lib/lockfile.js:181
onCompromised: (err) => { throw err; },
^
Error: ENOENT: no such file or directory, utime 'data/ipfs/853976/repo.lock'
JSON.stringify(data, null, 2)
.
@litzenberger https://github.com/ipfs/benchmarks/blob/master/tests/README.md has no mention of the multi-peer-transfer test
I think it generally could use more content
Apologies I wanted to get this done yesterday. Hopefully this captures our conversation:
@Elexy gave a presentation demoing the current setup. 3 basic benchmark tests currently.
Infrastructure requirements were ironed out with @eefahy. See conversation here ipfs/infra#452 (comment) for details.
@mcollina identified a perf issue for node initialization and documented here ipfs/js-ipfs#1727
Agreed a weekly catch up at the same time (Wednesday 15:00).
How long do you think that would take @Elexy?
Basically we should:
@litzenberger can you do the necessary work in the runner to add this feature?
@Elexy can you sort out the uploading to ipfs?
This site can’t be reached benchmarks.ipfs.team refused to connect.
Try:
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED
nginx docker is not starting - log file ->
2018/12/30 04:12:22 [emerg] 1#1: open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:22
nginx: [emerg] open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:22
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback```
$ STAGE=remote node multi-peer-transfer.js
Verifying File OneKBFile
Verifying Directory Hundred1KBFile
Verifying File One62KBFile
Verifying File One64KBFile
Verifying File One512KBFile
Verifying File One768KBFile
Verifying File One1023MBFile
Verifying File OneMBFile
Verifying File One4MBFile
Verifying File One8MBFile
Verifying File One64MBFile
Verifying File One128MBFile
Verifying File One512MBFile
Verifying File OneGBFile
Files Verified
Swarm listening on /ip4/127.0.0.1/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/192.168.1.222/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/127.0.0.1/tcp/4022/ws/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/127.0.0.1/tcp/4013/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
Swarm listening on /ip4/192.168.1.222/tcp/4013/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
Swarm listening on /ip4/127.0.0.1/tcp/4023/ws/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
Swarm listening on /ip4/127.0.0.1/tcp/4014/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
Swarm listening on /ip4/192.168.1.222/tcp/4014/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
Swarm listening on /ip4/127.0.0.1/tcp/4024/ws/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
Swarm listening on /ip4/127.0.0.1/tcp/4015/ipfs/QmeKizHABFpHtEZoJiuZJmvVtC1yXi2MrRZ3UqgnqrUqet
Swarm listening on /ip4/192.168.1.222/tcp/4015/ipfs/QmeKizHABFpHtEZoJiuZJmvVtC1yXi2MrRZ3UqgnqrUqet
Swarm listening on /ip4/127.0.0.1/tcp/4025/ws/ipfs/QmeKizHABFpHtEZoJiuZJmvVtC1yXi2MrRZ3UqgnqrUqet
Swarm listening on /ip4/127.0.0.1/tcp/4016/ipfs/QmdX7uA1nQq1oghmxHhpKfb7VbvjETPd6DihW4w5Ht52Tt
Swarm listening on /ip4/192.168.1.222/tcp/4016/ipfs/QmdX7uA1nQq1oghmxHhpKfb7VbvjETPd6DihW4w5Ht52Tt
Swarm listening on /ip4/127.0.0.1/tcp/4026/ws/ipfs/QmdX7uA1nQq1oghmxHhpKfb7VbvjETPd6DihW4w5Ht52Tt
Writing output in a multiple files
┌────────────────────┬────────────────────┬──────────────────────────────────────────────────┬────────────────────┬────────────────────┐
│ Test │ Sub Test │ Description │ File Set │ Duration │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ empty-repo │ Description of benchamrk │ OneKBFile │ s:0 ms: 364.174486 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ empty-repo │ Description of benchamrk │ OneMBFile │ s:0 ms: 734.050394 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ empty-repo │ Description of benchamrk │ One4MBFile │ s:0 ms: 945.971094 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ empty-repo │ Description of benchamrk │ One64MBFile │ s:6 ms: 503.684288 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ populated-repo │ Description of benchamrk │ OneKBFile │ s:0 ms: 1.532656 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ populated-repo │ Description of benchamrk │ OneMBFile │ s:0 ms: 4.923811 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ populated-repo │ Description of benchamrk │ One4MBFile │ s:0 ms: 8.442353 │
├────────────────────┼────────────────────┼──────────────────────────────────────────────────┼────────────────────┼────────────────────┤
│ multiPeerTransfer │ populated-repo │ Description of benchamrk │ One64MBFile │ s:0 ms: 273.107513 │
└────────────────────┴────────────────────┴──────────────────────────────────────────────────┴────────────────────┴────────────────────┘
assert.js:350
throw err;
^
AssertionError [ERR_ASSERTION]: The libp2p node is not started yet
at Node.dialProtocol (/Users/matteo/Repositories/js-ipfs/node_modules/libp2p/src/index.js:236:5)
at Network._dialPeer (/Users/matteo/Repositories/js-ipfs/node_modules/ipfs-bitswap/src/network.js:165:17)
at Network.sendMessage (/Users/matteo/Repositories/js-ipfs/node_modules/ipfs-bitswap/src/network.js:129:10)
at DecisionEngine._sendSafeBlocks (/Users/matteo/Repositories/js-ipfs/node_modules/ipfs-bitswap/src/decision-engine/index.js:83:18)
at eachSeries (/Users/matteo/Repositories/js-ipfs/node_modules/ipfs-bitswap/src/decision-engine/index.js:65:14)
at /Users/matteo/Repositories/js-ipfs/node_modules/async/internal/withoutIndex.js:9:16
at replenish (/Users/matteo/Repositories/js-ipfs/node_modules/async/internal/eachOfLimit.js:66:17)
at iterateeCallback (/Users/matteo/Repositories/js-ipfs/node_modules/async/internal/eachOfLimit.js:50:17)
at /Users/matteo/Repositories/js-ipfs/node_modules/async/internal/onlyOnce.js:12:16
at _sendSafeBlocks (/Users/matteo/Repositories/js-ipfs/node_modules/ipfs-bitswap/src/decision-engine/index.js:71:11)
As titled, it would be very useful
$ STAGE=local REMOTE=true FILESET=One512MBFile VERIFYOFF=true node local-transfer.js
set up observer
new stat object 1
Swarm listening on /ip4/127.0.0.1/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/192.168.1.222/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/127.0.0.1/tcp/4022/ws/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
set up observer
new stat object 2
Swarm listening on /ip4/127.0.0.1/tcp/4013/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
Swarm listening on /ip4/192.168.1.222/tcp/4013/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
Swarm listening on /ip4/127.0.0.1/tcp/4023/ws/ipfs/QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
new peer QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
new stat object 3
new stat object 4
new stat object 5
new peer QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
new stat object 6
new stat object 7
new stat object 8
new stat object 9
new stat object 10
new stat object 11
new stat object 12
set up observer
new stat object 13
Swarm listening on /ip4/127.0.0.1/tcp/4014/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
Swarm listening on /ip4/192.168.1.222/tcp/4014/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
Swarm listening on /ip4/127.0.0.1/tcp/4024/ws/ipfs/QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
new peer QmNc18FMrKks42Nd2PVwtBHdSvmfkhcvANDBe9byVuXd3f
new stat object 14
new stat object 15
new stat object 16
new peer QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
new stat object 17
new peer QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
new stat object 18
new peer QmbZRmAfarFJYDUwa5WSQ1FazCQ72iA7Hp3qE2ZPhRF7is
new stat object 19
new stat object 20
new stat object 21
Writing output in a multiple files
┌────────────────────┬────────────────────┬──────────────────────────────────────────────────┬────────────────────┬──────────┐
│ Test │ Warmup │ Description │ File Set │ Duration │
└────────────────────┴────────────────────┴──────────────────────────────────────────────────┴────────────────────┴──────────┘
Removed ./data/ipfs/
https://cryptpad.fr/code/#/2/code/edit/x1BPpbuVDcAg4yjMlmFpx1x6/
./scripts/runLocalEnv.sh up
Does not work for me.
https://cryptpad.fr/code/#/2/code/edit/JWof3cTi1gXKSc+W-x6zPwXg/
benchmarks.cloud.ipfs.team
(@litzenberger / @Elexy)We are currently uploading a 1 MB and 10KB files. What are representatives numbers for ipfs? Should we benchmark with 10 MB, 100 MB and maybe even 1 GB?
@alanshaw can you help with some guidance here?
@alanshaw Can you offer any guidance on how we can store the results of the benchmarks on IPFS?
Any specific location or format?
This seems very relevant because of ipld/js-ipld-dag-pb#109
Some times the benchmark stays running, it seems we are not closing all nodes properly.
As titled and discussed in #44.
as titled.
How do we do that @alanshaw @daviddias?
https://cryptpad.fr/code/#/2/code/edit/QoUwIsoJCT+8mfK1TZTMuIo3/
as titled
I'm running:
docker-compose -f infrastructure/local/docker-compose.yaml up
From https://github.com/ipfs/benchmarks/blob/master/runner/README.md
https://cryptpad.fr/code/#/2/code/edit/Aj4GGxNX7sqcf+NCX5lzlDp1/
No action points
rons-MBP:benchmarks ronlitzenberger$ STAGE=local LOG_PRETTY=true node runner/cli.js
INFO [1544553155694] (99751 on rons-MBP.attlocal.net): Running [OUT_FOLDER=/tmp/out node /Users/ronlitzenberger/nearform/ipfs/benchmarks/tests/local-transfer.js] locally
INFO [1544553298798] (99751 on rons-MBP.attlocal.net): Retrieving [cat /tmp/out/localTransfer.json] locally
INFO [1544553298807] (99751 on rons-MBP.attlocal.net):
err: {
"type": "Error",
"message": "Command failed: cat /tmp/out/localTransfer.json\ncat: /tmp/out/localTransfer.json: No such file or directory\n",
"stack":
Error: Command failed: cat /tmp/out/localTransfer.json
cat: /tmp/out/localTransfer.json: No such file or directory
at ChildProcess.exithandler (child_process.js:289:12)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
"killed": false,
"code": 1,
"signal": null,
"cmd": "cat /tmp/out/localTransfer.json"
}
stdout: ""
stderr: "cat: /tmp/out/localTransfer.json: No such file or directory\n"
ERROR [1544553298808] (99751 on rons-MBP.attlocal.net): cat: /tmp/out/localTransfer.json: No such file or directory
Error: cat: /tmp/out/localTransfer.json: No such file or directory
at exec (/Users/ronlitzenberger/nearform/ipfs/benchmarks/runner/local.js:31:20)
at ChildProcess.exithandler (child_process.js:296:5)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5
$ STAGE=local REMOTE=true VERIFYOFF=true node init-node.js
Swarm listening on /ip4/127.0.0.1/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/192.168.1.222/tcp/4012/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
Swarm listening on /ip4/127.0.0.1/tcp/4022/ws/ipfs/QmSxYJBid9EUdV61T9dUELAsc2FncyQWaSEvm4ztcURiur
subTest.warmup.toLowerCase is not a function
Benchmark playbook error:
structure/playbooks/benchmarks.yaml] locally
ERROR [1546307012481] (26103 on ip-172-31-44-15): Error: [WARNING]: Consider using the get_url or uri module rather than running wget.
If you need to use command because get_url or uri is insufficient you can add
warn=False to this command task or set command_warnings=False in ansible.cfg to
get rid of this message.
Error: Error: [WARNING]: Consider using the get_url or uri module rather than running wget.
If you need to use command because get_url or uri is insufficient you can add
warn=False to this command task or set command_warnings=False in ansible.cfg to
get rid of this message.
at Object.ensure (/data/ipfs-benchmarks/runner/provision.js:72:11)
at process._tickCallback (internal/process/next_tick.js:68:7)
Which LICENSE file should we include in this project?
Browser tests - we get the error /home/ubuntu/ipfs/tests/node_modules/puppeteer/.local-chromium/linux-609904/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
I haven't tested this on the server but according to doc we need this ran on the benchmark server
sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libgconf2-4 libasound2 libatk1.0-0 libgtk-3-0
Verify test files are created before running tests
$ nvm use 11
node Now using node v11.3.0 (npm v6.4.1)
$ node local-add.js
(node:94288) UnhandledPromiseRejectionWarning: Error: Callback was already called.
at /Users/matteo/Repositories/ipfs-benchmarks/tests/node_modules/async/internal/onlyOnce.js:9:32
at _locker.lock (/Users/matteo/Repositories/ipfs-benchmarks/tests/node_modules/ipfs-repo/src/index.js:170:16)
at lock.then.catch.err (/Users/matteo/Repositories/ipfs-benchmarks/tests/node_modules/ipfs-repo/src/lock.js:40:19)
(node:94288) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:94288) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Maybe it's not us, we might need to escalate.
INFO [1546370824144] (32112 on ip-172-31-44-15): running [cat /tmp/out/unixFsAddGo.json] on [147.75.33.155]
ERROR [1546370824144] (32112 on ip-172-31-44-15): Daemon exited with code: 0
Error: Daemon exited with code: 0
at remoteExec (/data/ipfs-benchmarks/runner/remote.js:22:18)
at f (/data/ipfs-benchmarks/runner/node_modules/once/once.js:25:25)
at Duplexify.<anonymous> (/data/ipfs-benchmarks/runner/node_modules/ssh-exec-plus/index.js:155:5)
at Duplexify.emit (events.js:187:15)
at endReadableNT (/data/ipfs-benchmarks/runner/node_modules/duplexify/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
INFO [1546370824145] (32112 on ip-172-31-44-15): not running doctor: off
There are several tests that need to be added to remote runner and dashboard.
(node:21402) UnhandledPromiseRejectionWarning: Error: A 400 Bad Request error occurred: {"error":"unable to parse 'multiPeerTransfer,warmup=off,commit=7bcc49615e54f09c34bae07c994e3be3d870fe1f,project=js-ipfs,file_set=OneKBFile,version=0.34.0-rc.0,repo=7,guid=33c04690-0d29-11e9-95c6-a387bf343229,sha=tbd,branch=master duration=468.717883,ipfs_sha=undefined 1546281070266000000': invalid boolean\nunable toparse 'multiPeerTransfer,warmup=off,commit=7bcc49615e54f09c34bae07c994e3be3d870fe1f,project=js-ipfs,file_set=OneMBFile,version=0.34.0-rc.0,repo=7,guid=33c04690-0d29-11e9-95c6-a387bf343229,sha=tbd,branch=master duration=974.796503,ipfs_sha=undefined 1546281070266000000': invalid boolean\nunable to parse 'multiPeerTransfer,warmup=off,commit=7bcc49615e54f09c34bae07c994e3be3d870fe1f,project=js-ipfs,file_set=One4MBFile,version=0.34.0-rc.0,repo=7,guid=33c04690-0d29-11e9-95c6-a387bf343229,sha=tbd,branch=master duration=1434.165117,ipfs_sha=undefined 1546281070266000000': invalid boolean\nunable to parse 'multiPeerTransfer,warmup=off,commit=7bcc49615e54f09c34bae07c994e3be3d870fe1f,project=js-ipfs,file_set=One64MBFile,version=0.34.0-rc.0,repo=7,guid=33c04690-0d29-11e9-95c6-a387bf343229,sha=tbd,branch=master duration=8021.973649,ipfs_sha=undefined 1546281070266000000': invalid boolean"}
at new RequestError (/data/ipfs-benchmarks/runner/node_modules/influx/lib/src/pool.js:52:28)
at IncomingMessage.<anonymous> (/data/ipfs-benchmarks/runner/node_modules/influx/lib/src/pool.js:62:53)
at IncomingMessage.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1094:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:21402) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
(node:21402) UnhandledPromiseRejectionWarning: Error: A 400 Bad Request error occurred: {"error":"unable to parse 'addMultiKb,warmup=off,commit=7bcc49615e54f09c34bae07c994e3be3d870fe1f,project=js-ipfs,file_set=Hundred1KBFile,version=0.34.0-rc.0,repo=7,guid=33c04690-0d29-11e9-95c6-a387bf343229,sha=tbd,branch=master duration=4535.500524,ipfs_sha=undefined 1546281070267000000': invalid boolean"}
at new RequestError (/data/ipfs-benchmarks/runner/node_modules/influx/lib/src/pool.js:52:28)
at IncomingMessage.<anonymous> (/data/ipfs-benchmarks/runner/node_modules/influx/lib/src/pool.js:62:53)
at IncomingMessage.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1094:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:21402) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
As discussed in #16.
As titled
https://cryptpad.fr/code/#/2/code/edit/TcVY3ac2pvYx5tTihdCYd2MT/
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.