mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
WIP
This commit is contained in:
parent
550a942712
commit
e24af60c88
@ -1,5 +1,13 @@
|
||||
# nb -v run type=cql yaml=baselines/cql-iot tags=phase:schema
|
||||
host=dsehost
|
||||
# nb -v run type=cql yaml=baselines/cql-iot tags=phase:schema host=dsehost
|
||||
scenarios:
|
||||
default:
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:schema
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:rampup cycles=TEMPLATE(cycles,10000000)
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:main cycles=TEMPLATE(cycles,10000000)
|
||||
stdout:
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:schema
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:rampup cycles=TEMPLATE(cycles,10000000)
|
||||
- run type=cql yaml=baselines/cql-iot tags=phase:main cycles=TEMPLATE(cycles,10000000)
|
||||
bindings:
|
||||
machine_id: Mod(<<sources:10000>>); ToHashedUUID() -> java.util.UUID
|
||||
sensor_name: HashedLineToString('data/variable_words.txt')
|
||||
|
65
docsys/src/main/node/docsys/package-lock.json
generated
65
docsys/src/main/node/docsys/package-lock.json
generated
@ -9299,8 +9299,7 @@
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
@ -9318,15 +9317,13 @@
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
@ -9337,18 +9334,15 @@
|
||||
},
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@ -9360,7 +9354,7 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"deep-extend": {
|
||||
@ -9429,7 +9423,7 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
"safer-buffer": "2.1.2"
|
||||
}
|
||||
},
|
||||
"ignore-walk": {
|
||||
@ -9437,7 +9431,7 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimatch": "^3.0.4"
|
||||
"minimatch": "3.0.4"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
@ -9451,8 +9445,7 @@
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@ -9462,9 +9455,8 @@
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
"number-is-nan": "1.0.1"
|
||||
}
|
||||
},
|
||||
"isarray": {
|
||||
@ -9475,15 +9467,13 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.9.0",
|
||||
@ -9504,7 +9494,6 @@
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
@ -9519,9 +9508,9 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"debug": "^3.2.6",
|
||||
"iconv-lite": "^0.4.4",
|
||||
"sax": "^1.2.4"
|
||||
"debug": "3.2.6",
|
||||
"iconv-lite": "0.4.24",
|
||||
"sax": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node-pre-gyp": {
|
||||
@ -9546,8 +9535,8 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"abbrev": "1",
|
||||
"osenv": "^0.1.4"
|
||||
"abbrev": "1.1.1",
|
||||
"osenv": "0.1.5"
|
||||
}
|
||||
},
|
||||
"npm-bundled": {
|
||||
@ -9555,7 +9544,7 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"npm-normalize-package-bin": "^1.0.1"
|
||||
"npm-normalize-package-bin": "1.0.1"
|
||||
}
|
||||
},
|
||||
"npm-normalize-package-bin": {
|
||||
@ -9568,8 +9557,8 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ignore-walk": "^3.0.1",
|
||||
"npm-bundled": "^1.0.1"
|
||||
"ignore-walk": "3.0.3",
|
||||
"npm-bundled": "1.1.1"
|
||||
}
|
||||
},
|
||||
"npmlog": {
|
||||
@ -9585,8 +9574,7 @@
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@ -9616,8 +9604,8 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"os-homedir": "^1.0.0",
|
||||
"os-tmpdir": "^1.0.0"
|
||||
"os-homedir": "1.0.2",
|
||||
"os-tmpdir": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
@ -9672,8 +9660,7 @@
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
@ -9715,7 +9702,7 @@
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
"safe-buffer": "5.1.2"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>guidebooknosqlbench docs</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="Docs App for NoSQLBench"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="preload" href="/_nuxt/71d233994867b9ff16c0.js" as="script"><link rel="preload" href="/_nuxt/ba3d87d913919f4a90b7.js" as="script"><link rel="preload" href="/_nuxt/b731eebc22dad37c5c4f.js" as="script"><link rel="preload" href="/_nuxt/4f2a13032e26b25bda78.js" as="script">
|
||||
<title>guidebooknosqlbench docs</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="Docs App for NoSQLBench"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="preload" href="/_nuxt/12b20e993eb36c6931cf.js" as="script"><link rel="preload" href="/_nuxt/ba3d87d913919f4a90b7.js" as="script"><link rel="preload" href="/_nuxt/b731eebc22dad37c5c4f.js" as="script"><link rel="preload" href="/_nuxt/c06b6bd74999b5452452.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<div id="__nuxt"><style>#nuxt-loading{visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div>
|
||||
<script type="text/javascript" src="/_nuxt/71d233994867b9ff16c0.js"></script><script type="text/javascript" src="/_nuxt/ba3d87d913919f4a90b7.js"></script><script type="text/javascript" src="/_nuxt/b731eebc22dad37c5c4f.js"></script><script type="text/javascript" src="/_nuxt/4f2a13032e26b25bda78.js"></script></body>
|
||||
<script type="text/javascript" src="/_nuxt/12b20e993eb36c6931cf.js"></script><script type="text/javascript" src="/_nuxt/ba3d87d913919f4a90b7.js"></script><script type="text/javascript" src="/_nuxt/b731eebc22dad37c5c4f.js"></script><script type="text/javascript" src="/_nuxt/c06b6bd74999b5452452.js"></script></body>
|
||||
</html>
|
||||
|
@ -1 +1 @@
|
||||
!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];i<f.length;i++)n=f[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var l=r[n];0!==o[l]&&(t=!1)}t&&(c.splice(i--,1),e=f(f.s=r[0]))}return e}var n={},o={8:0},c=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,f.nc&&script.setAttribute("nonce",f.nc),script.src=function(e){return f.p+""+{0:"55bb9a1be83797eee63f",1:"b8a47e05eded23bac7ed",4:"c28caf599093f6fe5786",5:"09eb2af0af9c15c6d621",6:"428c6c33fdbc344a773a",7:"59759ea4aa8651f70220"}[e]+".js"}(e);var l=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",l.name="ChunkLoadError",l.type=n,l.request=c,t[1](l)}o[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},f.p="/_nuxt/",f.oe=function(e){throw console.error(e),e};var l=window.webpackJsonp=window.webpackJsonp||[],d=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var v=d;t()}([]);
|
||||
!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];i<f.length;i++)n=f[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var l=r[n];0!==o[l]&&(t=!1)}t&&(c.splice(i--,1),e=f(f.s=r[0]))}return e}var n={},o={8:0},c=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,f.nc&&script.setAttribute("nonce",f.nc),script.src=function(e){return f.p+""+{0:"55bb9a1be83797eee63f",1:"b8a47e05eded23bac7ed",4:"a2beba7c0d21de5af2f7",5:"3fc8daf49bf0ed8c9dfd",6:"428c6c33fdbc344a773a",7:"59759ea4aa8651f70220"}[e]+".js"}(e);var l=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",l.name="ChunkLoadError",l.type=n,l.request=c,t[1](l)}o[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},f.p="/_nuxt/",f.oe=function(e){throw console.error(e),e};var l=window.webpackJsonp=window.webpackJsonp||[],d=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var v=d;t()}([]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,9 +1,9 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>guidebooknosqlbench docs</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="Docs App for NoSQLBench"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="preload" href="/_nuxt/71d233994867b9ff16c0.js" as="script"><link rel="preload" href="/_nuxt/ba3d87d913919f4a90b7.js" as="script"><link rel="preload" href="/_nuxt/b731eebc22dad37c5c4f.js" as="script"><link rel="preload" href="/_nuxt/4f2a13032e26b25bda78.js" as="script">
|
||||
<title>guidebooknosqlbench docs</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="Docs App for NoSQLBench"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap"><link data-n-head="1" rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="preload" href="/_nuxt/12b20e993eb36c6931cf.js" as="script"><link rel="preload" href="/_nuxt/ba3d87d913919f4a90b7.js" as="script"><link rel="preload" href="/_nuxt/b731eebc22dad37c5c4f.js" as="script"><link rel="preload" href="/_nuxt/c06b6bd74999b5452452.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<div id="__nuxt"><style>#nuxt-loading{visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div>
|
||||
<script type="text/javascript" src="/_nuxt/71d233994867b9ff16c0.js"></script><script type="text/javascript" src="/_nuxt/ba3d87d913919f4a90b7.js"></script><script type="text/javascript" src="/_nuxt/b731eebc22dad37c5c4f.js"></script><script type="text/javascript" src="/_nuxt/4f2a13032e26b25bda78.js"></script></body>
|
||||
<script type="text/javascript" src="/_nuxt/12b20e993eb36c6931cf.js"></script><script type="text/javascript" src="/_nuxt/ba3d87d913919f4a90b7.js"></script><script type="text/javascript" src="/_nuxt/b731eebc22dad37c5c4f.js"></script><script type="text/javascript" src="/_nuxt/c06b6bd74999b5452452.js"></script></body>
|
||||
</html>
|
||||
|
@ -15,7 +15,7 @@ public class Scenarios {
|
||||
return rawScenarios.getScenarioNames();
|
||||
}
|
||||
|
||||
public List<String> getNamedScneario(String scenarioName) {
|
||||
public List<String> getNamedScenario(String scenarioName) {
|
||||
return rawScenarios.getNamedScenario(scenarioName);
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +84,12 @@ public class StmtsDocList implements Iterable<StmtsDoc> {
|
||||
return docBindings;
|
||||
}
|
||||
|
||||
public List<Scenarios> getDocScenarios() {
|
||||
return this.getStmtDocs().stream().map(StmtsDoc::getScenarios).collect(Collectors.toList());
|
||||
/**
|
||||
* This returns all the `scenarios` blocs across multiple docs, per the description in issue-67 there should only be one
|
||||
* on the first doc, any `scenarios` defined in different docs will be ignored.
|
||||
*/
|
||||
|
||||
public Scenarios getDocScenarios() {
|
||||
return this.getStmtDocs().get(0).getScenarios();
|
||||
}
|
||||
}
|
||||
|
@ -74,6 +74,7 @@ public class NosqlBenchFiles {
|
||||
}};
|
||||
|
||||
for (String path : paths) {
|
||||
|
||||
Optional<InputStream> stream = getInputStream(path);
|
||||
if (stream.isPresent()) {
|
||||
return Optional.of(Path.of(path));
|
||||
|
@ -1,6 +1,9 @@
|
||||
package io.nosqlbench.engine.cli;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.Scenarios;
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
|
||||
import io.nosqlbench.engine.api.metrics.IndicatorMode;
|
||||
import io.nosqlbench.engine.api.util.NosqlBenchFiles;
|
||||
import io.nosqlbench.engine.api.util.Unit;
|
||||
@ -314,24 +317,43 @@ public class EBCLIOptions {
|
||||
Cmd script = parseScriptCmd(arglist);
|
||||
cmdList.add(script);
|
||||
} else {
|
||||
Optional<Path> path = NosqlBenchFiles.findOptionalPath(word, "yaml", "activities");
|
||||
Optional<Path> path = NosqlBenchFiles.findOptionalPath(word, "yaml", "activities", "activities/baselines");
|
||||
if(path.isPresent()){
|
||||
arglist.removeFirst();
|
||||
arglist.addFirst("yaml="+path.toString());
|
||||
Cmd script = parseWorkloladYamlCmd(arglist);
|
||||
cmdList.add(script);
|
||||
String scenarioFilter = null;
|
||||
if (arglist.size() > 0 && arglist.peekFirst().contains("=")){
|
||||
scenarioFilter = arglist.peekFirst();
|
||||
arglist.removeFirst();
|
||||
};
|
||||
arglist.addFirst("yaml="+path.get().toString());
|
||||
parseWorkloadYamlCmds(path.get().toString(), arglist, scenarioFilter);
|
||||
}
|
||||
else {
|
||||
throw new InvalidParameterException("unrecognized option:" + word);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Cmd parseWorkloladYamlCmd(LinkedList<String> arglist) {
|
||||
private void parseWorkloadYamlCmds(String yamlPath, LinkedList<String> arglist, String scenarioFilter) {
|
||||
StmtsDocList stmts = StatementsLoader.load(logger, yamlPath);
|
||||
|
||||
return null;
|
||||
Scenarios scenarios = stmts.getDocScenarios();
|
||||
|
||||
String scenarioName = "default";
|
||||
if (scenarioFilter != null){
|
||||
scenarioName = scenarioFilter;
|
||||
}
|
||||
|
||||
List<String> cmds = scenarios.getNamedScenario(scenarioName);
|
||||
|
||||
for (String cmd : cmds) {
|
||||
// Is there a better way to do this than regex?
|
||||
parse(cmd.split(" "));
|
||||
}
|
||||
arglist.removeFirst();
|
||||
}
|
||||
|
||||
private Map<String, Level> parseLogLevelOverrides(String levelsSpec) {
|
||||
@ -564,100 +586,100 @@ public class EBCLIOptions {
|
||||
histoLoggerConfigs.add(String.format("%s:%s:%s",file,pattern,interval));
|
||||
}
|
||||
|
||||
public static enum CmdType {
|
||||
start,
|
||||
start2,
|
||||
run,
|
||||
run2,
|
||||
stop,
|
||||
await,
|
||||
script,
|
||||
fragment,
|
||||
waitmillis,
|
||||
}
|
||||
|
||||
public static class Cmd {
|
||||
private CmdType cmdType;
|
||||
private String cmdSpec;
|
||||
private Map<String, String> cmdArgs;
|
||||
|
||||
public Cmd(CmdType cmdType, String cmdSpec) {
|
||||
this.cmdSpec = cmdSpec;
|
||||
this.cmdType = cmdType;
|
||||
public static enum CmdType {
|
||||
start,
|
||||
start2,
|
||||
run,
|
||||
run2,
|
||||
stop,
|
||||
await,
|
||||
script,
|
||||
fragment,
|
||||
waitmillis,
|
||||
}
|
||||
|
||||
public Cmd(CmdType cmdType, String cmdSpec, Map<String, String> cmdArgs) {
|
||||
this(cmdType, cmdSpec);
|
||||
this.cmdArgs = cmdArgs;
|
||||
}
|
||||
public static class Cmd {
|
||||
private CmdType cmdType;
|
||||
private String cmdSpec;
|
||||
private Map<String, String> cmdArgs;
|
||||
|
||||
public String getCmdSpec() {
|
||||
|
||||
if (cmdSpec.startsWith("'") && cmdSpec.endsWith("'")) {
|
||||
return cmdSpec.substring(1,cmdSpec.length()-1);
|
||||
public Cmd(CmdType cmdType, String cmdSpec) {
|
||||
this.cmdSpec = cmdSpec;
|
||||
this.cmdType = cmdType;
|
||||
}
|
||||
if (cmdSpec.startsWith("\"") && cmdSpec.endsWith("\"")) {
|
||||
return cmdSpec.substring(1,cmdSpec.length()-1);
|
||||
|
||||
public Cmd(CmdType cmdType, String cmdSpec, Map<String, String> cmdArgs) {
|
||||
this(cmdType, cmdSpec);
|
||||
this.cmdArgs = cmdArgs;
|
||||
}
|
||||
return cmdSpec;
|
||||
}
|
||||
|
||||
public CmdType getCmdType() {
|
||||
return cmdType;
|
||||
}
|
||||
public String getCmdSpec() {
|
||||
|
||||
public void setCmdType(CmdType cmdType) {
|
||||
this.cmdType = cmdType;
|
||||
}
|
||||
if (cmdSpec.startsWith("'") && cmdSpec.endsWith("'")) {
|
||||
return cmdSpec.substring(1,cmdSpec.length()-1);
|
||||
}
|
||||
if (cmdSpec.startsWith("\"") && cmdSpec.endsWith("\"")) {
|
||||
return cmdSpec.substring(1,cmdSpec.length()-1);
|
||||
}
|
||||
return cmdSpec;
|
||||
}
|
||||
|
||||
public Map<String, String> getCmdArgs() {
|
||||
return cmdArgs;
|
||||
}
|
||||
public CmdType getCmdType() {
|
||||
return cmdType;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "type:" + cmdType + ";spec=" + cmdSpec
|
||||
+ ((cmdArgs != null) ? ";cmdArgs=" + cmdArgs.toString() : "");
|
||||
}
|
||||
}
|
||||
public void setCmdType(CmdType cmdType) {
|
||||
this.cmdType = cmdType;
|
||||
}
|
||||
|
||||
public static class LoggerConfig {
|
||||
public String file = "";
|
||||
public String pattern = ".*";
|
||||
public String interval = "30 seconds";
|
||||
public Map<String, String> getCmdArgs() {
|
||||
return cmdArgs;
|
||||
}
|
||||
|
||||
public LoggerConfig(String histoLoggerSpec) {
|
||||
String[] words = histoLoggerSpec.split(":");
|
||||
switch (words.length) {
|
||||
case 3:
|
||||
interval = words[2].isEmpty() ? interval : words[2];
|
||||
case 2:
|
||||
pattern = words[1].isEmpty() ? pattern : words[1];
|
||||
case 1:
|
||||
file = words[0];
|
||||
if (file.isEmpty()) {
|
||||
throw new RuntimeException("You must not specify an empty file here for logging data.");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException(
|
||||
LOG_HISTO +
|
||||
" options must be in either 'regex:filename:interval' or 'regex:filename' or 'filename' format"
|
||||
);
|
||||
public String toString() {
|
||||
return "type:" + cmdType + ";spec=" + cmdSpec
|
||||
+ ((cmdArgs != null) ? ";cmdArgs=" + cmdArgs.toString() : "");
|
||||
}
|
||||
}
|
||||
|
||||
public String getFilename() {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
public static class LoggerConfig {
|
||||
public String file = "";
|
||||
public String pattern = ".*";
|
||||
public String interval = "30 seconds";
|
||||
|
||||
private static class ProgressSpec {
|
||||
public String intervalSpec;
|
||||
public IndicatorMode indicatorMode;
|
||||
public String toString() {
|
||||
return indicatorMode.toString()+":" + intervalSpec;
|
||||
public LoggerConfig(String histoLoggerSpec) {
|
||||
String[] words = histoLoggerSpec.split(":");
|
||||
switch (words.length) {
|
||||
case 3:
|
||||
interval = words[2].isEmpty() ? interval : words[2];
|
||||
case 2:
|
||||
pattern = words[1].isEmpty() ? pattern : words[1];
|
||||
case 1:
|
||||
file = words[0];
|
||||
if (file.isEmpty()) {
|
||||
throw new RuntimeException("You must not specify an empty file here for logging data.");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException(
|
||||
LOG_HISTO +
|
||||
" options must be in either 'regex:filename:interval' or 'regex:filename' or 'filename' format"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public String getFilename() {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
|
||||
private static class ProgressSpec {
|
||||
public String intervalSpec;
|
||||
public IndicatorMode indicatorMode;
|
||||
public String toString() {
|
||||
return indicatorMode.toString()+":" + intervalSpec;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ProgressSpec parseProgressSpec(String interval) {
|
||||
ProgressSpec progressSpec = new ProgressSpec();
|
||||
|
@ -187,4 +187,16 @@ public class TestNBCLIOptions {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cqlIotYamlScenario() {
|
||||
EBCLIOptions opts = new EBCLIOptions(new String[]{ "scenario-test" });
|
||||
List<EBCLIOptions.Cmd> cmds = opts.getCommands();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cqlIotYamlScenarioSchemaOnly() {
|
||||
EBCLIOptions opts = new EBCLIOptions(new String[]{ "scenario-test", "stdout"});
|
||||
List<EBCLIOptions.Cmd> cmds = opts.getCommands();
|
||||
}
|
||||
|
||||
}
|
26
engine-cli/src/test/resources/activities/scenario-test.yaml
Normal file
26
engine-cli/src/test/resources/activities/scenario-test.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
# nb -v run type=cql yaml=baselines/cql-iot tags=phase:schema host=dsehost
|
||||
scenarios:
|
||||
default:
|
||||
- run type=stdout yaml=scenario-test tags=phase:schema
|
||||
- run type=stdout yaml=scenario-test tags=phase:rampup cycles=TEMPLATE(cycles,10)
|
||||
- run type=stdout yaml=scenario-test tags=phase:main cycles=TEMPLATE(cycles,10)
|
||||
schema-only:
|
||||
- run type=stdout yaml=scenario-test tags=phase:schema
|
||||
blocks:
|
||||
- tags:
|
||||
phase: schema
|
||||
statements:
|
||||
- create-keyspace: |
|
||||
create keyspace if not exists puppies
|
||||
- tags:
|
||||
phase: rampup
|
||||
statements:
|
||||
- insert: |
|
||||
insert into puppies (test) values (1) ;
|
||||
- tags:
|
||||
phase: main
|
||||
statements:
|
||||
- insert: |
|
||||
insert into puppies (test) values (1) ;
|
||||
- select: |
|
||||
select * from puppies;
|
Loading…
Reference in New Issue
Block a user