Timeout of 10000ms exceeded

Guiz,

I started to experience the error Request error undefined. See F12 console for more info.
In the console I have the error ‘timeout of 10000ms exceeded’

Anyone can help me to increase value ?

Well, if the requests should be rather quick and if they take more than 10s something is certainly wrong.

Where do you get this error? In the activity view? In the query explorer view?
Can you see in F12 in your browser which of the requests it is that actually times out? (there are multiple in the activity view but only one in the query explorer view)

Hi Johan,

This is the error in the start page.
The site does not load the computers in the activity menu item.

createError.js:16 Uncaught (in promise) Error: timeout of 10000ms exceeded
at t.exports (createError.js:16)
at XMLHttpRequest.f.ontimeout (xhr.js:95)

Oh right, you were the guy who had lots of clients connecting to a dedicated activitywatch server.

Well, the only thing aw-server does when you do a request for all buckets is that it fetches the buckets from the database, formats them to JSON and sends them. So the issue is likely that the database or aw-server itself is so overloaded with requests that it takes more than 10s for it to get a slot to take the database lock (sqlite is single threaded) and select the buckets so the request times out.

There isn’t really any good solution to how to fix this issue except for the fact that the datastore should be more optimized or to develop a datastore which is based on some other database which can handle parallel requests.

@johan-bjareholt We are really running serveral clients in a dedicated server.
Even with the app error, the database keeps saving the clients events without those past lock errors and now, we need to create a sumarized report with the totals of productivity from the entire company.
Can you explain me how do you manage with the currentwindow event.
If I sum all the events of a single day of a client that use the currentwindow event I’ll have more hours than it, in fact, have worked.

example:

bucket
“95” “aw-watcher-window_NBGMK-002” “2018-10-04T08:25:21.852099” “currentwindow” “aw-watcher-window”

query
SELECT sum(eventmodel.duration) FROM eventmodel
WHERE eventmodel.bucket_id = 95
and eventmodel.timestamp >= ‘2018-10-26’
and eventmodel.timestamp < ‘2018-10-27’

result:

29917.467 → 8,3104075 Hours ??

When i catch the time that the client was afk I have this :slight_smile:

SELECT sum(eventmodel.duration) FROM eventmodel
WHERE eventmodel.bucket_id = 96
and eventmodel.datastr not like ‘%not-afk%’
and eventmodel.timestamp >= ‘2018-10-26’
and eventmodel.timestamp < ‘2018-10-27’

15908.192 → 4,41894222222 H?

This seems correct to me.
4.4h when being active and 8.3-4.4=3.9h afk time.

In the webui we intersect the non-afk events with the window events (which is why only the windowevents themselves are including afk), but the non-afk events themselves alone is enough to get a “total time” like you did and 4.41h should be correct.
On days with many meetings I also sometimes get around 4.5 hours in activitywatch on my work computer while on most workdays I get around 6-7h.

@johan-bjareholt,

Is there any file that i can see the queries that you used to build graphs of the application ?

Could you send me it ?

Yes, it’s all open source!

The queries are located here: https://github.com/ActivityWatch/aw-webui/blob/master/src/queries.js