Modifications to the 'performanceTiming' plug-in

Avatar

Avatar
Validate 1
Level 2
BarryLennon
Level 2

Likes

16 likes

Total Posts

41 posts

Correct reply

3 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
BarryLennon
Level 2

Likes

16 likes

Total Posts

41 posts

Correct reply

3 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
BarryLennon
Level 2

21-08-2017

Overview

The 'performanceTiming' plug-in is extremely useful; however, the conditional logic triggering its s.performanceWrite function should be more robust.

Detail

The s.performanceWrite function (which calculates the performance timings and writes them to a cookie) is triggered as part of an interval timer; however, the interval timer relies on the performance.timing.loadEventEnd attribute being equal to 0 for the interval timer to be started, and if the plug-in is loaded with a delay of a few seconds, the loadEventEnd attribute may already be greater than 0 - as a result, the s.performanceWrite function is never called.

Suggestion

One solution is to include a flag that is set to true as part of the s.performanceWrite function executing; while this flag is false, s_doPlugins will repeatedly attempt to run the s.performanceWrite function.

3 Comments

Avatar

Avatar
Affirm 1
Level 2
fredrambert
Level 2

Likes

10 likes

Total Posts

13 posts

Correct reply

1 solution
Top badges earned
Affirm 1
Boost 10
Establish
Contributor
Shape 1
View profile

Avatar
Affirm 1
Level 2
fredrambert
Level 2

Likes

10 likes

Total Posts

13 posts

Correct reply

1 solution
Top badges earned
Affirm 1
Boost 10
Establish
Contributor
Shape 1
View profile
fredrambert
Level 2

08-10-2018

Hi BarryLennon​,

any chance you have a sample of the suggested solution to share?

Am experiencing the same issue.

best

fredrambert

Avatar

Avatar
Validate 1
Level 2
BarryLennon
Level 2

Likes

16 likes

Total Posts

41 posts

Correct reply

3 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
BarryLennon
Level 2

Likes

16 likes

Total Posts

41 posts

Correct reply

3 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
BarryLennon
Level 2

08-10-2018

Once I had looked into this a bit more, I decided to move away from the performanceTiming plug-in altogether.

There was a number of small quirky things that informed the decision, but a major factor was that the data was only being captured on the subsequent Page View call (or the Exit Link call, if there was one) - this meant that you end up missing one measurement in almost every visit, and it's worth noting that the missed measurement is for the load of the page on which the visitor chooses to leave.

On our site, it made more sense to read the measurements from the window.performance object directly and send them with the Page View call for the page on which the measurements were recorded.  To improve capture rates, if the measurements are not available at the point that the Page View server call is fired, any subsequent Link-tracking server call that goes off before the page is unloaded could be used.

Avatar

Avatar
Validate 1000
Community Manager
jantzen_belliston-Adobe
Community Manager

Likes

339 likes

Total Posts

2,338 posts

Correct reply

819 solutions
Top badges earned
Validate 1000
Springboard
Validate 500
Validate 250
Validate 100
View profile

Avatar
Validate 1000
Community Manager
jantzen_belliston-Adobe
Community Manager

Likes

339 likes

Total Posts

2,338 posts

Correct reply

819 solutions
Top badges earned
Validate 1000
Springboard
Validate 500
Validate 250
Validate 100
View profile
jantzen_belliston-Adobe
Community Manager

27-10-2020

 
Status changed to: Archived