|
1 |
| -## Chronos Microservice Debugger |
2 |
| -Chronos Microservice Debugger consists of an npm package with an optional Electron front end to visualize information collected through use of npm package. |
| 1 | +# What is Chronos? |
| 2 | +A tool for visualizing communication and health throughout a microservices application |
3 | 3 |
|
4 |
| -## Install |
5 |
| -```javascript |
6 |
| -npm install chronos-microservice-debugger3 |
7 |
| -``` |
8 |
| -## Usage |
9 |
| -There are two main aspects to Chronos-Microservice-Debugger |
10 |
| -1. Communication Monitor: Listens in on all microservice-microservice and microservice-client communication and monitors the response statuses and messages to ensure communications are making it to the correct destination successfully. |
| 4 | +## How can I use Chronos? |
| 5 | +1. Go to https://www.npmjs.com/package/chronos-microservice-debugger and follow the instructions to install the NPM package within each microservice of your application |
| 6 | +2. Download this repo |
| 7 | +3. Inside the downloaded directory, run `npm install` followed by `npm start` |
11 | 8 |
|
12 |
| -2. Health Monitor: The health monitor checks the status of your microservice every second and sends this health information to an optional electron frontend where it is visualized for easier use. |
13 |
| -To use the npm package, there are four required parameters and an optional fifth parameter. You can enter the items as individual strings or as an array containing the three required parameters and one optional parameter. |
| 9 | +## How can I contribute to Chronos? |
| 10 | +Chronos hopes to inspire an active community of both users and developers. For questions, comments, or contributions, please submit a pull request. |
14 | 11 |
|
15 |
| -The parameters are: |
16 |
| -1. microserviceName: What do you want to name the current microservice |
17 |
| -2. databaseType: We currently support PostgreSQL and Mongo. Enter “mongo” or “sql” |
18 |
| -3. databaseURL: Where would you like to store your information? Enter the URL to your database |
19 |
| -4. wantMicroHealth: Do you want the microHealth of your microservice to be monitor? Enter “yes” or “no” |
20 |
| -5. queryFrequency: How often do you want microHealth to monitor the health of your database? It defaults to every minute, but you can choose: |
21 |
| - * “s” : Monitors every second |
22 |
| - * “m” : The default, monitors every minute |
23 |
| - * “h” : Monitors every hour |
24 |
| - * “d” : Monitors once per day |
25 |
| - * “w” : Monitors once per week |
26 |
| - |
27 |
| -String parameter example: |
28 |
| -```javascript |
29 |
| -// How to use chronos-microservice-debugger3 |
30 |
| -// Place the following two lines before requiring express |
31 |
| -const cmd = require(‘chronos-microservice-debugger3’); |
32 |
| -cmd.propagate(); |
33 |
| -// Place the following line of code before the microservice re-routes the request (for string parameters) |
34 |
| -app.use(‘/’, cmd.microCom(‘microserviceName’, ‘databaseType’, ‘databaseURL’,‘wantMicroHealth’,‘queryFrequency’)) |
35 |
| -// Or place the following line of code before the microservice re-routes the request (for array parameter) |
36 |
| -app.use(‘/’, cmd.microCom([‘microserviceName’, ‘databaseType’, ‘databaseURL’,‘wantMicroHealth’,‘queryFrequency’])) |
37 |
| -// Example using string parameters |
38 |
| -app.use(‘/’, cmd.microCom(‘books’, ‘sql’, ‘thisIsMyURL’,‘yes’, ‘m’)) |
39 |
| -``` |
40 |
| -Array parameter example: |
41 |
| -```javascript |
42 |
| -let values = [ |
43 |
| - ‘microserviceName’, |
44 |
| - ‘databaseType’, |
45 |
| - ‘databaseURL’, |
46 |
| - ‘wantMicroHealth’, |
47 |
| - ‘queryFrequency’ |
48 |
| -] |
49 |
| -// How to use chronos-micrservice-debugger2 with an array parameter |
50 |
| -app.use(‘/’, cmd.microCom(values) |
51 |
| -// Example using an array parameter |
52 |
| -let values = [ |
53 |
| - ‘books’, |
54 |
| - ‘mongo’, |
55 |
| - ‘thisIsMyNewURL’, |
56 |
| - ‘yes’, |
57 |
| - ‘w’ |
58 |
| -] |
59 |
| -app.use(‘/’, cmd.microCom(values) |
60 |
| -``` |
61 |
| -Chronos uses a user-owned and provided database to ensure that your private data stays private. We currently support MongoDB and SQL/PostgreSQL databases. |
62 |
| -
|
63 |
| -## Things in the Works |
64 |
| -1. gRPC support |
65 |
| -3. ‘Time Travel’ to see how your microservices have changed over time |
66 |
| -4. Docker health information for containerized microservices |
67 |
| -5. Implement additional unit testing |
68 |
| -6. Published Electron application with cross-browser compatibility |
69 |
| -7. Microservice Architecture Visualizer |
70 |
| -
|
71 |
| -## Links |
72 |
| -1. Gitub Page: https://github.com/Chronos2-0/Chronos |
73 |
| -
|
74 |
| -## Contact Us |
75 |
| -For questions, requests, or more information, please contact us at [email protected] |
| 12 | +## Who created Chronos? |
| 13 | +* Mohtasim Chowdhury |
| 14 | +* Natalie Umanzor |
| 15 | +* Michelle Herrera |
| 16 | +* Duane McFarlane |
| 17 | +* Ben Mizel |
| 18 | +* Timothy Atapagra |
| 19 | +* Jenae Pennie |
| 20 | +* Chris Romano |
| 21 | +* Ousman Diallo |
76 | 22 |
|
0 commit comments