docker build -t hyperpilot/analyzer-ui:alpha .
- Deploy a cluster using deployer through executing
./deploy-gcp <username> no-snapunderhyperpilot-demo/workloads/tech-demo - Deploy HyperPilot components through executing
kubectl create -f hyperpilot-install.yamlunderhyperpilot-install - Run load controllers through demo-ui:
kubectl create -f scripts/load-controller-deployment.jsonkubectl create -f scripts/spark-load-controller-deployment.json
- Set up GoDDD application
- You have to at least select
goddddeployment underdefaultnamespace as a microservice - Select goddd deployment as SLO source service, with the port of 8080
- Select
api_booking_service_request_latency_microsecondsas the metric, with tagsummary=quantile_90, value set to 0.1 seconds
- You have to at least select
This repository consists of three JavaScript apps:
- alpha
- interference-analysis
- sizing-analysis
- Node.js
- npm or yarn
yarn installyarn dev-server(npm run dev-server) to start webpack for server side codeyarn dev(npm run dev) to runserver.jsand start the development server for client side code
ANALYSIS_APP: Any ofalpha,sizing-analysis,interference-analysis, default toalphaNODE_ENV: Can beproductionor any thing else, setting it toproductiontriggers webpack to build for productionANALYZER_HOST,ANALYZER_PORT: Configurations for connecting to analyzerOPERATOR_HOST,OPERATOR_PORT: Configurations for connecting to operatorMONGO_HOST,MONGO_PORT,MONGO_USERNAME,MONGO_PASSWORD: Configurations for connecting to MongoCONFIGDB_NAME,METRICDB_NAME: Mongo database names configurationsINFLUXDB_HOST,INFLUXDB_PORT,INFLUXDB_USERNAME,INFLUXDB_PASSWORD: Configurations for connecting to InfluxDB
yarn build-serverornpm run build-serveryarn buildornpm run buildyarn serveornpm run serveto serve the app
yarn lint(Runseslint)
package.json: Dependencies and useful scriptsyarn.lock: Auto-generated lock file produced by yarn.eslintrc.js: Eslint configurations
config.js: Configurations for application, such as Mongo URL, analyzer URL etc., they are almost always configurable through environment variablesserver.js: A Node.js script that imports the corresponding router module fromrouters/according to theANALYSIS_APPenvironment variable. However it behaves differently when it's in development and production mode:NODE_ENV=development(NODE_ENVis notproduction): Launches webpack dev middleware and hot middleware that not only builds the client side JavaScript code, but also hot reloading itNODE_ENV=production: Serves the files underdist/static/directory as static assets, and serves all the other routes with the corresponding HTML file according toANALYSIS_APP
webpack.server.config.js: Webpack configuration for server side code, builds theserver.jsfile intodist/server.bundle.js
webpack.client.config.js: Webpack configuration for client side codealpha/The app for Alpha 2 UIsizing-analysis/: The app for sizing analysis UIinterference-analysis/: The app for interference analysis UIcommons/: Shared components and stylesheets across different appsassets/: App's static assets such as images and fonts
npm run styleguide: Run styleguide server to see all UI componennets at localhost:6060styles/: master stylesheets => Sizing + Interference (Sass or Scss)commons/components: UI components w/component based sass