Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neophob/simple-statistics
Simple statistic module
https://github.com/neophob/simple-statistics
Last synced: about 1 month ago
JSON representation
Simple statistic module
- Host: GitHub
- URL: https://github.com/neophob/simple-statistics
- Owner: neophob
- License: apache-2.0
- Created: 2017-12-28T08:11:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-28T09:02:48.000Z (about 7 years ago)
- Last Synced: 2024-11-19T01:51:30.754Z (about 2 months ago)
- Language: JavaScript
- Size: 8.79 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple statistics
Simple statistics supports counting events, store events and fetch events. The Core idea is
that this module is cleared after a certain amount of time - and its content is logged.## Example Code
```
const Statistics = require('./index.js');
const statistics = new Statistics();
statistics.setValue('hostname', 'foo');
statistics.increaseCounter('event 1');
statistics.increaseCounter('event 2', 50);
statistics.addErrorMessage('ERROR_EOF');
statistics.addErrorMessage('INVALID_PARAMETER');const eventsLastHour = statistics.getStatistic();
const errorsLastHour = statistics.getLastErrors();
statistics.clearStatistics();```
Result:
```
> eventsLastHour
{ 'event 1': 1, 'event 2': 50, hostname: 'foo' }
> errorsLastHour
{ '0': 'ERROR_EOF', '1': 'INVALID_PARAMETER' }
```## API
### Constructor
- `new Statistics({ errorEntriesToTrack: 10 });`: The parameter is optional, default `errorEntriesToTrack` is set to 10.
### setValue
- `statistics.setValue(key, value);`: Sets key to value, existing keys will be overwritten.
### increaseCounter
- `statistics.increaseCounter(key);`: increase key number, if key was not defined before, it will be initialised to 1.
- `statistics.increaseCounter(key, increaseNumber);`: increase key number, if key was not defined before, it will be initialised to `increaseNumber`.### addErrorMessage
- `statistics.addErrorMessage(error);`: adds an error message. If more than `errorEntriesToTrack` are added, the oldest entry gets overwritten.
### getStatistic
- `statistics.getStatistic()`: returns the collected events as JSON object.
### getLastErrors
- `statistics.getLastErrors()`: returns the collected errors as JSON object.
### clearStatistics
- `statistics.clearStatistics()`: Cleans error and event statistics.