-
Notifications
You must be signed in to change notification settings - Fork 11
[Install] API Server
The timings API is a node/express based API the uses ElasticSearch and Kibana (we'll call that "ELK") to store & visualize data. The idea behind the API is to submit/validate/store/assert performance measurements as part of regular functional test cycles.
The API can be run in various ways (see below) and it can be run without ELK although that is not recommended (you miss out on a lot of the goodies!). You can run ELK yourself or you can make use of the convenient timings-docker repo!
The API can be installed on both Windows and Linux Operating systems. Linux is highly recommended but of course, the choice is yours! Following are some system recommendations:
- Enterprise Linux, 64-bit [recommended]
- Windows Server 2012+, 64-bit
- nodejs + npm (version 8+) - see here
- git - see here
The recommended method is "docker-compose" as it includes ELK and requires the least amount of setup/configuration! You can also clone this repo and run the API with node
from inside the cloned directory, or you can install it globally with npm i -g
(from the public NPM registry), or you can build/pull/run a stand-alone Docker container.
NOTE: It is important that you create a config file before you start the API! Your config file can be in JS, JSON or YML format (examples are provided in the root of this repo).
You need to point the API at the config file using the -c
or --configfile
argument. If you fail to do this, the API will use defaults settings such as ""
for the elasticsearch server (= don't use ElasticSearch)! Please refer to CONFIG.MD for more details.
Below are the different install & run commands for each method as well as the instructions on how to point to the config file:
For instructions, see DOCKER.MD
You have to run ELK yourself! See also here: installing-elasticsearch-and-kibana
Activity | Command |
---|---|
Installation |
$ git clone https://www.github.com/godaddy/timings.git $ cd timings $ npm i
|
Startup | $ node ./server.js --configfile {path} |
Upgrade |
$ git pull $ node ./server.js --configfile {path}
|
Config | Can be anywhere! Use --configfile argument! |
You have to run ELK yourself! See also here: installing-elasticsearch-and-kibana
Activity | Command |
---|---|
Installation | $ npm install -g timings |
Startup | $ timings --configfile {path} |
Upgrade |
$ npm update -g timings $ timings --configfile {path}
|
Config | Can be anywhere! Use --configfile argument! |
For instructions, see DOCKER.MD
- Installation
- General info
- Use cases