Skip to content

Commit 13f0e0f

Browse files
Merge pull request #1 from Crowdhandler/improvement/performance-sampling
Add sampling to performance submissions
2 parents 3e19bd3 + 6e12b24 commit 13f0e0f

4 files changed

Lines changed: 18 additions & 6 deletions

File tree

dist/originResponse.zip

295 Bytes
Binary file not shown.

dist/viewerOverride.zip

-77 Bytes
Binary file not shown.

dist/viewerRequest.zip

-20 Bytes
Binary file not shown.

handlerOriginResponse.js

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ module.exports.originResponse = async (event) => {
3232
(function () {
3333
// Guard against the crowdhandlerResponseID value coming back null from the API
3434
try {
35-
if (requestHeaders["x-ch-responseID"]) {
36-
crowdhandlerResponseID = requestHeaders["x-ch-responseID"][0].value;
35+
if (requestHeaders["x-ch-responseid"]) {
36+
crowdhandlerResponseID = requestHeaders["x-ch-responseid"][0].value;
3737
}
3838
} catch (error) {
3939
console.error(error);
@@ -42,9 +42,13 @@ module.exports.originResponse = async (event) => {
4242
// Handle lack of valid token i.e. partial API responses for unprotected rooms.
4343
try {
4444
//Make sure we don't set invalid values
45-
const validToken = /(.*\d+.*)/
45+
const validToken = /(.*\d+.*)/;
4646

47-
if (requestHeaders["x-ch-crowdhandler-token"] && validToken.test(requestHeaders["x-ch-crowdhandler-token"][0].value) === true) {
47+
if (
48+
requestHeaders["x-ch-crowdhandler-token"] &&
49+
validToken.test(requestHeaders["x-ch-crowdhandler-token"][0].value) ===
50+
true
51+
) {
4852
crowdhandlerToken = requestHeaders["x-ch-crowdhandler-token"][0].value;
4953
}
5054
} catch (error) {
@@ -108,7 +112,7 @@ module.exports.originResponse = async (event) => {
108112
},
109113
JSON.stringify({
110114
httpCode: 200,
111-
sampleRate: 100,
115+
sampleRate: 10,
112116
time: totalLoadTime,
113117
})
114118
);
@@ -117,7 +121,15 @@ module.exports.originResponse = async (event) => {
117121
}
118122
}
119123

120-
await sendPageLoadTime();
124+
// We don't want to send page performance information on every request so sampling is used.
125+
const sampleRate = Math.floor(Math.random() * 10);
121126

127+
if (sampleRate === 9) {
128+
try {
129+
await sendPageLoadTime();
130+
} catch (error) {
131+
console.error(error);
132+
}
133+
}
122134
return response;
123135
};

0 commit comments

Comments
 (0)