Merge branch 'staging'

This commit is contained in:
s3lph 2020-03-03 22:25:22 +01:00
commit 300941b215
6 changed files with 40 additions and 3 deletions

View file

@ -1,5 +1,18 @@
# Matemat Changelog # Matemat Changelog
<!-- BEGIN RELEASE v0.2.4 -->
## Version 0.2.4
Feature release
### Changes
<!-- BEGIN CHANGES 0.2.4 -->
- Feature: Quick-and-dirty Prometheus metrics exporter
<!-- END CHANGES 0.2.4 -->
<!-- END RELEASE v0.2.4 -->
<!-- BEGIN RELEASE v0.2.3 --> <!-- BEGIN RELEASE v0.2.3 -->
## Version 0.2.3 ## Version 0.2.3

View file

@ -1,2 +1,2 @@
__version__ = '0.2.3' __version__ = '0.2.4'

View file

@ -11,6 +11,7 @@ from .touchkey import touchkey_page
from .buy import buy from .buy import buy
from .deposit import deposit from .deposit import deposit
from .admin import admin from .admin import admin
from .metrics import metrics
from .moduser import moduser from .moduser import moduser
from .modproduct import modproduct from .modproduct import modproduct
from .userbootstrap import userbootstrap from .userbootstrap import userbootstrap

View file

@ -0,0 +1,23 @@
from bottle import abort, response, route
from matemat.db import MatematDatabase
from matemat.webserver.config import get_app_config
@route('/metrics')
def metrics():
config = get_app_config()
if config.get('MetricsEnabled', '0') != '1':
return abort(403,
'Prometheus metrics are disable in configuration. '
'If you believe this is an error, contact your administrator.')
with MatematDatabase(config['DatabaseFile']) as db:
products = db.list_products()
m = '''# TYPE matemat_beverage_supply_count gauge
# HELP matemat_beverage_supply_count Number of bottles available
'''
for product in products:
name = product.name.replace('"', '\\"')
m += f'matemat_beverage_supply_count{{product="{name}"}} {product.stock}\n'
response.headers['Content-Type'] = 'text/plain'
return m

View file

@ -2,7 +2,7 @@
# Maintainer: s3lph <account-gitlab-ideynizv@kernelpanic.lol> # Maintainer: s3lph <account-gitlab-ideynizv@kernelpanic.lol>
pkgname=matemat pkgname=matemat
pkgver=0.2.3 pkgver=0.2.4
pkgrel=1 pkgrel=1
arch=('any') arch=('any')

View file

@ -1,5 +1,5 @@
Package: matemat Package: matemat
Version: 0.2.3 Version: 0.2.4
Maintainer: s3lph <account-gitlab-ideynizv@kernelpanic.lol> Maintainer: s3lph <account-gitlab-ideynizv@kernelpanic.lol>
Section: web Section: web
Priority: optional Priority: optional