Heartbeat Timer funktioniert nicht mehr

Ich habe schon seit längerem den Heartbeat Timer aktiv und funktionierte über sehr lange Zeit wunderbar, aber mir fällt erst jetzt auf, dass dieser nun seinen Dienst aufgegeben hat. Wenn ich noch vor Wochen in der Developer Konsole des Browsers die Ping Requests gemäß eingestelltem Intervall sehen konnte, tut sich darin jetzt nichts mehr und das egal in welchem Browser. Der besagte Ping wird nur dann jeweils 1x aktiv, wenn ich kurz mal den Tab wechsle, bzw. zwischen offenen Tabs hin und her wechsle. Es gibt nirgendwo einen Fehler, sodass die Ursache während der letzten Updates zu suchen wäre.

Gibt es darüber irgendwelche Infos warum der nun nicht mehr funktioniert?

Gibt es irgendwelche Neuigkeiten zu dem Thema?

Und ein weiteres Mal nachgefragt, warum funktioniert der HeartBeatTimer nicht mehr?

Hallo,

Es tut mir leid, dass ich vorher nicht geantwortet habe.

Es stellt sich heraus, dass dies kein Fehler ist, sondern Absicht:

Alle paar Sekunden eine Anfrage an Matomo zu schicken ist mit vielen Besuchern schnell sehr ineffizient. Daher sendet der Timer jetzt nur mehr Daten, wenn der Besucher die Seite verlässt (was somit dieselben Ergebnisse liefern sollte).

Die Dokumentation dazu ist aber noch veraltet und ich habe ein Issue aufgemacht, dass das behoben gehört.

Okay, macht so weit Sinn, aber nicht ganz. Was dabei verloren geht, ist die Verweilzeit der zuletzt aufgerufenen Seite vorausgesetzt es wurde mehr als 1 Seite aufgerufen. Gibt es nur 1 aufgerufene Seite trifft das Gleiche zu. Alles in Allem wird dadurch die Gesamtverweilzeit verfälscht. Sehe ich das richtig?

Hallo,

Der Text auf JavaScript Tracking Client: Integrate - Matomo Analytics (formerly Piwik Analytics) - Developer Docs - v3 wurde inzwischen angepasst (vielleicht musst du die Seite neuladen).

Ich verstehe das Problem nicht ganz. Es wird immer ein Ping gesendet, wenn die Seite verlassen wird (entweder auf eine andere auf derselben Webseite oder komplett weg von der Webseite). Somit sollte auch bei z.b. 3 Seitenaufrufen, die letzte Seite richtig getimed sein.

Woher soll denn das Signal bei der ersten einzigen und gleichzeitig letzten oder bei der letzten von mehreren Seiten kommen? Ich habe unzählige Seiten mit nur 1 Seitenaufruf, aber ohne Angaben zu den Verweilzeiten. Dieser effizientere HeartBeatTimer ist aus meiner Sicht alles andere als effizient. Da kann man es auch gleich ohne diesen Timer betreiben. Dann stimmen die Zeiten zwar auch nicht, aber zumindest wird dann die Standard Sitzungszeit als Wert verwedet.

@Serpent_Driver um es etwas besser zu verstehen: Was ist den genau das Problem mit dem effizienteren HeartBeatTimer?

Woher soll denn das Signal bei der ersten einzigen und gleichzeitig letzten oder bei der letzten von mehreren Seiten kommen?

Das Signal kommt vom Browser. Wenn man die Seite verlässt, zum Beispiel auf eine andere Webseite geht oder den Browser schließt, dann gibt der Browser uns bescheid und wir senden den Ping.

Das Problem ist eigentlich offensichtlich und es ist nicht so, wie Du es meinst. Wird mehr als 1 Seite aufgerufen, funktioniert diese neue Funktionsweise des Timers, aber eben nicht beim Aufruf von nur 1 Seite, wobei auch nicht vollständig. Beim Aufruf von nur 1 Seite und wenn die Verweilzeit unter der Zeit für den Wert für den HeartBeatTimer erfolgt keine Erhebung der Verweilzeit. Das Gleiche gilt auch beim Aufruf der letzten von mehren aufgerufenen Seiten. Es gab zwar auch bei der früheren Methode keine vollständige Erfassung, aber diese war um Längen besser als die Aktuelle.