2.4 KiB
uwu2x-analytics
This sample is intended to help create a script that transforms the uwu2x interactions into, maybe, another database, in order to easily and quickly get uwu2x statistics.
uwu2x.sql contains 7 917 rows from 2025-07-05 to 2025-10-05 (last 3 months).
This sample only contains 1 row per 100 real rows.
There is only one table:
CREATE TABLE interaction (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
identifier VARCHAR(7) NOT NULL,
project VARCHAR(11) NOT NULL,
framerate FLOAT NOT NULL,
type VARCHAR(50) NOT NULL,
count INT DEFAULT 0,
date DATETIME NOT NULL,
version VARCHAR(10) NOT NULL
);
type can be:
- "createPrecomposition" : user precomposed a clip,
countindicates the number of clips in the created precomposition ; - "detectKeyframes" : user detected unique frames from clip,
countindicates the number of detected frames ; - "fastAdjustment" : user created an adjustment layer ; can be ignored, only present in one version of uwu2x ;
- "fastNull" : user created a null layer ; can be ignored, only present in one version of uwu2x ;
- "regroupKeyframes" : user regrouped keyframes,
countindicates the number of regrouped keyframes ; - "sequenceLayers" : similar to "regroupKeyframes", can be considered identical ;
- "twixtor" : user applied Twixtor effect to a clip,
countindicates the number of clips affected ; - "uwuClips" : user upscaled or interpolated clip,
countindicates the number of clips processed.
framerate is the framerate of the composition the user is working on.
version is uwu2x version (not After Effects version).
Ideas
I believe the "solution" should feature :
-
a "script" that takes [1 ; N] rows and adds them to an "analytics-optimized" database.
Ideally, it should be able to process all existing rows and add future ones. Since database INSERT and UPDATE are expensive, the script should do a lot of "in-memory" processing : if there are twouwuClipsinteractions for the same user, do not do 2UPDATEin the analytics database : instead, create an object (like Javascript object if your solution is written in Javascript) representing the user's profile, update it with both interactions, then perform 1UPDATEin the database. -
a second "script" to return statistics contained in the "analytics-optimized" database, like any user profile, total user count, active users per day, most used uwu2x version, most used uwu2x version over time, etc.