Skip to content

Commit b7b7fbd

Browse files
committed
Updates to dev
2 parents 7acad7d + 4f24fdf commit b7b7fbd

File tree

7 files changed

+3535
-78
lines changed

7 files changed

+3535
-78
lines changed

.DS_Store

0 Bytes
Binary file not shown.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
node_modules
22
.eslintrc.js
3-
package-lock.json
3+
package-lock.json
4+
settings.json
5+
.DS_Store

README.md

Lines changed: 18 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,22 @@
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
33

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`
118

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.
1411

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
7622

app/components/ServicesDashboard.jsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,17 @@ const ServicesDashboard = (props) => {
5656
Add Database
5757
</button>
5858
</div>
59+
<div className="left-bottom">
60+
<button
61+
className="overviewSubmitBtn"
62+
type="submit"
63+
onClick={() => {
64+
location.reload();
65+
}}
66+
>
67+
Refresh overview
68+
</button>
69+
</div>
5970
</div>
6071
<div className="databsaseList">{serviceSelected}</div>
6172
</div>

app/index.css

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
html {
2+
/* prevent the gradient from repeating past the visible section*/
3+
min-height: 100%
4+
}
5+
16
body {
2-
background-color: #333;
3-
background: rgb(25,0,36);
4-
background: linear-gradient(135deg, rgba(25,0,36,1) 0%, rgb(68, 68, 68) 0%, rgb(29, 29, 29) 100%);
7+
/* background-color: #333; Original background*/
8+
background: linear-gradient(135deg, rgba(25,0,36,1) 0%, rgb(68, 68, 68) 0%, rgb(29, 29, 29) 100%);
59
}
610

711
img {
@@ -44,9 +48,12 @@ img {
4448
}
4549

4650
.servicesBtn {
47-
background-color: rgb(255, 206, 9);
48-
width: 100px;
51+
background-color: rgb(255, 206, 9);
52+
width: 13em;
53+
word-wrap: break-word;
4954
font-size: 13px;
55+
text-align: center;
56+
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
5057
border: none;
5158
height: 50px;
5259
transition: 0.2s;

dist/index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
7+
<title>Chronos</title>
8+
</head>
9+
<body>
10+
<div id='app'></div>
11+
<script type="text/javascript" src="index_bundle.js"></script></body>
12+
</html>

dist/index_bundle.js

Lines changed: 3479 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)