https://www.edge-cloud.net/2016/02/05/rum-light-with-cloudflare/ https://www.edge-cloud.net/2015/10/04/cloudflare-pops-in-google-analytics/
function processData(x) {
var y = {};
for (var i = 0; i < x.length-1; i++) {
var split = x[i].split('=');
y[split[0].trim()] = split[1].trim();
}
return y;
}
function objData(x) {
return obj[x];
}
function loc(){
var req = new XMLHttpRequest();
req.open('HEAD', document.location, false);
req.send(null);
return (req.getResponseHeader("cf-ray").split("-"))[1];
}
function isIPv6() {
ipv6 = (objData('ip').indexOf(":") > -1);
switch (ipv6){
case true:
return "IPv6";
break;
default:
return "IPv4";
}
}
var data;
var obj;
var client = new XMLHttpRequest();
client.open("GET", "/cdn-cgi/trace", false);
client.onreadystatechange =
function () {
if(client.readyState === 4){
if(client.status === 200 || client.status == 0){
data = client.responseText.split("\n");
}
}
};
client.send(null);
obj= processData(data);
__gaTracker('set','dimension1',loc());
//__gaTracker('set','dimension1',objData('colo'));
__gaTracker('set','dimension2',isIPv6());
__gaTracker('set','dimension3',objData('spdy'));