yodle / new-relic-synthetics-manager Goto Github PK
View Code? Open in Web Editor NEWA tool to manage New Relic Synthetics
License: Apache License 2.0
A tool to manage New Relic Synthetics
License: Apache License 2.0
It would be nice to use the tool to configure alerts for synthetics.
As a user
When I own a synthetic
Then I should be able to configure alerting for when the synthetic fails
Acceptance Criteria
Since I'm using the $browser.addHeader() function in my Synthetics, they currently fail when trying to run locally with an error similar to the example below.
$browser.addHeader("x-dynaTrace", "NA=SAMSimple;SI=NewRelicSynthetics");
^
TypeError: $browser.addHeader is not a function
at Object.<anonymous> (/synthetics/samProd2Dev.js:53:10)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
Currently when editing the synthetics.json file, we just dump the json to the file unformatted. It would be nice to pretty print this, so that end users could easily read it.
Acceptance Criteria
Currently, if a call to New Relic fails, we will print an error message with the http response code. New Relic also provides some an HTML error message in the http response body, we should try and parse this to provide a better error message.
As a user
When there is an error from New Relic
Then I want to be shown that error
Acceptance Criteria
Since I use $browser.waitForPendingRequests in my Synthetics, running them locally produces an error similar to the example below:
$browser.waitForPendingRequests(180000);
^
TypeError: $browser.waitForPendingRequests is not a function
at Object.<anonymous> (/synthetics/samProd.js:13:10)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
It would be very usefull to be able to test API Tests.
https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/scripting-monitors/write-api-tests
There should be documentation on how to work on the project.
As a new developer
When I want to contribute to the project
Then I should be able to learn the tools and architecture of the project.
Acceptance Criteria
Setup a new environment with a clone of this repository and tried to run npm test
but ran into errors because of apparently unmet dependencies. Installed the following packages with npm:
$ npm install gulp-cli -g
$ npm install gulp -D
$ npm install gulp-jshint -g
$ npm install jshint -g
$ npm install --save-dev jshint gulp-jshint
$ npm install -g gulp-mocha
$ npm install --save-dev gulp-mocha
$ npm install --save-dev gulp-istanbul
However, when I now run npm test
, it gives the following output but reports that the tests failed.
$ npm test
> [email protected] test /new-relic-synthetics-manager
> gulp
[05:29:44] Using gulpfile /new-relic-synthetics-manager/gulpfile.js
[05:29:44] Starting 'lint'...
[05:29:44] Starting 'pre-test'...
[05:29:44] Finished 'pre-test' after 372 ms
[05:29:44] Starting 'test'...
[05:29:44] Finished 'lint' after 406 ms
npm ERR! Test failed. See above for more details.
$
The environment is running node.js 7.5.0 and npm 4.1.2.
A synthetic can specify which locations it should be run from. This can be really confusing and difficult to get right, if the defaults are not used. This should be improved.
As a user
When I am creating or updating a synthetic
Then I am able to easily specify which locations it should run from
Acceptance Criteria
The project should have a contribution guide
As a developer
When I want to contribute to the project
Then I should know the guidelines I should follow
Acceptance Criteria
Synthmanager does not run the lastest chrome-driver and chrome versions which makes hard to use locally
Hi!,
First of all this is an awesome contribution to the community, thanks to everyone involved in this, I have a noob problem, I can't get the synthmanager command to run locally, is there something I have to configure first, or maybe something that I forgot? I just cloned your repository and wasn't able to start the command either, any help would be really appreciated.
Thank you
Currently when creating a synthetic, the options are specified. It would be nice to be able to use the tool to change these options after creation as well.
As a user
When I want to change a synthetics configuration
Then I should be able to use the tool to do so
Acceptance Criteria
The tools is currently written with a focus on SCRIPTED_BROWSER synthetics. It would be nice to be able to manage all four types of synthetics.
As a user
when I want to create a non-SCRIPTED_BROWSER synthetic
then I should be able to use the tool to do that
Acceptance Criteria
When calling npx synthmanager update -a API_KEY --filename FILENAME
, the file is being uploaded to New Relic with the first few lines of code locally written removed from the updated synthetic file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.