Add Deck dashboard with Athena telemetry history
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from dashboard_history import HistoryStore
|
||||
from deploy.import_dashboard_history import import_history
|
||||
|
||||
|
||||
class DashboardHistoryTests(unittest.TestCase):
|
||||
def test_import_preserves_samples_tokens_and_events(self):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
old=Path(folder)/'old.sqlite3'
|
||||
store=HistoryStore(old)
|
||||
snapshot=dict(timestamp=1720000000,gpus=[dict(index=0,gpu_percent=25,
|
||||
memory_used_mib=4096,temperature_c=55,power_w=170)],
|
||||
router=dict(current_profile='Medium',upstream=dict(model='model.gguf'),
|
||||
llama_telemetry=dict(slots=[dict(id=0,context_used=512,n_ctx=4096,processing=True)],
|
||||
metrics=dict(prompt_tokens_total=12,
|
||||
prompt_tokens_cached_total=3,
|
||||
tokens_predicted_total=6))),
|
||||
llama_runtime=dict(pid=123,model_file='model.gguf'))
|
||||
store.record(snapshot)
|
||||
store.record(dict(snapshot,timestamp=1720000015,
|
||||
router=dict(snapshot['router'],current_profile='Fast')))
|
||||
target=Path(folder)/'deck.sqlite3'
|
||||
counts=import_history(old,target)
|
||||
self.assertEqual(counts['samples_raw'],2)
|
||||
self.assertEqual(counts['slot_samples_raw'],2)
|
||||
self.assertEqual(counts['model_events'],1)
|
||||
imported=HistoryStore(target)
|
||||
result=imported.query('all')
|
||||
self.assertEqual(result['token_totals']['prompt_tokens'],12)
|
||||
self.assertEqual(result['token_totals']['cached_tokens'],3)
|
||||
self.assertEqual(result['token_totals']['output_tokens'],6)
|
||||
self.assertEqual(len(result['model_events']),1)
|
||||
with self.assertRaises(ValueError):import_history(old,target)
|
||||
imported.close()
|
||||
store.close()
|
||||
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
Reference in New Issue
Block a user