コード例 #1
0
 private static void UpdateDeviceInfo(Dictionary <string, string> keyValuePairs, UserAgent userAgent)
 {
     if (!string.IsNullOrEmpty(userAgent.Browser))
     {
         Plt1WebHandler.AddKeyValuePair(keyValuePairs, "brn", userAgent.Browser);
     }
     if (userAgent.BrowserVersion != null)
     {
         Plt1WebHandler.AddKeyValuePair(keyValuePairs, "brv", userAgent.BrowserVersion.Build.ToString());
     }
 }
コード例 #2
0
 private static void AddTimingMetrics(string prefix, string resourceName, Dictionary <string, string> rawKeyValuePairs, Dictionary <string, string> calculatedKevValuePairs)
 {
     if (rawKeyValuePairs.ContainsKey("reds" + resourceName) && rawKeyValuePairs.ContainsKey("redE" + resourceName))
     {
         string value = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "reds" + resourceName, "redE" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "RT", value);
     }
     if (rawKeyValuePairs.ContainsKey("dLS" + resourceName) && rawKeyValuePairs.ContainsKey("dLE" + resourceName))
     {
         string value2 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "dLS" + resourceName, "dLE" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "DN", value2);
     }
     if (rawKeyValuePairs.ContainsKey("cS" + resourceName) && rawKeyValuePairs.ContainsKey("cE" + resourceName))
     {
         string value3 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "cS" + resourceName, "cE" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "CT", value3);
     }
     if (rawKeyValuePairs.ContainsKey("sCS" + resourceName) && rawKeyValuePairs.ContainsKey("cE" + resourceName))
     {
         string value4 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "sCS" + resourceName, "cE" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "ST", value4);
     }
     if (rawKeyValuePairs.ContainsKey("reqS" + resourceName) && rawKeyValuePairs.ContainsKey("resS" + resourceName))
     {
         string value5 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "reqS" + resourceName, "resS" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "RQ", value5);
     }
     if (rawKeyValuePairs.ContainsKey("resS" + resourceName) && rawKeyValuePairs.ContainsKey("resE" + resourceName))
     {
         string value6 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "resS" + resourceName, "resE" + resourceName);
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "RS", value6);
     }
     if (rawKeyValuePairs.ContainsKey("resE" + resourceName))
     {
         string value7 = rawKeyValuePairs["resE" + resourceName];
         Plt1WebHandler.AddKeyValuePair(calculatedKevValuePairs, prefix + "TR", value7);
     }
 }
コード例 #3
0
 internal static void GetPlt1PerformanceEventData(UserAgent userAgent, string refererQueryString, NameValueCollection queryString, string postData, Dictionary <string, string> rawKeyValuePairs, Dictionary <string, string> calculatedKeyValuePairs)
 {
     Plt1WebHandler.UpdateDeviceInfo(rawKeyValuePairs, userAgent);
     Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, "UA", userAgent.RawString);
     if (!string.IsNullOrEmpty(refererQueryString))
     {
         Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, "urlQuery", refererQueryString);
     }
     for (int i = 0; i < queryString.Keys.Count; i++)
     {
         string text  = queryString.Keys[i];
         string text2 = queryString[text];
         if (text != null && text2 != null)
         {
             if (text.ToUpper() == "ALT" || text.ToUpper() == "PLT")
             {
                 Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, "type", text.ToUpper());
                 string[] array = text2.Split(new char[]
                 {
                     ','
                 });
                 for (int j = 0; j < array.Length - 1; j += 2)
                 {
                     Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, array[j], array[j + 1]);
                 }
                 string text3 = "-1";
                 if (rawKeyValuePairs.ContainsKey("fS") && rawKeyValuePairs.ContainsKey("now") && rawKeyValuePairs.ContainsKey("type"))
                 {
                     text3 = Plt1WebHandler.AddStringAsIntValue(rawKeyValuePairs, "fS", "now");
                 }
                 Plt1WebHandler.AddKeyValuePair(calculatedKeyValuePairs, rawKeyValuePairs["type"], string.IsNullOrEmpty(text3) ? "-1" : text3);
                 if (rawKeyValuePairs.ContainsKey("rSt") && rawKeyValuePairs.ContainsKey("now"))
                 {
                     string value = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "rSt", "now");
                     Plt1WebHandler.AddKeyValuePair(calculatedKeyValuePairs, "RDT", value);
                 }
                 if (rawKeyValuePairs.ContainsKey("rStNoTim") && rawKeyValuePairs.ContainsKey("nowNoTim"))
                 {
                     string value2 = Plt1WebHandler.SubtractStringAsIntValue(rawKeyValuePairs, "rStNoTim", "nowNoTim");
                     Plt1WebHandler.AddKeyValuePair(calculatedKeyValuePairs, "NTRDT", value2);
                 }
                 Plt1WebHandler.AddTimingMetrics(string.Empty, string.Empty, rawKeyValuePairs, calculatedKeyValuePairs);
             }
             else if (text == "msg")
             {
                 string[] array2 = text2.Split(new char[]
                 {
                     ';'
                 });
                 if (array2.Length > 0)
                 {
                     Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, "msg", array2[0]);
                 }
                 if (array2.Length > 1)
                 {
                     Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, "msgc", array2[1]);
                 }
             }
             else
             {
                 Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, text, text2);
             }
         }
     }
     if (!string.IsNullOrEmpty(postData))
     {
         string[] array3 = postData.Split(new char[]
         {
             '&'
         });
         foreach (string text4 in array3)
         {
             if (text4.StartsWith("Res="))
             {
                 int num = text4.IndexOf(',');
                 if (num >= 0)
                 {
                     int    length = "Res=".Length;
                     string text5  = text4.Substring(length, num - length);
                     if (text5.Contains("?"))
                     {
                         text5 = text5.Substring(0, text5.IndexOf('?'));
                     }
                     string   text6  = Plt1WebHandler.EncodeValidKeyString(text5);
                     string   text7  = text4.Substring(num + 1 + "tim=".Length);
                     string[] array5 = text7.Split(new char[]
                     {
                         ','
                     });
                     for (int l = 0; l < array5.Length - 1; l += 2)
                     {
                         Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, array5[l] + "[" + text6 + "]", array5[l + 1]);
                     }
                     if (text5.Equals("sessiondata.ashx", StringComparison.InvariantCultureIgnoreCase))
                     {
                         Plt1WebHandler.AddTimingMetrics("S", "[" + text6 + "]", rawKeyValuePairs, calculatedKeyValuePairs);
                     }
                     else if (Regex.IsMatch(text5, "^preboot\\.", RegexOptions.IgnoreCase))
                     {
                         Plt1WebHandler.AddTimingMetrics("R1", "[" + text6 + "]", rawKeyValuePairs, calculatedKeyValuePairs);
                     }
                     else if (Regex.IsMatch(text5, "^boot\\.([^\\.]+\\.)?0", RegexOptions.IgnoreCase))
                     {
                         Plt1WebHandler.AddTimingMetrics("R2", "[" + text6 + "]", rawKeyValuePairs, calculatedKeyValuePairs);
                     }
                     else if (text5.StartsWith("userspecificresourceinjector.ashx", StringComparison.InvariantCultureIgnoreCase))
                     {
                         Plt1WebHandler.AddTimingMetrics("U", "[" + text6 + "]", rawKeyValuePairs, calculatedKeyValuePairs);
                     }
                 }
             }
             else if (!string.IsNullOrEmpty(text4))
             {
                 string[] array6 = text4.Split(new char[]
                 {
                     '='
                 });
                 if (array6.Length >= 2)
                 {
                     string key = Plt1WebHandler.EncodeValidKeyString(array6[0]);
                     Plt1WebHandler.AddKeyValuePair(rawKeyValuePairs, key, array6[1]);
                 }
             }
         }
     }
 }