68 lines · 1.9 KB · JavaScript
RawDownload
////  loadTestServers.js //  examples/utilities/diagnostics////  Created by Stephen Birarda on 05/08/15.//  Copyright 2015 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html////  This script is made for load testing HF servers. It connects to the HF servers and sends/receives data.//  Run this on an assignment-client.// var count = 0;var yawDirection = -1;var yaw = 45;var yawMax = 70;var yawMin = 20;var vantagePoint = {x: 5000, y: 500, z: 5000}; var isLocal = false; // set up our EntityViewer with a position and orientationvar orientation = Quat.fromPitchYawRollDegrees(0, yaw, 0); EntityViewer.setPosition(vantagePoint);EntityViewer.setOrientation(orientation);EntityViewer.queryOctree(); Agent.isListeningToAudioStream = true;Agent.isAvatar = true; function getRandomInt(min, max) {    return Math.floor(Math.random() * (max - min + 1)) + min;} function keepLooking(deltaTime) {    count++;        if (count % getRandomInt(5, 15) == 0) {        yaw += yawDirection;        orientation = Quat.fromPitchYawRollDegrees(0, yaw, 0);                if (yaw > yawMax || yaw < yawMin) {            yawDirection = yawDirection * -1;        }         EntityViewer.setOrientation(orientation);        EntityViewer.queryOctree();                }        // approximately every second, consider stopping    if (count % 60 == 0) {        print("considering stop.... elementCount:" + EntityViewer.getOctreeElementsCount());                var stopProbability = 0.05; // 5% chance of stopping                if (Math.random() < stopProbability) {            print("stopping.... elementCount:" + EntityViewer.getOctreeElementsCount());            Script.stop();        }     }} // register the call back so it fires before each data sendScript.update.connect(keepLooking);