Skip to content

Commit 28ecacb

Browse files
Update README
1 parent 6c80bea commit 28ecacb

File tree

1 file changed

+47
-95
lines changed

1 file changed

+47
-95
lines changed

README.md

Lines changed: 47 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,60 @@
1-
<!-- ![Chronos logo](https://raw.githubusercontent.com/Chronos2-0/Chronos/master/app/assets/logo2.png) -->
21
<p align="center">
32
<img src="./app/assets/chronos-v4.png" height=300/>
43
</p>
54

6-
## Chronos
5+
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/open-source-labs/Chronos)
6+
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
7+
![Release: 4.0](https://img.shields.io/badge/Release-4.0-orange)
8+
9+
# Chronos
710

811
> A developer tool that monitors the health and web traffic of servers, microservices, and containers.
912
10-
## Quick start
13+
## NEW FEATURES FOR 4.0+ - Real-time Data and Docker Container Stats
14+
15+
- Improved user interface & experience
16+
- Real-time data monitoring
17+
- Decreased loading times
18+
- Automated notifications(Slack, email)
19+
- Easier to use configuration file
20+
- Now works on Linux, Mac, and Windows
21+
- Previous versions(less than 4.0) of Chronos are no longer supported
22+
23+
24+
## Core Features
25+
<!-- * HTTP request tracing -->
26+
- Docker container stats (e.g. ID, memory usage %, CPU usage %, running processes, etc.)
27+
- Temperature, speed, latency, and memory tracking
28+
- Process monitoring
29+
30+
# Quick start
1131

1232
Install dependencies
1333

1434
```
15-
npm install chronos-tracker**
35+
npm install chronos-tracker
1636
```
1737

18-
Create `chronos-config.js`
38+
Create `chronos-config.js` within the **same directory** as your `server.js`
1939

2040
```js
2141
const chronos = require('chronos-tracker');
2242

2343
cmd.use({
24-
microservice: 'chronos-mon-2', // Microservice name
25-
interval: 3000, // Interval to collect data
44+
microservice: 'chronos-mon-2',
45+
interval: 3000,
2646
dockerized: true,
2747
database: {
28-
// Switch these to MongoDB
2948
type: 'MongoDB',
3049
URI: /* NEW DATABASE URI */,
3150
},
32-
// Optional notifications
3351
notifications: [
3452
{
35-
type: 'slack', // Notifications for slack
53+
type: 'slack',
3654
settings: {
3755
slackurl: /* YOUR SLACK WEBHOOK URL*/,
3856
},
3957
},
40-
// Email Notifications,
4158
{
4259
type: 'email',
4360
settings: {
@@ -52,54 +69,29 @@ cmd.use({
5269
});
5370
```
5471

72+
Refer to section setup for more information on these properties
73+
74+
5575
_NOTE: Email notification settings may require alternative security settings to work_
5676

5777
Initialize chronos
5878

5979
```js
60-
const express = require('express');
6180
const cmd = require('chronos-tracker');
6281
require('./cmd-config'); // Bring in config file
6382

64-
const app = express();
65-
6683
cmd.propagate();
6784
app.use('/', cmd.track());
68-
69-
const PORT = 3000;
70-
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
7185
```
7286

87+
Download Chronos to view your application data [here]()
7388

74-
Download chronos [here]()
75-
76-
Upload your application to Chronos
77-
78-
Enjoy...
79-
80-
## NEW FEATURES FOR 4.0+ - Real-time Data and Docker Container Stats
81-
82-
- Improved user interface & experience
83-
- Real-time data monitoring
84-
- Decreased loading times
85-
- Automated notifications(Slack, email)
86-
- Easier to use configuration file
87-
88-
## Features
89-
90-
<!-- * HTTP request tracing -->
91-
92-
- Docker container stats (e.g. ID, memory usage %, CPU usage %, running processes, etc.)
93-
- Speed and latency tracking
94-
- Process monitoring
95-
- Memory usage
96-
97-
## Installation
89+
<!-- # Installation
9890
9991
Chronos consists of a [Node](https://nodejs.org/en/) module available through the
100-
[npm registry](https://www.npmjs.com/) and a lightweight [Electron](https://electronjs.org/) desktop application.
92+
[npm registry](https://www.npmjs.com/) and a lightweight [Electron](https://electronjs.org/) desktop application. -->
10193

102-
## Usage
94+
# Containerized Applications Using Docker
10395

10496
IMPORTANT: Give your containers the same names you use for arguments for microservice names. Read more about it under the INSTALLATION section below.
10597

@@ -118,24 +110,8 @@ volumes:
118110

119111
\*Note: This module leverages the features of [systeminformation](https://systeminformation.io/).
120112

121-
#### Node module
122-
123-
To begin, install the [Chronos](https://www.npmjs.com/package/chronos-microservice-debugger4) node module within each microservice of your application using the
124-
[`npm install`](https://docs.npmjs.com/getting-started/installing-npm-packages-locally)command:
125-
126-
```
127-
npm install chronos-microservice-debugger4
128-
```
129-
130-
Once installed, write the following two lines at the top of each microservice's server file:
131-
132-
Then add a route handler for all incoming requests:
133-
134-
The cmd.microCom handler function logs communication and health data to a user-provided database. This is to ensure that your private data stays private. We currently support MongoDB and SQL/PostgreSQL databases.
135-
136-
cmd.microCom takes six parameters. You can enter the arguments as individual strings or as an array.
137113

138-
The parameters are:
114+
## Configuration Setup
139115

140116
- [1] microserviceName: To identify the microservice (i.e. "payments").
141117
- Make sure this name matches your container name. More details more below (param #6).
@@ -154,38 +130,8 @@ The parameters are:
154130
- IMPORTANT: When starting up the container, give it the same name that you used for the microservice, because the middleware finds the correct container ID of your container by matching the container name to the microservice name you input as 1st argument.
155131
- Don't forget to bind mount to Docker socket. See NEW FEATURE section above.
156132

157-
String parameter example:
158-
159-
```javascript
160-
app.use(
161-
'/',
162-
cmd.microCom(
163-
'payments',
164-
'mongo',
165-
'mongodb+srv://user:[email protected]/',
166-
'yes',
167-
'm',
168-
'no'
169-
)
170-
);
171-
```
172-
173-
Array parameter example:
174-
175-
```javascript
176-
let values = [
177-
'payments',
178-
'mongo',
179-
'mongodb+srv://user:[email protected]/',
180-
'no',
181-
'h',
182-
'yes'
183-
]
184133

185-
app.use('/', cmd.microCom(values)
186-
```
187-
188-
#### Microservice Test Suite
134+
## Microservice Test Suite
189135

190136
Additionally, the repo includes a test suite of microservices utilizing the Chronos node module so that their communication, health, and container data can be logged. You can then visualize the data with the Electron app.
191137

@@ -195,30 +141,36 @@ Refer to the [README](https://github.com/oslabs-beta/Chronos/tree/docker/microse
195141

196142
#### Electron desktop application
197143

198-
After installing the node module in each microservice, download the Electron desktop application from the public [Chronos](https://github.com/oslabs-beta/Chronos) repo.
144+
After installing the node module in each microservice, download the Electron desktop application from the public [Chronos]() repo.
199145

200146
Inside the downloaded directory, install all dependencies using the `npm install` command followed by the `npm start` command to start the Electron desktop application.
201147

202148
## Contributing
203149

204-
Chronos hopes to inspire an active community of both users and developers. For questions, comments, or contributions, please submit a pull request.
150+
Development of Chronos is open source on GitHub through the tech accelerator umbrella OS Labs, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Chronos.
151+
152+
- [Contributing Guide](https://github.com/oslabs-beta/Chronos/CONTRIBUTING.md)
205153

206154
## People
207155

208156
[Tim Atapagra](https://github.com/timpagra),
157+
[Todd Buckner](https://github.com/tdwolf6),
209158
[Brian Bui](https://github.com/Umius-Brian),
159+
[Ronelle Caguioa](https://github.com/ronellecaguioa),
210160
[Mohtasim Chowdhury](https://github.com/mohtasim317),
211161
[Ousman Diallo](https://github.com/Dialloousman),
212162
[Michelle Herrera](https://github.com/mesherrera),
213163
[Alan Lee](https://github.com/ajlee12/),
214164
[Duane McFarlane](https://github.com/Duane11003),
215165
[Ben Mizel](https://github.com/ben-mizel),
216166
[Alon Ofengart](https://github.com/alon25),
167+
[Greg Palasciano](https://github.com/gregpalace),
217168
[Jenae Pennie](https://github.com/jenaepen),
218169
[Chris Romano](https://github.com/robicano22),
219170
[Brianna Sookhoo](https://github.com/briannasookhoo),
220-
[Natalie Umanzor](https://github.com/nmczormick)
171+
[Natalie Umanzor](https://github.com/nmczormick),
172+
[Michael Wang](https://github.com/wang3101)
221173

222174
## License
223175

224-
[MIT](https://github.com/oslabs-beta/Chronos/blob/master/LICENSE.md)
176+
Chronos is [MIT licensed.](https://github.com/oslabs-beta/Chronos/blob/master/LICENSE.md)

0 commit comments

Comments
 (0)