Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Visitor Generator generates Future Visits #1369

robocoder opened this Issue · 3 comments

3 participants


At 23:55 PM EDT on May 20th, I ran misc/generateVisits.php. Looking in piwik_log_visit, the visits were generated for May 21st and May 22nd.

(daysToCompute is 1)




To override default behaviors of a visit a subclass of /core/Tracker/Visit.php has been created : /core/Tracker/Generator/Visit.php.

This extension allows a fake generated timestamp to be assigned to a visit. In order to do so, an overridden method has been created in /core/Tracker/Generator/Visit.php : 33

    protected function getCurrentTimestamp()
        self::$timestampToUse = max(@$this->visitorInfo['visit_last_action_time'],self::$timestampToUse);
        self::$timestampToUse += mt_rand(4,1840);
        return self::$timestampToUse;

In /core/Tracker/Visit.php : 226, 254, 290, 356, 427, 572, 773 and 804, the method getCurrentTimestamp() is called.

The method getCurrentTimestamp() of class /core/Tracker/Visit.php is supposed to be an accessor method and not a computational one. Each call of the overridden method getCurrentTimestamp() of class /core/Tracker/Generator/Visit.php computes a new timestamp instead of reusing the first generated one. Because of those unnecessary increments, the time goes too much ahead.

Proposal: Remove the time increment from getCurrentTimestamp() and add a generateTimestamp() method. I have attached a patch to solve this issue. I have decided to access this method from /core/Tracker/Generator/Tracker.php after the creation of the visit. It could be done in the constructor of /core/Tracker/Generator/Visit.php.


(In [2211]) Fixes #1369 Thanks JulienM!

@robocoder robocoder added this to the Piwik 0.6.2 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.