There is some information available through the page view object through the Users API that isn't available in the Canvas Data. It might help with the detective work.
The page view object has "user_request", which is described as "A flag indicating whether the request was user-initiated, or automatic (such as an AJAX call)". It is true when the user makes the call itself and false when it is automated.
Now, the problem is that it doesn't come with requests table, so you can't use the information directly in Canvas Data. But if you come across an item you're not sure about, you can go to the API and retrieve the the corresponding data from there and then classify the request.
Another item missing from Canvas Data, but available through the API, is whether the item counted as a participation or not. That's under "participated" which is described as "True if the request counted as participating, such as submitting homework". A similar process using the API could be used to determine whether you should count a request as a participation.
A third item I see missing is the "render_time", which is "How long the response took to render, in seconds". This isn't going to help at all in classification purposes since it varies for every request. Where it might useful is if you're trying to determine when there was slowness in the system or places that need optimization. These are generally things Canvas should be looking at, but at least one use case was when a person was trying to troubleshoot a quiz that froze for some students at the beginning and end of a quiz but was fine in the middle.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.