ChandimaPrabath commited on
Commit
0cb1c6a
·
1 Parent(s): 1103f52

server stat api

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py CHANGED
@@ -7,6 +7,8 @@ from hf_scrapper import download_file, get_system_proxies, get_download_progress
7
  from indexer import indexer
8
  from tvdb import fetch_and_cache_json
9
  import re
 
 
10
 
11
  app = Flask(__name__)
12
 
@@ -169,6 +171,47 @@ def get_metadata():
169
 
170
  return jsonify({'error': 'Metadata not found'}), 404
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  # Routes
173
  @app.route('/')
174
  def index():
 
7
  from indexer import indexer
8
  from tvdb import fetch_and_cache_json
9
  import re
10
+ import psutil
11
+ import shutil
12
 
13
  app = Flask(__name__)
14
 
 
171
 
172
  return jsonify({'error': 'Metadata not found'}), 404
173
 
174
+ @app.route('/api/stats', methods=['GET'])
175
+ def get_server_stats():
176
+ """Endpoint to get server statistics like RAM usage, CPU usage, and storage details."""
177
+ # RAM usage
178
+ ram = psutil.virtual_memory()
179
+ ram_total = ram.total
180
+ ram_available = ram.available
181
+ ram_used = ram.used
182
+ ram_percent = ram.percent
183
+
184
+ # CPU usage
185
+ cpu_percent = psutil.cpu_percent(interval=1)
186
+
187
+ # Disk usage
188
+ disk = shutil.disk_usage("/")
189
+ disk_total = disk.total
190
+ disk_used = disk.used
191
+ disk_free = disk.free
192
+ disk_percent = (disk_used / disk_total) * 100
193
+
194
+ stats = {
195
+ "ram": {
196
+ "total": ram_total,
197
+ "available": ram_available,
198
+ "used": ram_used,
199
+ "percent": ram_percent
200
+ },
201
+ "cpu": {
202
+ "percent": cpu_percent
203
+ },
204
+ "disk": {
205
+ "total": disk_total,
206
+ "used": disk_used,
207
+ "free": disk_free,
208
+ "percent": disk_percent
209
+ }
210
+ }
211
+
212
+ return jsonify(stats)
213
+
214
+
215
  # Routes
216
  @app.route('/')
217
  def index():