[feature request] Tracking the use of images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Helioviewer.org |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
We don't have very good data on which images are being used. Knowing which images are being used would be very useful in understanding how Helioviewer Project services are being used.
Here is what we could do. For movie creation in both Helioviewer.org and JHelioviewer, we make a note of the time of request (in UT) and the time-range of data for the movie request. The difference between the time of the request and the start/end time of the movie will give us an idea of whether recent images are being used, or older images are being used. Understanding which data are being accessed will help us understand how both these clients are being used, and should help us optimize performance.
This timing data could be made available via a simple webpage. A simple graph would be sufficient. Time bins along the x-axis (of duration one day, UT boundaries). Along the y-axis would be a histogram that shows the number of movies made as a function of difference between request UT and the start/end time of the movie. A suggested binning on the y-axis is as follows -
first bin:
request UT - start/end time < 24 hrs
second bin:
24 hrs < request UT - start/end time < 48 hrs
third bin:
48 hrs < request UT - start/end time < 7 days
fourth bin:
7 days < request UT - start/end time < 28 days
fifth bin:
28 days < request UT - start/end time
We could have two plots, one for Helioviewer.org requests, and another for JHelioviewer JPX requests. It would be interesting to know more about each application is used.
Changed in helioviewer.org: | |
importance: | Undecided → Wishlist |
The data necessary for this plot already exists for Helioviewer.org user-generated movies. We currently record the 'timestamp' that the movie was added to the `movies` table, as well as the 'reqStartDate' and 'reqEndDate'. Additionally, we record the 'startDate' and 'endDate', which are the bounds of the frames that are actually returned, but the request start and end date are slightly more interesting.
Unfortunately we do not currently capture this data for JHelioviewer (JPX movie generation). We do currently keep track of a timestamp each time a 'getJPX' API request made by JHelioviewer. We could add a table to the database that is populated with 'reqStartDate', 'reqEndDate', 'startDate', 'endDate', 'timestamp', ' dataSourceString', and 'dataSourceBitMask' that gets added to each time a 'getJPX' API request is logged. For performance reason, it may be better to do an 'INSERT LOW PRIORITY' query. While the 'timestamp' column would be set to 'NOT NULL DEFAULT CURRENT_TIMESTAMP', we would want to explicitly insert the timestamp at which the query is generated. Otherwise, the value of CURRENT_TIMESTAMP may be inaccurate due to the 'LOW PRIORITY' optimization.