diff --git a/docs/introduction/performance-tests/user-location.md b/docs/introduction/performance-tests/user-location.md new file mode 100644 index 000000000..e78682926 --- /dev/null +++ b/docs/introduction/performance-tests/user-location.md @@ -0,0 +1,106 @@ +# Routr 1.0RC3 - User Location Lookup Performance Tests + +Author: + Pedro Sanders + +
    +
  1. Overview
  2. +
  3. User Location Performance Tests
  4. +
      +
    1. New registrations
    2. +
    3. Update registrations
    4. +
    5. User location lookup
    6. +
    +
  5. Conclusions
  6. +
  7. Notes
  8. +
  9. References
  10. +
+ +## Overview +### Scope + +These tests were intended to show the performances of the User Location implementation in Routr 1.0RC3. +These can be useful to help you better dimension your Routr installation. For these test the login module +was deactivated. The network configuration used during the test is depicted in the following image: + +[Talk or show graphical configuration of the network] + +### Software + +As load generator (UAC side) it was used [SIPp docker](URL) image. + +[Explain the version of additional software. Include profiler and datasource] + +All used SIP-related software was configured to use TCP as the transport protocol for SIP. + +### Platform + +[Explain the hardware used on the load generator and DUT] + +Description of the elements used: + +Equipment #1 - [Processor], [Memory] with [Operating system] testing. +Equipment #2 - [Processor], [Memory] with [Operating system] testing. +Equipment #x - [Processor], [Memory] with [Operating system] testing. + +## Performance Tests + +Routr running without any special + +SIPp was used to generate [# of interaction] MESSAGE requests via Routr. +The results reflect the capacity [General or sub topic] and speed (average response time). + +Flow +SIP entities definition: + +UAC - [UAC]:5070 +UAS - [UAS]:5070 +Proxy - [PROXY_IP]:5060 + +SIP messages flow for one complete transaction: + +``` +UAC ---> MESSAGE ---> Routr ---> MESSAGE ---> UAS +UAC <--- 200 OK <--- Routr <--- 200 OK <--- UAS +``` + +[How many UACs were used to generate the traffic] + +Configuration +SIPP command: + +```bash +[Used SIPp command config ] +``` + +**Results** + +Results reported by SIPp on the UAC servers: + +| Factor | Value | Note | +|---|---|---| +| Iterations | 200000 | | +| Max concurrent requests | 70 | | +| Max allowed Rate | 10000 | requests per second | +| Average Request Rate | 8047.966 | requests per second | +| Failures | 0 | | +| Retransmissions | 0 | | +| Timeout | 0 | | +| Elapsed Time | 00:00:24:851 | 00:00:24:851 | + +
+ +
+
+ +Routr config file: + +```yaml +[Whatever config applies] +``` + +[Graphical results] + +3. Conclusions +4. Notes +5. References diff --git a/libs/accessors-smart-1.2.jar b/libs/accessors-smart-1.2.jar new file mode 100644 index 000000000..f4505e91d Binary files /dev/null and b/libs/accessors-smart-1.2.jar differ diff --git a/libs/argparse4j-0.8.1.jar b/libs/argparse4j-0.8.1.jar new file mode 100644 index 000000000..b3039f4a3 Binary files /dev/null and b/libs/argparse4j-0.8.1.jar differ diff --git a/libs/asm-6.2.1.jar b/libs/asm-6.2.1.jar new file mode 100644 index 000000000..cc0079266 Binary files /dev/null and b/libs/asm-6.2.1.jar differ diff --git a/libs/asm-analysis-6.2.1.jar b/libs/asm-analysis-6.2.1.jar new file mode 100644 index 000000000..4e0f764e6 Binary files /dev/null and b/libs/asm-analysis-6.2.1.jar differ diff --git a/libs/asm-commons-6.2.1.jar b/libs/asm-commons-6.2.1.jar new file mode 100644 index 000000000..42cdfeeec Binary files /dev/null and b/libs/asm-commons-6.2.1.jar differ diff --git a/libs/asm-tree-6.2.1.jar b/libs/asm-tree-6.2.1.jar new file mode 100644 index 000000000..9b17711de Binary files /dev/null and b/libs/asm-tree-6.2.1.jar differ diff --git a/libs/asm-util-6.2.1.jar b/libs/asm-util-6.2.1.jar new file mode 100644 index 000000000..4930a397e Binary files /dev/null and b/libs/asm-util-6.2.1.jar differ diff --git a/libs/bson-3.7.1.jar b/libs/bson-3.7.1.jar new file mode 100644 index 000000000..e198801f6 Binary files /dev/null and b/libs/bson-3.7.1.jar differ diff --git a/libs/caffeine-2.7.0.jar b/libs/caffeine-2.7.0.jar new file mode 100644 index 000000000..d5b0bbd29 Binary files /dev/null and b/libs/caffeine-2.7.0.jar differ diff --git a/libs/checker-qual-2.6.0.jar b/libs/checker-qual-2.6.0.jar new file mode 100644 index 000000000..1113b33da Binary files /dev/null and b/libs/checker-qual-2.6.0.jar differ diff --git a/libs/commons-codec-1.11.jar b/libs/commons-codec-1.11.jar new file mode 100644 index 000000000..22451206d Binary files /dev/null and b/libs/commons-codec-1.11.jar differ diff --git a/libs/commons-io-2.6.jar b/libs/commons-io-2.6.jar new file mode 100644 index 000000000..00556b119 Binary files /dev/null and b/libs/commons-io-2.6.jar differ diff --git a/libs/commons-lang-2.6.jar b/libs/commons-lang-2.6.jar new file mode 100644 index 000000000..98467d3a6 Binary files /dev/null and b/libs/commons-lang-2.6.jar differ diff --git a/libs/commons-lang3-3.5.jar b/libs/commons-lang3-3.5.jar new file mode 100644 index 000000000..6328c8de4 Binary files /dev/null and b/libs/commons-lang3-3.5.jar differ diff --git a/libs/commons-logging-1.2.jar b/libs/commons-logging-1.2.jar new file mode 100644 index 000000000..93a3b9f6d Binary files /dev/null and b/libs/commons-logging-1.2.jar differ diff --git a/libs/commons-net-3.6.jar b/libs/commons-net-3.6.jar new file mode 100644 index 000000000..4537623ee Binary files /dev/null and b/libs/commons-net-3.6.jar differ diff --git a/libs/commons-pool2-2.4.2.jar b/libs/commons-pool2-2.4.2.jar new file mode 100644 index 000000000..fdf8b6faa Binary files /dev/null and b/libs/commons-pool2-2.4.2.jar differ diff --git a/libs/error_prone_annotations-2.3.3.jar b/libs/error_prone_annotations-2.3.3.jar new file mode 100644 index 000000000..8fe4938d9 Binary files /dev/null and b/libs/error_prone_annotations-2.3.3.jar differ diff --git a/libs/graal-sdk-19.0.0.jar b/libs/graal-sdk-19.0.0.jar new file mode 100644 index 000000000..45247e7e9 Binary files /dev/null and b/libs/graal-sdk-19.0.0.jar differ diff --git a/libs/hamcrest-core-1.3.jar b/libs/hamcrest-core-1.3.jar new file mode 100644 index 000000000..9d5fe16e3 Binary files /dev/null and b/libs/hamcrest-core-1.3.jar differ diff --git a/libs/httpasyncclient-4.1.1.jar b/libs/httpasyncclient-4.1.1.jar new file mode 100644 index 000000000..cfb54cd9c Binary files /dev/null and b/libs/httpasyncclient-4.1.1.jar differ diff --git a/libs/httpclient-4.5.2.jar b/libs/httpclient-4.5.2.jar new file mode 100644 index 000000000..701609fcc Binary files /dev/null and b/libs/httpclient-4.5.2.jar differ diff --git a/libs/httpcore-4.4.4.jar b/libs/httpcore-4.4.4.jar new file mode 100644 index 000000000..ac4a87730 Binary files /dev/null and b/libs/httpcore-4.4.4.jar differ diff --git a/libs/httpcore-nio-4.4.4.jar b/libs/httpcore-nio-4.4.4.jar new file mode 100644 index 000000000..dfed583fe Binary files /dev/null and b/libs/httpcore-nio-4.4.4.jar differ diff --git a/libs/httpmime-4.5.2.jar b/libs/httpmime-4.5.2.jar new file mode 100644 index 000000000..474670a65 Binary files /dev/null and b/libs/httpmime-4.5.2.jar differ diff --git a/libs/icu4j-62.1.jar b/libs/icu4j-62.1.jar new file mode 100644 index 000000000..c9f8fa227 Binary files /dev/null and b/libs/icu4j-62.1.jar differ diff --git a/libs/inamik-text-tables-0.1.jar b/libs/inamik-text-tables-0.1.jar new file mode 100644 index 000000000..d267e22de Binary files /dev/null and b/libs/inamik-text-tables-0.1.jar differ diff --git a/libs/jackson-annotations-2.9.0.jar b/libs/jackson-annotations-2.9.0.jar new file mode 100644 index 000000000..c602d75d4 Binary files /dev/null and b/libs/jackson-annotations-2.9.0.jar differ diff --git a/libs/jackson-core-2.9.5.jar b/libs/jackson-core-2.9.5.jar new file mode 100644 index 000000000..b70d1ef1a Binary files /dev/null and b/libs/jackson-core-2.9.5.jar differ diff --git a/libs/jackson-databind-2.9.5.jar b/libs/jackson-databind-2.9.5.jar new file mode 100644 index 000000000..7a9515098 Binary files /dev/null and b/libs/jackson-databind-2.9.5.jar differ diff --git a/libs/jackson-dataformat-yaml-2.9.5.jar b/libs/jackson-dataformat-yaml-2.9.5.jar new file mode 100644 index 000000000..c8042576f Binary files /dev/null and b/libs/jackson-dataformat-yaml-2.9.5.jar differ diff --git a/libs/jain-sip-ri-1.3.0-91.jar b/libs/jain-sip-ri-1.3.0-91.jar new file mode 100644 index 000000000..1e1b6b2e0 Binary files /dev/null and b/libs/jain-sip-ri-1.3.0-91.jar differ diff --git a/libs/javax.activation-api-1.2.0.jar b/libs/javax.activation-api-1.2.0.jar new file mode 100644 index 000000000..986c36509 Binary files /dev/null and b/libs/javax.activation-api-1.2.0.jar differ diff --git a/libs/javax.servlet-api-3.1.0.jar b/libs/javax.servlet-api-3.1.0.jar new file mode 100644 index 000000000..6b14c3d26 Binary files /dev/null and b/libs/javax.servlet-api-3.1.0.jar differ diff --git a/libs/jaxb-api-2.4.0-b180830.0359.jar b/libs/jaxb-api-2.4.0-b180830.0359.jar new file mode 100644 index 000000000..dcd345cf5 Binary files /dev/null and b/libs/jaxb-api-2.4.0-b180830.0359.jar differ diff --git a/libs/jedis-2.9.0.jar b/libs/jedis-2.9.0.jar new file mode 100644 index 000000000..f4d27d370 Binary files /dev/null and b/libs/jedis-2.9.0.jar differ diff --git a/libs/jetty-client-9.4.15.v20190215.jar b/libs/jetty-client-9.4.15.v20190215.jar new file mode 100644 index 000000000..2cb94ae35 Binary files /dev/null and b/libs/jetty-client-9.4.15.v20190215.jar differ diff --git a/libs/jetty-http-9.4.15.v20190215.jar b/libs/jetty-http-9.4.15.v20190215.jar new file mode 100644 index 000000000..73bac0dc0 Binary files /dev/null and b/libs/jetty-http-9.4.15.v20190215.jar differ diff --git a/libs/jetty-io-9.4.15.v20190215.jar b/libs/jetty-io-9.4.15.v20190215.jar new file mode 100644 index 000000000..7aeca583e Binary files /dev/null and b/libs/jetty-io-9.4.15.v20190215.jar differ diff --git a/libs/jetty-security-9.4.15.v20190215.jar b/libs/jetty-security-9.4.15.v20190215.jar new file mode 100644 index 000000000..06c0047d1 Binary files /dev/null and b/libs/jetty-security-9.4.15.v20190215.jar differ diff --git a/libs/jetty-server-9.4.15.v20190215.jar b/libs/jetty-server-9.4.15.v20190215.jar new file mode 100644 index 000000000..86d06d84a Binary files /dev/null and b/libs/jetty-server-9.4.15.v20190215.jar differ diff --git a/libs/jetty-servlet-9.4.15.v20190215.jar b/libs/jetty-servlet-9.4.15.v20190215.jar new file mode 100644 index 000000000..abfb8badc Binary files /dev/null and b/libs/jetty-servlet-9.4.15.v20190215.jar differ diff --git a/libs/jetty-util-9.4.15.v20190215.jar b/libs/jetty-util-9.4.15.v20190215.jar new file mode 100644 index 000000000..682313e75 Binary files /dev/null and b/libs/jetty-util-9.4.15.v20190215.jar differ diff --git a/libs/jetty-webapp-9.4.15.v20190215.jar b/libs/jetty-webapp-9.4.15.v20190215.jar new file mode 100644 index 000000000..3118ef889 Binary files /dev/null and b/libs/jetty-webapp-9.4.15.v20190215.jar differ diff --git a/libs/jetty-xml-9.4.15.v20190215.jar b/libs/jetty-xml-9.4.15.v20190215.jar new file mode 100644 index 000000000..e91078089 Binary files /dev/null and b/libs/jetty-xml-9.4.15.v20190215.jar differ diff --git a/libs/jjwt-0.9.0.jar b/libs/jjwt-0.9.0.jar new file mode 100644 index 000000000..d1804656e Binary files /dev/null and b/libs/jjwt-0.9.0.jar differ diff --git a/libs/js-19.0.0.jar b/libs/js-19.0.0.jar new file mode 100644 index 000000000..8d14ee852 Binary files /dev/null and b/libs/js-19.0.0.jar differ diff --git a/libs/json-20160212.jar b/libs/json-20160212.jar new file mode 100644 index 000000000..21e09dbc2 Binary files /dev/null and b/libs/json-20160212.jar differ diff --git a/libs/json-path-2.4.0.jar b/libs/json-path-2.4.0.jar new file mode 100644 index 000000000..6229306b8 Binary files /dev/null and b/libs/json-path-2.4.0.jar differ diff --git a/libs/json-schema-validator-0.1.19.jar b/libs/json-schema-validator-0.1.19.jar new file mode 100644 index 000000000..d5f7110c3 Binary files /dev/null and b/libs/json-schema-validator-0.1.19.jar differ diff --git a/libs/json-smart-2.3.jar b/libs/json-smart-2.3.jar new file mode 100644 index 000000000..0cd52ea4b Binary files /dev/null and b/libs/json-smart-2.3.jar differ diff --git a/libs/junit-4.13-beta-3.jar b/libs/junit-4.13-beta-3.jar new file mode 100644 index 000000000..636106df5 Binary files /dev/null and b/libs/junit-4.13-beta-3.jar differ diff --git a/libs/jvm-npm.js b/libs/jvm-npm.js new file mode 100644 index 000000000..150e3b390 --- /dev/null +++ b/libs/jvm-npm.js @@ -0,0 +1,285 @@ +/** + * Copyright 2014-2016 Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License") + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Since we intend to use the Function constructor. +/* jshint evil: true */ + +module = (typeof module === 'undefined') ? {} : module; + +(function () { + var System = java.lang.System; + var Scanner = java.util.Scanner; + var File = java.io.File; + + NativeRequire = (typeof NativeRequire === 'undefined') ? {} : NativeRequire; + if (typeof require === 'function' && !NativeRequire.require) { + NativeRequire.require = require; + } + + function Module (id, parent, core) { + this.id = id; + this.core = core; + this.parent = parent; + this.children = []; + this.filename = id; + this.loaded = false; + + Object.defineProperty(this, 'exports', { + get: function () { + return this._exports; + }.bind(this), + set: function (val) { + Require.cache[this.filename] = val; + this._exports = val; + }.bind(this) + }); + this.exports = {}; + + if (parent && parent.children) parent.children.push(this); + + this.require = function (id) { + return Require(id, this); + }.bind(this); + } + + Module._load = function _load (file, parent, core, main) { + var module = new Module(file, parent, core); + var body = readFile(module.filename, module.core); + var dir = new File(module.filename).getParent(); + var args = ['exports', 'module', 'require', '__filename', '__dirname']; + var func = new Function(args, body); + func.apply(module, + [module.exports, module, module.require, module.filename, dir]); + module.loaded = true; + module.main = main; + return module.exports; + }; + + Module.runMain = function runMain (main) { + var file = Require.resolve(main); + Module._load(file, undefined, false, true); + }; + + function Require (id, parent) { + var core; + var native_; + var file = Require.resolve(id, parent); + + if (!file) { + if (typeof NativeRequire.require === 'function') { + if (Require.debug) { + System.out.println(['Cannot resolve', id, 'defaulting to native'].join(' ')); + } + native_ = NativeRequire.require(id); + if (native_) return native_; + } + System.err.println('Cannot find module ' + id); + throw new ModuleError('Cannot find module ' + id, 'MODULE_NOT_FOUND'); + } + + if (file.core) { + file = file.path; + core = true; + } + try { + if (Require.cache[file]) { + return Require.cache[file]; + } else if (file.endsWith('.js')) { + return Module._load(file, parent, core); + } else if (file.endsWith('.json')) { + return loadJSON(file); + } + } catch (ex) { + if (ex instanceof java.lang.Exception) { + throw new ModuleError('Cannot load module ' + id, 'LOAD_ERROR', ex); + } else { + System.out.println('Cannot load module ' + id + ' LOAD_ERROR'); + throw ex; + } + } + } + + Require.resolve = function (id, parent) { + var roots = findRoots(parent); + for (var i = 0; i < roots.length; ++i) { + var root = roots[i]; + var result = resolveCoreModule(id, root) || + resolveAsFile(id, root, '.js') || + resolveAsFile(id, root, '.json') || + resolveAsDirectory(id, root) || + resolveAsNodeModule(id, root); + if (result) { + return result; + } + } + return false; + }; + + Require.root = System.getProperty('user.dir'); + Require.NODE_PATH = undefined; + + function findRoots (parent) { + var r = []; + r.push(findRoot(parent)); + return r.concat(Require.paths()); + } + + function parsePaths (paths) { + if (!paths) { + return []; + } + if (paths === '') { + return []; + } + var osName = java.lang.System.getProperty('os.name').toLowerCase(); + var separator; + + if (osName.indexOf('win') >= 0) { + separator = ';'; + } else { + separator = ':'; + } + + return paths.split(separator); + } + + Require.paths = function () { + var r = []; + r.push(java.lang.System.getProperty('user.home') + '/.node_modules'); + r.push(java.lang.System.getProperty('user.home') + '/.node_libraries'); + + if (Require.NODE_PATH) { + r = r.concat(parsePaths(Require.NODE_PATH)); + } else { + var NODE_PATH = java.lang.System.getenv().NODE_PATH; + if (NODE_PATH) { + r = r.concat(parsePaths(NODE_PATH)); + } + } + // r.push( $PREFIX + "/node/library" ) + return r; + }; + + function findRoot (parent) { + if (!parent || !parent.id) { return Require.root; } + var pathParts = parent.id.split(/[\/|\\,]+/g); + pathParts.pop(); + return pathParts.join('/'); + } + + Require.debug = true; + Require.cache = {}; + Require.extensions = {}; + require = Require; + + module.exports = Module; + + function loadJSON (file) { + var json = JSON.parse(readFile(file)); + Require.cache[file] = json; + return json; + } + + function resolveAsNodeModule (id, root) { + var base = [root, 'node_modules'].join('/'); + return resolveAsFile(id, base) || + resolveAsDirectory(id, base) || + (root ? resolveAsNodeModule(id, new File(root).getParent()) : false); + } + + function resolveAsDirectory (id, root) { + var base = [root, id].join('/'); + var file = new File([base, 'package.json'].join('/')); + if (file.exists()) { + try { + var body = readFile(file.getCanonicalPath()); + var package_ = JSON.parse(body); + if (package_.main) { + return (resolveAsFile(package_.main, base) || + resolveAsDirectory(package_.main, base)); + } + // if no package.main exists, look for index.js + return resolveAsFile('index.js', base); + } catch (ex) { + throw new ModuleError('Cannot load JSON file', 'PARSE_ERROR', ex); + } + } + return resolveAsFile('index.js', base); + } + + function resolveAsFile (id, root, ext) { + var file; + if (id.length > 0 && id[0] === '/') { + file = new File(normalizeName(id, ext || '.js')); + if (!file.exists()) { + return resolveAsDirectory(id); + } + } else { + file = new File([root, normalizeName(id, ext || '.js')].join('/')); + } + if (file.exists()) { + return file.getCanonicalPath(); + } + } + + function resolveCoreModule (id, root) { + var name = normalizeName(id); + var classloader = java.lang.Thread.currentThread().getContextClassLoader(); + if (classloader.getResource(name)) { + return { path: name, core: true }; + } + } + + function normalizeName (fileName, ext) { + var extension = ext || '.js'; + if (fileName.endsWith(extension)) { + return fileName; + } + return fileName + extension; + } + + function readFile (filename, core) { + var input; + try { + if (core) { + var classloader = java.lang.Thread.currentThread().getContextClassLoader(); + input = classloader.getResourceAsStream(filename); + } else { + input = new File(filename); + } + // TODO: I think this is not very efficient + return new Scanner(input).useDelimiter('\\A').next(); + } catch (e) { + throw new ModuleError('Cannot read file [' + input + ']: ', 'IO_ERROR', e); + } + } + + function ModuleError (message, code, cause) { + this.code = code || 'UNDEFINED'; + this.message = message || 'Error loading module'; + this.cause = cause; + } + + // Helper function until ECMAScript 6 is complete + if (typeof String.prototype.endsWith !== 'function') { + String.prototype.endsWith = function (suffix) { + if (!suffix) return false; + return this.indexOf(suffix, this.length - suffix.length) !== -1; + }; + } + + ModuleError.prototype = new Error(); + ModuleError.prototype.constructor = ModuleError; +}()); diff --git a/libs/jvm-profiler-master-SNAPSHOT.jar b/libs/jvm-profiler-master-SNAPSHOT.jar new file mode 100644 index 000000000..e024a5e5b Binary files /dev/null and b/libs/jvm-profiler-master-SNAPSHOT.jar differ diff --git a/libs/log4j-1.2-api-2.11.0.jar b/libs/log4j-1.2-api-2.11.0.jar new file mode 100644 index 000000000..1ca54c5b8 Binary files /dev/null and b/libs/log4j-1.2-api-2.11.0.jar differ diff --git a/libs/log4j-1.2.17.jar b/libs/log4j-1.2.17.jar new file mode 100644 index 000000000..1d425cf7d Binary files /dev/null and b/libs/log4j-1.2.17.jar differ diff --git a/libs/log4j-api-2.11.0.jar b/libs/log4j-api-2.11.0.jar new file mode 100644 index 000000000..ac408c6fa Binary files /dev/null and b/libs/log4j-api-2.11.0.jar differ diff --git a/libs/log4j-core-2.11.0.jar b/libs/log4j-core-2.11.0.jar new file mode 100644 index 000000000..a0b39ef28 Binary files /dev/null and b/libs/log4j-core-2.11.0.jar differ diff --git a/libs/nashorn-promise-0.1.1.jar b/libs/nashorn-promise-0.1.1.jar new file mode 100644 index 000000000..099ace405 Binary files /dev/null and b/libs/nashorn-promise-0.1.1.jar differ diff --git a/libs/regex-19.0.0.jar b/libs/regex-19.0.0.jar new file mode 100644 index 000000000..9de454537 Binary files /dev/null and b/libs/regex-19.0.0.jar differ diff --git a/libs/routr.jar b/libs/routr.jar new file mode 100644 index 000000000..9481c646c Binary files /dev/null and b/libs/routr.jar differ diff --git a/libs/slf4j-api-1.7.25.jar b/libs/slf4j-api-1.7.25.jar new file mode 100644 index 000000000..0143c0996 Binary files /dev/null and b/libs/slf4j-api-1.7.25.jar differ diff --git a/libs/slf4j-ext-1.7.25.jar b/libs/slf4j-ext-1.7.25.jar new file mode 100644 index 000000000..8ae6aaad7 Binary files /dev/null and b/libs/slf4j-ext-1.7.25.jar differ diff --git a/libs/slf4j-nop-1.7.25.jar b/libs/slf4j-nop-1.7.25.jar new file mode 100644 index 000000000..7b704fa26 Binary files /dev/null and b/libs/slf4j-nop-1.7.25.jar differ diff --git a/libs/snakeyaml-1.18.jar b/libs/snakeyaml-1.18.jar new file mode 100644 index 000000000..e3fac8e78 Binary files /dev/null and b/libs/snakeyaml-1.18.jar differ diff --git a/libs/spark-authentication-1.4.jar b/libs/spark-authentication-1.4.jar new file mode 100644 index 000000000..f724f5d56 Binary files /dev/null and b/libs/spark-authentication-1.4.jar differ diff --git a/libs/spark-core-2.9.0.jar b/libs/spark-core-2.9.0.jar new file mode 100644 index 000000000..a6619e2a2 Binary files /dev/null and b/libs/spark-core-2.9.0.jar differ diff --git a/libs/truffle-api-19.0.0.jar b/libs/truffle-api-19.0.0.jar new file mode 100644 index 000000000..4dc5eb519 Binary files /dev/null and b/libs/truffle-api-19.0.0.jar differ diff --git a/libs/unirest-java-1.4.9.jar b/libs/unirest-java-1.4.9.jar new file mode 100644 index 000000000..59bb35799 Binary files /dev/null and b/libs/unirest-java-1.4.9.jar differ diff --git a/libs/websocket-api-9.4.15.v20190215.jar b/libs/websocket-api-9.4.15.v20190215.jar new file mode 100644 index 000000000..7748a2700 Binary files /dev/null and b/libs/websocket-api-9.4.15.v20190215.jar differ diff --git a/libs/websocket-client-9.4.15.v20190215.jar b/libs/websocket-client-9.4.15.v20190215.jar new file mode 100644 index 000000000..83fa3553c Binary files /dev/null and b/libs/websocket-client-9.4.15.v20190215.jar differ diff --git a/libs/websocket-common-9.4.15.v20190215.jar b/libs/websocket-common-9.4.15.v20190215.jar new file mode 100644 index 000000000..97bb254ff Binary files /dev/null and b/libs/websocket-common-9.4.15.v20190215.jar differ diff --git a/libs/websocket-server-9.4.15.v20190215.jar b/libs/websocket-server-9.4.15.v20190215.jar new file mode 100644 index 000000000..5c5ab7301 Binary files /dev/null and b/libs/websocket-server-9.4.15.v20190215.jar differ diff --git a/libs/websocket-servlet-9.4.15.v20190215.jar b/libs/websocket-servlet-9.4.15.v20190215.jar new file mode 100644 index 000000000..061b5b468 Binary files /dev/null and b/libs/websocket-servlet-9.4.15.v20190215.jar differ diff --git a/mkdocs.yml b/mkdocs.yml index 8cbfd4d49..055477970 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -19,6 +19,8 @@ nav: - FAQ: introduction/faq.md - Roadmap: introduction/roadmap.md - Media: introduction/media.md + - Performance Tests: + - User Location: introduction/performance-tests/user-location.md - Glossary: introduction/glossary.md - Concepts: concepts.md - Configuration: