tangled
alpha
login
or
join now
edavis.dev
/
bsky-tools
0
fork
atom
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
Prometheus counter for feed requests
Eric Davis
2 years ago
374d641f
b19b27a5
+10
1 changed file
expand all
collapse all
unified
split
feedweb.py
+10
feedweb.py
···
1
#!/usr/bin/env python3
2
3
from flask import Flask, request, jsonify
0
0
4
from werkzeug.datastructures import LanguageAccept
5
6
from feed_manager import feed_manager
7
from feeds.rapidfire import RapidFireFeed
8
from feeds.popular import PopularFeed
0
0
9
10
app = Flask(__name__)
11
···
26
else:
27
feed_uri = request.args['feed']
28
0
0
29
langs = request.accept_languages
30
31
if request.args.get('debug', '0') == '1':
···
41
offset += len(posts)
42
43
return dict(cursor=str(offset), feed=[dict(post=uri) for uri in posts])
0
0
0
0
44
45
if __name__ == '__main__':
46
from feedweb_utils import did_doc
···
1
#!/usr/bin/env python3
2
3
from flask import Flask, request, jsonify
4
+
from prometheus_client import Counter, make_wsgi_app
5
+
from werkzeug.middleware.dispatcher import DispatcherMiddleware
6
from werkzeug.datastructures import LanguageAccept
7
8
from feed_manager import feed_manager
9
from feeds.rapidfire import RapidFireFeed
10
from feeds.popular import PopularFeed
11
+
12
+
feed_requests = Counter('feed_requests', 'requests by feed URI', ['feed'])
13
14
app = Flask(__name__)
15
···
30
else:
31
feed_uri = request.args['feed']
32
33
+
feed_requests.labels(feed_uri).inc()
34
+
35
langs = request.accept_languages
36
37
if request.args.get('debug', '0') == '1':
···
47
offset += len(posts)
48
49
return dict(cursor=str(offset), feed=[dict(post=uri) for uri in posts])
50
+
51
+
app.wsgi_app = DispatcherMiddleware(app.wsgi_app, {
52
+
'/metrics': make_wsgi_app()
53
+
})
54
55
if __name__ == '__main__':
56
from feedweb_utils import did_doc