ActivityWatch / ActivityWatch/aw-server

Improving performance when performing summary over a day and over a time period

Offen
#49 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
128
Forks
94
Ø Merge
4 T. 18 Std.
Gemergte PRs (30 T.)
3

Beschreibung

From my understanding of the code, and documentation, every time the localhost page reloads, the top activities in all categories are recalculated from the beginning. If you have a lot of events, that can lead to a timeout( https://github.com/ActivityWatch/activitywatch/issues/217). I think performance could be improved by creating a new table in the database where you store the summarized events. The columns would be:

Key(URLs, domains, app_events, title_events), Value(i.e github.com, localhost:5600), Duration, and Day.

Thus every time the page reloads, it only summarizes the new events, then adds the new domains/urls/etc and updates the existing ones. Then you just retrieve the results. This has two advantages:

1. Decreases the time to calculate the summary for the day, as you perform a lot fewer calculations.
2. Makes analyzing statistics for a week, month, year a lot faster since the table will have a summary of the events for every day. Therefore, you just retrieve the right amount of days and perform analysis on them.

@ErikBjare , @johan-bjareholt, what do you guys think? Are there any current initiatives like this already in the works? If not, I can start working on it

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.