https://github.com/nicolargo/metrycs
Manage metrics in Python
https://github.com/nicolargo/metrycs
Last synced: 3 months ago
JSON representation
Manage metrics in Python
- Host: GitHub
- URL: https://github.com/nicolargo/metrycs
- Owner: nicolargo
- License: mit
- Created: 2023-08-13T07:54:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-14T11:13:40.000Z (about 1 year ago)
- Last Synced: 2025-01-26T04:11:45.582Z (4 months ago)
- Size: 4.88 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Metrycs
Manage metrics through this Python lib.
Example:
```
from metrics import Metricfoo = Metric()
foo.add(80)
foo.last() # return 80
foo.add(82)
foo.last() # return 82
foo.get() # return [80, 82]
foo.reset()
foo.last() # return Nonerate = Metric(rate=True)
foo.add(80)
foo.last() # return None
foo.add(82)
foor.last() # return 2
foor.add(86)
foo.last() # return 4
foo.get() # return [2, 4]
```Possible implementation:
```
from metrics import Metricclass Metric:
def __init__(self, rate=False):
self.values = []
self.rates = [] # New list to store calculated rates
self.rate = ratedef add(self, value):
self.values.append(value)
if self.rate:
if len(self.values) > 1: # Calculate rate only after more than one value
previous_value = self.values[0]
current_rate = (value - previous_value) / len(self.values)
self.rates.append(current_rate)def last(self):
if not self.values:
return None
return self.values[-1] if not self.rate else self.rates[-1]def get(self):
if not self.rate:
return self.values
else:
return self.rates # Return the list of calculated ratesdef reset(self):
self.values = []
self.rates = [] # Reset the rates list as well
```