diff --git a/AppDynamics.Dexter.Core.csproj b/AppDynamics.Dexter.Core.csproj
index d544e42..86b9a17 100644
--- a/AppDynamics.Dexter.Core.csproj
+++ b/AppDynamics.Dexter.Core.csproj
@@ -50,17 +50,18 @@
-
+
-
-
-
+
+
+
+
@@ -100,6 +101,15 @@
PreserveNewest
+
+ Always
+
+
+ Always
+
+
+ Always
+
Always
@@ -112,6 +122,9 @@
Always
+
+ Always
+
Always
diff --git a/ChromeDriver/80/linux64/chromedriver b/ChromeDriver/83/linux64/chromedriver
similarity index 57%
rename from ChromeDriver/80/linux64/chromedriver
rename to ChromeDriver/83/linux64/chromedriver
index b362f8f..7d7041d 100644
Binary files a/ChromeDriver/80/linux64/chromedriver and b/ChromeDriver/83/linux64/chromedriver differ
diff --git a/ChromeDriver/80/mac64/chromedriver b/ChromeDriver/83/mac64/chromedriver
similarity index 64%
rename from ChromeDriver/80/mac64/chromedriver
rename to ChromeDriver/83/mac64/chromedriver
index df7565d..cd12a95 100644
Binary files a/ChromeDriver/80/mac64/chromedriver and b/ChromeDriver/83/mac64/chromedriver differ
diff --git a/ChromeDriver/80/win32/chromedriver.exe b/ChromeDriver/83/win32/chromedriver.exe
similarity index 53%
rename from ChromeDriver/80/win32/chromedriver.exe
rename to ChromeDriver/83/win32/chromedriver.exe
index d419a51..4850c8d 100644
Binary files a/ChromeDriver/80/win32/chromedriver.exe and b/ChromeDriver/83/win32/chromedriver.exe differ
diff --git a/CodeMap.dgml b/CodeMap.dgml
index be52e64..cf50145 100644
--- a/CodeMap.dgml
+++ b/CodeMap.dgml
@@ -1,3828 +1,832 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
-
-
+
+
+
-
-
-
-
-
+
+
-
-
+
+
-
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
@@ -3831,104 +835,92 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
@@ -3936,12 +928,17 @@
+
+
+
+
+
+
-
@@ -3949,10 +946,13 @@
+
+
+
@@ -3966,10 +966,11 @@
-
+
+
@@ -3986,8 +987,13 @@
+
+
+
+
+
@@ -4006,374 +1012,235 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
\ No newline at end of file
diff --git a/DataObjects/JobConfiguration/JobInput.cs b/DataObjects/JobConfiguration/JobInput.cs
index 0318cc8..6e5deef 100644
--- a/DataObjects/JobConfiguration/JobInput.cs
+++ b/DataObjects/JobConfiguration/JobInput.cs
@@ -11,7 +11,7 @@ public class JobInput
public bool DetectedEntities { get; set; }
public bool Flowmaps { get; set; }
public bool Metrics { get; set; }
- public string[] MetricsSelectionCriteria { get; set; }
+ public JobMetricSelectionCriteria MetricsSelectionCriteria { get; set; }
public bool Snapshots { get; set; }
public bool Configuration { get; set; }
public JobTarget ConfigurationComparisonReferenceAPM { get; set; }
diff --git a/DataObjects/JobConfiguration/JobMetricSelectionCriteria.cs b/DataObjects/JobConfiguration/JobMetricSelectionCriteria.cs
new file mode 100644
index 0000000..54c0e60
--- /dev/null
+++ b/DataObjects/JobConfiguration/JobMetricSelectionCriteria.cs
@@ -0,0 +1,8 @@
+namespace AppDynamics.Dexter
+{
+ public class JobMetricSelectionCriteria
+ {
+ public string[] MetricSets { get; set; }
+ public bool IncludeHourAndMinuteDetail { get; set; }
+ }
+}
diff --git a/DataObjects/JobConfiguration/JobOutput.cs b/DataObjects/JobConfiguration/JobOutput.cs
index 212a783..1b24bc2 100644
--- a/DataObjects/JobConfiguration/JobOutput.cs
+++ b/DataObjects/JobConfiguration/JobOutput.cs
@@ -8,6 +8,7 @@ public class JobOutput
public bool EntityDetails { get; set; }
public bool EntityDashboards { get; set; }
public bool Snapshots { get; set; }
+ public bool IndividualSnapshots { get; set; }
public bool Flowmaps { get; set; }
public bool FlameGraphs { get; set; }
public bool Configuration { get; set; }
diff --git a/DataObjects/JobConfiguration/JobSnapshotSelectionCriteria.cs b/DataObjects/JobConfiguration/JobSnapshotSelectionCriteria.cs
index 6de8472..695c383 100644
--- a/DataObjects/JobConfiguration/JobSnapshotSelectionCriteria.cs
+++ b/DataObjects/JobConfiguration/JobSnapshotSelectionCriteria.cs
@@ -6,6 +6,7 @@ public class JobSnapshotSelectionCriteria
public string[] TierTypes { get; set; }
public string[] BusinessTransactions { get; set; }
public string[] BusinessTransactionTypes { get; set; }
+ public string[] RequestIDs { get; set; }
public JobUserExperience UserExperience { get; set; }
public JobSnapshotType SnapshotType { get; set; }
}
diff --git a/DataObjects/JobConfiguration/JobStatus.cs b/DataObjects/JobConfiguration/JobStatus.cs
index a606512..2ea0b21 100644
--- a/DataObjects/JobConfiguration/JobStatus.cs
+++ b/DataObjects/JobConfiguration/JobStatus.cs
@@ -89,13 +89,15 @@ public enum JobStatus
ReportAPMSnapshotsMethodCallLines = 131,
ReportAPMFlameGraphs = 132,
- ReportAPMEntityDetails = 133,
+ ReportAPMEntityDetails = 135,
ReportHealthCheck = 140,
ReportAPMApplicationSummary = 141,
ReportAPMEntityDashboardScreenshots = 150,
+ ReportAPMIndividualSnapshots = 160,
+
// The rest
Done = 500,
diff --git a/DataObjects/ProgramOptions/ProgramOptions.cs b/DataObjects/ProgramOptions/ProgramOptions.cs
index 9f8e011..1b38d30 100644
--- a/DataObjects/ProgramOptions/ProgramOptions.cs
+++ b/DataObjects/ProgramOptions/ProgramOptions.cs
@@ -6,12 +6,19 @@ namespace AppDynamics.Dexter
public class ProgramOptions
{
// ETL
- [Option('j', "job-file", Required = true, SetName = "etl", HelpText = "Input file defining the parameters of the ETL job to process.")]
+ [Option('j', "job-file", Required = true, SetName = "etl", HelpText = "Input file defining the parameters of the ETL job to process.\nDefines the name of the folder for the report, unless explicit job name is passed.")]
public string InputETLJobFilePath { get; set; }
- [Option('n', "job-name", Required = false, SetName = "etl", HelpText = "Job name to use instead of automatically defined based on --job-file parameter.")]
+ [Option('n', "job-name", Required = false, SetName = "etl", HelpText = "Job name to use instead of being automatically defined based on the name of the job file.")]
public string JobName { get; set; }
+ // Individual Snapshots
+ [Option('i', "request-ids", Required = true, SetName = "individualsnapshots", HelpText = "Comma-separated list of Snapshot RequestIDs to process for Individual Snapshots list.")]
+ public string RequestIDs { get; set; }
+
+ [Option('r', "report-folder", Required = true, SetName = "individualsnapshots", HelpText = "Report folder where to look for list of list of Snapshots.")]
+ public string ReportFolderPath { get; set; }
+
// Compare States
//[Option('c', "compare-states-file", Required = true, SetName = "compare", HelpText = "Compare file defining the mappings of the state comparison to perform.")]
public string InputCompareJobFilePath { get; set; }
@@ -23,7 +30,7 @@ public class ProgramOptions
public string CompareReportDifferenceFolderPath { get; set; }
// Common
- [Option('o', "output-folder", Required = false, HelpText = "Output folder where to store results of processing.")]
+ [Option('o', "output-folder", Required = false, HelpText = "Output folder where to store results of processing.\nDefaults to C:\\AppD.Dexter.Out on Windows and %HOME% on Mac/Linux.")]
public string OutputFolderPath { get; set; }
[Option('d', "delete-previous-job-output", Required = false, HelpText = "If true, delete any results of previous processing.")]
@@ -45,6 +52,8 @@ public class ProgramOptions
public JobOutput LicensedReports { get; set; }
+ public string IndividualSnapshotsNonDefaultReportFolderName { get; set; }
+
public override string ToString()
{
return String.Format(
@@ -60,8 +69,10 @@ public override string ToString()
CompareFilePath='{7}'
ReferenceJobFolderPath='{8}'
DifferenceJobFolderPath='{9}'
-SkipVersionCheck='{10}'
-",
+SkipVersionCheck='{10}',
+JobName='{11}',
+RequestIDs='{12}',
+ReportFolderPath='{13}'",
this.InputETLJobFilePath,
this.DeletePreviousJobOutput,
this.OutputFolderPath,
@@ -73,7 +84,9 @@ public override string ToString()
this.CompareReportReferenceFolderPath,
this.CompareReportDifferenceFolderPath,
this.SkipVersionCheck,
- this.JobName);
+ this.JobName,
+ this.RequestIDs,
+ this.ReportFolderPath);
}
}
}
diff --git a/DefaultJob.json b/DefaultJob.json
index 7ae8f4e..b72337d 100644
--- a/DefaultJob.json
+++ b/DefaultJob.json
@@ -84,7 +84,10 @@
},
"DetectedEntities": true,
"Metrics": true,
- "MetricsSelectionCriteria": [ "TransactionApplication", "TransactionTier", "TransactionNode", "TransactionBackend", "TransactionBT", "TransactionSEP", "TransactionError", "TransactionIP", "AgentStats", "OSHardware", "CLRStats", "IISStats", "IISReqCounts", "IISReqPerf", "JVMStats", "BusinessTransactionPercentiles" ],
+ "MetricsSelectionCriteria": {
+ "MetricSets": [ "TransactionApplication", "TransactionTier", "TransactionNode", "TransactionBackend", "TransactionBT", "TransactionSEP", "TransactionError", "TransactionIP", "AgentStats", "OSHardware", "CLRStats", "IISStats", "IISReqCounts", "IISReqPerf", "JVMStats", "JMXDBConnStats", "JMXWebContainerStats", "BusinessTransactionPercentiles" ],
+ "IncludeHourAndMinuteDetail": true
+ },
"Flowmaps": true,
"EntityDashboards": false,
"EntityDashboardSelectionCriteria": {
@@ -103,6 +106,7 @@
"TierTypes": [ "All" ],
"BusinessTransactions": [],
"BusinessTransactionTypes": [ "All" ],
+ "RequestIDs": [],
"UserExperience": {
"Normal": true,
"Slow": true,
@@ -130,6 +134,7 @@
"EntityDashboards": true,
"EntityDetails": true,
"Snapshots": true,
+ "IndividualSnapshots": false,
"FlameGraphs": true,
"HealthCheck": false,
"ApplicationSummary": false
diff --git a/EntityMetricsExtractMapping.csv b/EntityMetricsExtractMapping.csv
index 766c3b2..7881ab6 100644
--- a/EntityMetricsExtractMapping.csv
+++ b/EntityMetricsExtractMapping.csv
@@ -13,55 +13,62 @@ Tier,Overall Application Performance|*|External Calls|*|Average Response Time (m
Tier,Overall Application Performance|*|External Calls|*|Calls per Minute,Calls per Minute,BACKCPM,SUM,,PRIMARY,0000FF,BackendCallsPerTier
Tier,Overall Application Performance|*|External Calls|*|Errors per Minute,Errors per Minute,BACKEPM,SUM,,PRIMARY,FF0000,BackendCallsPerTier
Tier,Overall Application Performance|*|External Calls|Call-JDBC to Discovered backend call - XE-Oracle DB-oracle-db-Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production|Calls per Minute,Call-JDBC to Discovered backend call - XE-Oracle DB-oracle-db-Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production|Calls per Minute,BACKCPMSPEC,SUM,SpecSQLCPM,PRIMARY,0000FF,BackendCallsSpecificCustom1
-Tier,Application Infrastructure Performance|*|Agent|App|Availability,Agent|App|Availability,AVAILAGENT,SUM,AgentStatistics,PRIMARY,108000,AgentStats
-Tier,Application Infrastructure Performance|*|Agent|Machine|Availability,Agent|Machine|Availability,AVAILMACHINE,SUM,AgentStatistics,PRIMARY,0000FF,AgentStats
-Tier,Application Infrastructure Performance|*|Agent|Metric Upload|Metrics uploaded,Agent|Metric Upload|Metrics uploaded,METRUPL,SUM,AgentStatistics,SECONDARY,FFA500,AgentStats
-Tier,Application Infrastructure Performance|*|Hardware Resources|CPU|%Busy,Hardware Resources|CPU|%Busy,CPUBUSY,AVERAGE,OSCPUMemory,PRIMARY,108000,OSHardware
-Tier,Application Infrastructure Performance|*|Hardware Resources|Memory|Used (MB),Hardware Resources|Memory|Used (MB),MEMUSEDMB,AVERAGE,OSCPUMemory,SECONDARY,0000FF,OSHardware
-Tier,Application Infrastructure Performance|*|Hardware Resources|Disks|KB written/sec,Hardware Resources|Disks|KB written/sec,DISKKBWRITE,AVERAGE,OSDisk,PRIMARY,108000,OSHardware
-Tier,Application Infrastructure Performance|*|Hardware Resources|Disks|KB read/sec,Hardware Resources|Disks|KB read/sec,DISKKBREAD,AVERAGE,OSDisk,PRIMARY,0000FF,OSHardware
-Tier,Application Infrastructure Performance|*|Hardware Resources|Network|Incoming KB/sec,Hardware Resources|Network|Incoming KB/sec,NETKBIN,AVERAGE,OSNetwork,PRIMARY,108000,OSHardware
-Tier,Application Infrastructure Performance|*|Hardware Resources|Network|Outgoing KB/sec,Hardware Resources|Network|Outgoing KB/sec,NETKBOUT,AVERAGE,OSNetwork,PRIMARY,0000FF,OSHardware
+Tier,Application Infrastructure Performance|*|Agent|App|Availability,App|Availability,AVAILAGENT,SUM,AgentStatistics,PRIMARY,108000,AgentStats
+Tier,Application Infrastructure Performance|*|Agent|Machine|Availability,Machine|Availability,AVAILMACHINE,SUM,AgentStatistics,PRIMARY,0000FF,AgentStats
+Tier,Application Infrastructure Performance|*|Agent|Metric Upload|Metrics uploaded,Metrics uploaded,METRUPL,SUM,AgentStatistics,SECONDARY,FFA500,AgentStats
+Tier,Application Infrastructure Performance|*|Hardware Resources|CPU|%Busy,CPU|%Busy,CPUBUSY,AVERAGE,OSCPUMemory,PRIMARY,108000,OSHardware
+Tier,Application Infrastructure Performance|*|Hardware Resources|Memory|Used (MB),Memory|Used (MB),MEMUSEDMB,AVERAGE,OSCPUMemory,SECONDARY,0000FF,OSHardware
+Tier,Application Infrastructure Performance|*|Hardware Resources|Disks|KB written/sec,Disks|KB written/sec,DISKKBWRITE,AVERAGE,OSDisk,PRIMARY,108000,OSHardware
+Tier,Application Infrastructure Performance|*|Hardware Resources|Disks|KB read/sec,Disks|KB read/sec,DISKKBREAD,AVERAGE,OSDisk,PRIMARY,0000FF,OSHardware
+Tier,Application Infrastructure Performance|*|Hardware Resources|Network|Incoming KB/sec,Network|Incoming KB/sec,NETKBIN,AVERAGE,OSNetwork,PRIMARY,108000,OSHardware
+Tier,Application Infrastructure Performance|*|Hardware Resources|Network|Outgoing KB/sec,Network|Outgoing KB/sec,NETKBOUT,AVERAGE,OSNetwork,PRIMARY,0000FF,OSHardware
Tier,Application Infrastructure Performance|*|CLR|Process CPU Burnt (%),CLR|Process CPU Burnt (%),CLRCPU,AVERAGE,CLRProcess,SECONDARY,108000,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Current Usage (bytes),CLR|Memory|Heap|Current Usage (bytes),CLRHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,0000FF,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 0 Usage (bytes),CLR|Memory|Heap|Gen 0 Usage (bytes),CLRHEAPGEN0USAGE,AVERAGE,CLRProcess,PRIMARY,9ADAC8,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 1 Usage (bytes),CLR|Memory|Heap|Gen 1 Usage (bytes),CLRHEAPGEN1USAGE,AVERAGE,CLRProcess,PRIMARY,3D3DFF,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 2 Usage (bytes),CLR|Memory|Heap|Gen 2 Usage (bytes),CLRHEAPGEN2USAGE,AVERAGE,CLRProcess,PRIMARY,DA85FF,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Memory|Large Object Heap|Current Usage (bytes),CLR|Memory|Large Object Heap|Current Usage (bytes),CLRLOHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,FFB66B,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Garbage Collection|GC Time Spent (%),CLR|Garbage Collection|GC Time Spent (%),CLRGCPCENT,AVERAGE,CLRGC,PRIMARY,108000,CLRStats
-Tier,Application Infrastructure Performance|*|CLR|Garbage Collection|Number of Induced GCs,CLR|Garbage Collection|Number of Induced GCs,CLRGCINDUCED,SUM,CLRGC,SECONDARY,0000FF,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Current Usage (bytes),Heap|Current Usage (bytes),CLRHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,0000FF,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 0 Usage (bytes),Heap|Gen 0 Usage (bytes),CLRHEAPGEN0USAGE,AVERAGE,CLRProcess,PRIMARY,9ADAC8,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 1 Usage (bytes),Heap|Gen 1 Usage (bytes),CLRHEAPGEN1USAGE,AVERAGE,CLRProcess,PRIMARY,3D3DFF,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Memory|Heap|Gen 2 Usage (bytes),Heap|Gen 2 Usage (bytes),CLRHEAPGEN2USAGE,AVERAGE,CLRProcess,PRIMARY,DA85FF,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Memory|Large Object Heap|Current Usage (bytes),Large Object Heap|Current Usage (bytes),CLRLOHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,FFB66B,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Garbage Collection|GC Time Spent (%),GC Time Spent (%),CLRGCPCENT,AVERAGE,CLRGC,PRIMARY,108000,CLRStats
+Tier,Application Infrastructure Performance|*|CLR|Garbage Collection|Number of Induced GCs,Number of Induced GCs,CLRGCINDUCED,SUM,CLRGC,SECONDARY,0000FF,CLRStats
Tier,Application Infrastructure Performance|*|IIS|CPU%,IIS|CPU%,IISCPU,AVERAGE,IIS,PRIMARY,108000,IISStats
Tier,Application Infrastructure Performance|*|IIS|Working Set,IIS|Working Set,IISWORKSET,AVERAGE,IIS,SECONDARY,0000FF,IISStats
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Failed,ASP.NET Applications|Requests Failed,IISREQFAIL,SUM,IISReqCount,PRIMARY,FF9500,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Not Found,ASP.NET Applications|Requests Not Found,IISREQNOTFOUND,SUM,IISReqCount,PRIMARY,DA85FF,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Timed Out,ASP.NET Applications|Requests Timed Out,IISREQTIMEOUT,SUM,IISReqCount,PRIMARY,21C8FD,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Total,ASP.NET Applications|Requests Total,IISREQTOTAL,SUM,IISReqCount,SECONDARY,108000,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Not Authorized,ASP.NET Applications|Requests Not Authorized,IISREQNOAUTH,SUM,IISReqCount,PRIMARY,D121FC,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Errors Unhandled During Execution,ASP.NET Applications|Errors Unhandled During Execution,IISREQERR,SUM,IISReqCount,PRIMARY,FF0000,IISReqCounts
-Tier,Application Infrastructure Performance|*|ASP.NET|Request Wait Time,ASP.NET|Request Wait Time,IISREQWAIT,AVERAGE,IISReqPerf,SECONDARY,108000,IISReqPerf
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Executing,ASP.NET Applications|Requests Executing,IISREQEXECRATE,SUM,IISReqPerf,PRIMARY,0000FF,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Failed,Requests Failed,IISREQFAIL,SUM,IISReqCount,PRIMARY,FF9500,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Not Found,Requests Not Found,IISREQNOTFOUND,SUM,IISReqCount,PRIMARY,DA85FF,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Timed Out,Requests Timed Out,IISREQTIMEOUT,SUM,IISReqCount,PRIMARY,21C8FD,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Total,Requests Total,IISREQTOTAL,SUM,IISReqCount,SECONDARY,108000,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Not Authorized,Requests Not Authorized,IISREQNOAUTH,SUM,IISReqCount,PRIMARY,D121FC,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Errors Unhandled During Execution,Errors Unhandled During Execution,IISREQERR,SUM,IISReqCount,PRIMARY,FF0000,IISReqCounts
+Tier,Application Infrastructure Performance|*|ASP.NET|Request Wait Time,Request Wait Time,IISREQWAIT,AVERAGE,IISReqPerf,SECONDARY,108000,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests Executing,Requests Executing,IISREQEXECRATE,SUM,IISReqPerf,PRIMARY,0000FF,IISReqPerf
Tier,Application Infrastructure Performance|*|ASP.NET Applications|Requests/sec,ASP.NET Applications|Requests/sec,IISREQRATE,SUM,IISReqPerf,PRIMARY,9ADAC8,IISReqPerf
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Anonymous Requests/sec,ASP.NET Applications|Anonymous Requests/sec,IISREQANONRATE,SUM,IISReqPerf,PRIMARY,A821FC,IISReqPerf
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Errors Total/sec,ASP.NET Applications|Errors Total/sec,IISREQERRRATE,SUM,IISReqPerf,PRIMARY,FF0000,IISReqPerf
-Tier,Application Infrastructure Performance|*|ASP.NET Applications|Pipeline Instance Count,ASP.NET Applications|Pipeline Instance Count,IISREQPIPELINE,SUM,IISReqPerf,PRIMARY,DA85FF,IISReqPerf
-Tier,Application Infrastructure Performance|*|ASP.NET|Requests Queued,ASP.NET|Requests Queued,IISREQQ,SUM,IISReqPerf,PRIMARY,FFB66B,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Anonymous Requests/sec,Anonymous Requests/sec,IISREQANONRATE,SUM,IISReqPerf,PRIMARY,A821FC,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Errors Total/sec,Errors Total/sec,IISREQERRRATE,SUM,IISReqPerf,PRIMARY,FF0000,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET Applications|Pipeline Instance Count,Pipeline Instance Count,IISREQPIPELINE,SUM,IISReqPerf,PRIMARY,DA85FF,IISReqPerf
+Tier,Application Infrastructure Performance|*|ASP.NET|Requests Queued,Requests Queued,IISREQQ,SUM,IISReqPerf,PRIMARY,FFB66B,IISReqPerf
Tier,Application Infrastructure Performance|*|JVM|Process CPU Usage %,JVM|Process CPU Usage %,JVMCPU,AVERAGE,JVMProcess,SECONDARY,108000,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Memory|Heap|Current Usage (MB),JVM|Memory|Heap|Current Usage (MB),JVMHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,0000FF,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Memory|Non-Heap|Current Usage (MB),JVM|Memory|Non-Heap|Current Usage (MB),JVMNONHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,DA85FF,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|GC Time Spent Per Min (ms),JVM|Garbage Collection|GC Time Spent Per Min (ms),JVMGCTIMETOTAL,AVERAGE,JVMGC,PRIMARY,108000,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),JVMGCTIMEMAJOR,AVERAGE,JVMGC,PRIMARY,0000FF,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),JVMGCTIMEMINOR,AVERAGE,JVMGC,PRIMARY,DA85FF,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),JVMMEMPOOLCODE,AVERAGE,JVMGCGCMemPool,PRIMARY,21C8FD,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),JVMMEMPOOLCLASS,AVERAGE,JVMGCGCMemPool,PRIMARY,21FD29,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),JVMMEMPOOLMETA,AVERAGE,JVMGCGCMemPool,PRIMARY,C6FD21,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),JVMMEMPOOLEDEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FDB421,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),JVMMEMPOOLOLDGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FD2185,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),JVMMEMPOOLPERMGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,C321FD,JVMStats
-Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),JVMMEMPOOLSURVIVOR,AVERAGE,JVMGCGCMemPool,PRIMARY,3A21FD,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Memory|Heap|Current Usage (MB),Heap|Current Usage (MB),JVMHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,0000FF,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Memory|Non-Heap|Current Usage (MB),Non-Heap|Current Usage (MB),JVMNONHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,DA85FF,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|GC Time Spent Per Min (ms),GC Time Spent Per Min (ms),JVMGCTIMETOTAL,AVERAGE,JVMGC,PRIMARY,108000,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),Major Collection Time Spent Per Min (ms),JVMGCTIMEMAJOR,AVERAGE,JVMGC,PRIMARY,0000FF,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),Minor Collection Time Spent Per Min (ms),JVMGCTIMEMINOR,AVERAGE,JVMGC,PRIMARY,DA85FF,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),Code Cache|Current Usage (MB),JVMMEMPOOLCODE,AVERAGE,JVMGCGCMemPool,PRIMARY,21C8FD,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),Compressed Class Space|Current Usage (MB),JVMMEMPOOLCLASS,AVERAGE,JVMGCGCMemPool,PRIMARY,21FD29,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),Metaspace|Current Usage (MB),JVMMEMPOOLMETA,AVERAGE,JVMGCGCMemPool,PRIMARY,C6FD21,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),PS Eden Space|Current Usage (MB),JVMMEMPOOLEDEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FDB421,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),PS Old Gen|Current Usage (MB),JVMMEMPOOLOLDGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FD2185,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),PS Perm Gen|Current Usage (MB),JVMMEMPOOLPERMGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,C321FD,JVMStats
+Tier,Application Infrastructure Performance|*|JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),PS Survivor Space|Current Usage (MB),JVMMEMPOOLSURVIVOR,AVERAGE,JVMGCGCMemPool,PRIMARY,3A21FD,JVMStats
Tier,Application Infrastructure Performance|*|JMX|Sessions|activeSessions,JMX|Sessions|activeSessions,JMXSESSACTIVE,AVERAGE,JMXSessions,PRIMARY,0000FF,JMXStatsCustom1
-Tier,"Application Infrastructure Performance|*|JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections","JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections",JMXDBCONNPOOLECOM,AVERAGE,JMXJDBCConnPool,PRIMARY,0000FF,JMXStatsCustom1
-Tier,"Application Infrastructure Performance|*|JMX|Web Container Runtime|""ajp-bio-8009""|Request Count","JMX|Web Container Runtime|""ajp-bio-8009""|Request Count",JMXWCRAJPREQUESTCOUNT,AVERAGE,JMXWCRAJP,PRIMARY,0000FF,JMXStatsCustom1
-Tier,Application Infrastructure Performance|*|Custom Metrics|ECommerce Demo|Slow Query Calls|Call Count,Custom Metrics|ECommerce Demo|Slow Query Calls|Call Count,SLOWQUERY,SUM,CustomSlowQuery,PRIMARY,0000FF,CustomMetricCustom1
+Tier,"Application Infrastructure Performance|*|JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections","JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections",JMXDBCONNPOOLCONNACT_OR,AVERAGE,JMXJDBCConnPool_ECOM,PRIMARY,0000FF,JMXStatsCustom1
+Tier,"Application Infrastructure Performance|*|JMX|Web Container Runtime|""ajp-bio-8009""|Request Count","JMX|Web Container Runtime|""ajp-bio-8009""|Request Count",JMXWEBCNTRGRRREQCNT_ajp,AVERAGE,JMXTomcatReqCount_apjbio,PRIMARY,0000FF,JMXStatsCustom1
+Tier,Application Infrastructure Performance|*|JMX|JDBC Connection Pools|*|Active Connections,Active Connections,JMXDBCONNPOOLCONNACT,AVERAGE,JMXJDBCConnPool,PRIMARY,0000FF,JMXDBConnStats
+Tier,Application Infrastructure Performance|*|JMX|JDBC Connection Pools|*|Maximum Connections,Maximum Connections,JMXDBCONNPOOLCONNMAX,AVERAGE,JMXJDBCConnPool,PRIMARY,9ADAC8,JMXDBConnStats
+Tier,Application Infrastructure Performance|*|JMX|Web Container Runtime|*|Request Count,Request Count,JMXWEBCNTRGRRREQUESTS,SUM,JMXWebContRequests,PRIMARY,0000FF,JMXWebContainerStats
+Tier,Application Infrastructure Performance|*|JMX|Web Container Runtime|*|Error Count,Error Count,JMXWEBCNTRGRRERRORS,SUM,JMXWebContRequests,SECONDARY,FF0000,JMXWebContainerStats
+Tier,Application Infrastructure Performance|*|JMX|Web Container Runtime|*|Current Threads In Pool,Current Threads In Pool,JMXWEBCNTRHTTPTPOOLTHRCURR,AVERAGE,JMXHTTPPool,PRIMARY,21C8FD,JMXWebContainerStats
+Tier,Application Infrastructure Performance|*|JMX|Web Container Runtime|*|Busy Threads,Busy Threads,JMXWEBCNTRHTTPTPOOLTHRBUSY,AVERAGE,JMXHTTPPool,PRIMARY,21FD29,JMXWebContainerStats
+Tier,Application Infrastructure Performance|*|JMX|Web Container Runtime|*|Maximum Threads,Maximum Threads,JMXWEBCNTRHTTPTPOOLTHRMAX,AVERAGE,JMXHTTPPool,PRIMARY,FF0000,JMXWebContainerStats
+Tier,Application Infrastructure Performance|*|Custom Metrics|ECommerce Demo|Slow Query Calls|Call Count,Slow Query Calls|Call Count,SLOWQUERY,SUM,CustomSlowQuery,PRIMARY,0000FF,CustomMetricCustom1
Node,Overall Application Performance|*|Individual Nodes|*|Average Response Time (ms),Average Response Time (ms),ART,AVERAGE,CallsAndResponse,SECONDARY,108000,TransactionNode
Node,Overall Application Performance|*|Individual Nodes|*|Calls per Minute,Calls per Minute,CPM,SUM,CallsAndResponse,PRIMARY,0000FF,TransactionNode
Node,Overall Application Performance|*|Individual Nodes|*|Errors per Minute,Errors per Minute,EPM,SUM,CallsAndResponse,PRIMARY,FF0000,TransactionNode
@@ -71,54 +78,61 @@ Node,Overall Application Performance|*|Individual Nodes|*|External Calls|*|Avera
Node,Overall Application Performance|*|Individual Nodes|*|External Calls|*|Calls per Minute,Calls per Minute,BACKCPM,SUM,,PRIMARY,0000FF,BackendCallsPerNode
Node,Overall Application Performance|*|Individual Nodes|*|External Calls|*|Errors per Minute,Errors per Minute,BACKEPM,SUM,,PRIMARY,FF0000,BackendCallsPerNode
Node,Overall Application Performance|*|Individual Nodes|*|External Calls|Call-JDBC to Discovered backend call - XE-Oracle DB-oracle-db-Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production|Calls per Minute,Call-JDBC to Discovered backend call - XE-Oracle DB-oracle-db-Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production|Calls per Minute,BACKCPMSPEC,SUM,SpecSQLCPM,PRIMARY,0000FF,BackendCallsSpecificCustom1
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|App|Availability,Agent|App|Availability,AVAILAGENT,SUM,AgentStatistics,PRIMARY,108000,AgentStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|Machine|Availability,Agent|Machine|Availability,AVAILMACHINE,SUM,AgentStatistics,PRIMARY,0000FF,AgentStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|Metric Upload|Metrics uploaded,Agent|Metric Upload|Metrics uploaded,METRUPL,SUM,AgentStatistics,SECONDARY,FFA500,AgentStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|CPU|%Busy,Hardware Resources|CPU|%Busy,CPUBUSY,AVERAGE,OSCPUMemory,PRIMARY,108000,OSHardware
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Memory|Used (MB),Hardware Resources|Memory|Used (MB),MEMUSEDMB,AVERAGE,OSCPUMemory,SECONDARY,0000FF,OSHardware
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Disks|KB written/sec,Hardware Resources|Disks|KB written/sec,DISKKBWRITE,AVERAGE,OSDisk,PRIMARY,108000,OSHardware
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Disks|KB read/sec,Hardware Resources|Disks|KB read/sec,DISKKBREAD,AVERAGE,OSDisk,PRIMARY,0000FF,OSHardware
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Network|Incoming KB/sec,Hardware Resources|Network|Incoming KB/sec,NETKBIN,AVERAGE,OSNetwork,PRIMARY,108000,OSHardware
-Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Network|Outgoing KB/sec,Hardware Resources|Network|Outgoing KB/sec,NETKBOUT,AVERAGE,OSNetwork,PRIMARY,0000FF,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|App|Availability,App|Availability,AVAILAGENT,SUM,AgentStatistics,PRIMARY,108000,AgentStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|Machine|Availability,Machine|Availability,AVAILMACHINE,SUM,AgentStatistics,PRIMARY,0000FF,AgentStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Agent|Metric Upload|Metrics uploaded,Metrics uploaded,METRUPL,SUM,AgentStatistics,SECONDARY,FFA500,AgentStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|CPU|%Busy,CPU|%Busy,CPUBUSY,AVERAGE,OSCPUMemory,PRIMARY,108000,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Memory|Used (MB),Memory|Used (MB),MEMUSEDMB,AVERAGE,OSCPUMemory,SECONDARY,0000FF,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Disks|KB written/sec,Disks|KB written/sec,DISKKBWRITE,AVERAGE,OSDisk,PRIMARY,108000,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Disks|KB read/sec,Disks|KB read/sec,DISKKBREAD,AVERAGE,OSDisk,PRIMARY,0000FF,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Network|Incoming KB/sec,Network|Incoming KB/sec,NETKBIN,AVERAGE,OSNetwork,PRIMARY,108000,OSHardware
+Node,Application Infrastructure Performance|*|Individual Nodes|*|Hardware Resources|Network|Outgoing KB/sec,Network|Outgoing KB/sec,NETKBOUT,AVERAGE,OSNetwork,PRIMARY,0000FF,OSHardware
Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Process CPU Burnt (%),CLR|Process CPU Burnt (%),CLRCPU,AVERAGE,CLRProcess,SECONDARY,108000,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Current Usage (bytes),CLR|Memory|Heap|Current Usage (bytes),CLRHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,0000FF,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 0 Usage (bytes),CLR|Memory|Heap|Gen 0 Usage (bytes),CLRHEAPGEN0USAGE,AVERAGE,CLRProcess,PRIMARY,9ADAC8,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 1 Usage (bytes),CLR|Memory|Heap|Gen 1 Usage (bytes),CLRHEAPGEN1USAGE,AVERAGE,CLRProcess,PRIMARY,3D3DFF,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 2 Usage (bytes),CLR|Memory|Heap|Gen 2 Usage (bytes),CLRHEAPGEN2USAGE,AVERAGE,CLRProcess,PRIMARY,DA85FF,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Large Object Heap|Current Usage (bytes),CLR|Memory|Large Object Heap|Current Usage (bytes),CLRLOHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,FFB66B,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Garbage Collection|GC Time Spent (%),CLR|Garbage Collection|GC Time Spent (%),CLRGCPCENT,AVERAGE,CLRGC,PRIMARY,108000,CLRStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Garbage Collection|Number of Induced GCs,CLR|Garbage Collection|Number of Induced GCs,CLRGCINDUCED,SUM,CLRGC,SECONDARY,0000FF,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Current Usage (bytes),Heap|Current Usage (bytes),CLRHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,0000FF,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 0 Usage (bytes),Heap|Gen 0 Usage (bytes),CLRHEAPGEN0USAGE,AVERAGE,CLRProcess,PRIMARY,9ADAC8,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 1 Usage (bytes),Heap|Gen 1 Usage (bytes),CLRHEAPGEN1USAGE,AVERAGE,CLRProcess,PRIMARY,3D3DFF,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Heap|Gen 2 Usage (bytes),Heap|Gen 2 Usage (bytes),CLRHEAPGEN2USAGE,AVERAGE,CLRProcess,PRIMARY,DA85FF,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Memory|Large Object Heap|Current Usage (bytes),Large Object Heap|Current Usage (bytes),CLRLOHEAPUSAGE,AVERAGE,CLRProcess,PRIMARY,FFB66B,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Garbage Collection|GC Time Spent (%),GC Time Spent (%),CLRGCPCENT,AVERAGE,CLRGC,PRIMARY,108000,CLRStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|CLR|Garbage Collection|Number of Induced GCs,Number of Induced GCs,CLRGCINDUCED,SUM,CLRGC,SECONDARY,0000FF,CLRStats
Node,Application Infrastructure Performance|*|Individual Nodes|*|IIS|CPU%,IIS|CPU%,IISCPU,AVERAGE,IIS,PRIMARY,108000,IISStats
Node,Application Infrastructure Performance|*|Individual Nodes|*|IIS|Working Set,IIS|Working Set,IISWORKSET,AVERAGE,IIS,SECONDARY,0000FF,IISStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Failed,ASP.NET Applications|Requests Failed,IISREQFAIL,SUM,IISReqCount,PRIMARY,FF9500,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Not Found,ASP.NET Applications|Requests Not Found,IISREQNOTFOUND,SUM,IISReqCount,PRIMARY,DA85FF,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Timed Out,ASP.NET Applications|Requests Timed Out,IISREQTIMEOUT,SUM,IISReqCount,PRIMARY,21C8FD,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Total,ASP.NET Applications|Requests Total,IISREQTOTAL,SUM,IISReqCount,SECONDARY,108000,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Not Authorized,ASP.NET Applications|Requests Not Authorized,IISREQNOAUTH,SUM,IISReqCount,PRIMARY,D121FC,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Errors Unhandled During Execution,ASP.NET Applications|Errors Unhandled During Execution,IISREQERR,SUM,IISReqCount,PRIMARY,FF0000,IISReqCounts
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET|Request Wait Time,ASP.NET|Request Wait Time,IISREQWAIT,AVERAGE,IISReqPerf,SECONDARY,108000,IISReqPerf
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Executing,ASP.NET Applications|Requests Executing,IISREQEXECRATE,SUM,IISReqPerf,PRIMARY,0000FF,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Failed,Requests Failed,IISREQFAIL,SUM,IISReqCount,PRIMARY,FF9500,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Not Found,Requests Not Found,IISREQNOTFOUND,SUM,IISReqCount,PRIMARY,DA85FF,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Timed Out,Requests Timed Out,IISREQTIMEOUT,SUM,IISReqCount,PRIMARY,21C8FD,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Total,Requests Total,IISREQTOTAL,SUM,IISReqCount,SECONDARY,108000,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Not Authorized,Requests Not Authorized,IISREQNOAUTH,SUM,IISReqCount,PRIMARY,D121FC,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Errors Unhandled During Execution,Errors Unhandled During Execution,IISREQERR,SUM,IISReqCount,PRIMARY,FF0000,IISReqCounts
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET|Request Wait Time,Request Wait Time,IISREQWAIT,AVERAGE,IISReqPerf,SECONDARY,108000,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests Executing,Requests Executing,IISREQEXECRATE,SUM,IISReqPerf,PRIMARY,0000FF,IISReqPerf
Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Requests/sec,ASP.NET Applications|Requests/sec,IISREQRATE,SUM,IISReqPerf,PRIMARY,9ADAC8,IISReqPerf
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Anonymous Requests/sec,ASP.NET Applications|Anonymous Requests/sec,IISREQANONRATE,SUM,IISReqPerf,PRIMARY,A821FC,IISReqPerf
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Errors Total/sec,ASP.NET Applications|Errors Total/sec,IISREQERRRATE,SUM,IISReqPerf,PRIMARY,FF0000,IISReqPerf
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Pipeline Instance Count,ASP.NET Applications|Pipeline Instance Count,IISREQPIPELINE,SUM,IISReqPerf,PRIMARY,DA85FF,IISReqPerf
-Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET|Requests Queued,ASP.NET|Requests Queued,IISREQQ,SUM,IISReqPerf,PRIMARY,FFB66B,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Anonymous Requests/sec,Anonymous Requests/sec,IISREQANONRATE,SUM,IISReqPerf,PRIMARY,A821FC,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Errors Total/sec,Errors Total/sec,IISREQERRRATE,SUM,IISReqPerf,PRIMARY,FF0000,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET Applications|Pipeline Instance Count,Pipeline Instance Count,IISREQPIPELINE,SUM,IISReqPerf,PRIMARY,DA85FF,IISReqPerf
+Node,Application Infrastructure Performance|*|Individual Nodes|*|ASP.NET|Requests Queued,Requests Queued,IISREQQ,SUM,IISReqPerf,PRIMARY,FFB66B,IISReqPerf
Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Process CPU Usage %,JVM|Process CPU Usage %,JVMCPU,AVERAGE,JVMProcess,SECONDARY,108000,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Memory|Heap|Current Usage (MB),JVM|Memory|Heap|Current Usage (MB),JVMHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,0000FF,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Memory|Non-Heap|Current Usage (MB),JVM|Memory|Non-Heap|Current Usage (MB),JVMNONHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,DA85FF,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|GC Time Spent Per Min (ms),JVM|Garbage Collection|GC Time Spent Per Min (ms),JVMGCTIMETOTAL,AVERAGE,JVMGC,PRIMARY,108000,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),JVMGCTIMEMAJOR,AVERAGE,JVMGC,PRIMARY,0000FF,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),JVMGCTIMEMINOR,AVERAGE,JVMGC,PRIMARY,DA85FF,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),JVMMEMPOOLCODE,AVERAGE,JVMGCGCMemPool,PRIMARY,21C8FD,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),JVMMEMPOOLCLASS,AVERAGE,JVMGCGCMemPool,PRIMARY,21FD29,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),JVMMEMPOOLMETA,AVERAGE,JVMGCGCMemPool,PRIMARY,C6FD21,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),JVMMEMPOOLEDEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FDB421,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),JVMMEMPOOLOLDGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FD2185,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),JVMMEMPOOLPERMGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,C321FD,JVMStats
-Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),JVMMEMPOOLSURVIVOR,AVERAGE,JVMGCGCMemPool,PRIMARY,3A21FD,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Memory|Heap|Current Usage (MB),Heap|Current Usage (MB),JVMHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,0000FF,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Memory|Non-Heap|Current Usage (MB),Non-Heap|Current Usage (MB),JVMNONHEAPUSAGE,AVERAGE,JVMProcess,PRIMARY,DA85FF,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|GC Time Spent Per Min (ms),GC Time Spent Per Min (ms),JVMGCTIMETOTAL,AVERAGE,JVMGC,PRIMARY,108000,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Major Collection Time Spent Per Min (ms),Major Collection Time Spent Per Min (ms),JVMGCTIMEMAJOR,AVERAGE,JVMGC,PRIMARY,0000FF,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Minor Collection Time Spent Per Min (ms),Minor Collection Time Spent Per Min (ms),JVMGCTIMEMINOR,AVERAGE,JVMGC,PRIMARY,DA85FF,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Code Cache|Current Usage (MB),Code Cache|Current Usage (MB),JVMMEMPOOLCODE,AVERAGE,JVMGCGCMemPool,PRIMARY,21C8FD,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Compressed Class Space|Current Usage (MB),Compressed Class Space|Current Usage (MB),JVMMEMPOOLCLASS,AVERAGE,JVMGCGCMemPool,PRIMARY,21FD29,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|Metaspace|Current Usage (MB),Metaspace|Current Usage (MB),JVMMEMPOOLMETA,AVERAGE,JVMGCGCMemPool,PRIMARY,C6FD21,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Eden Space|Current Usage (MB),PS Eden Space|Current Usage (MB),JVMMEMPOOLEDEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FDB421,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Old Gen|Current Usage (MB),PS Old Gen|Current Usage (MB),JVMMEMPOOLOLDGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,FD2185,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Perm Gen|Current Usage (MB),PS Perm Gen|Current Usage (MB),JVMMEMPOOLPERMGEN,AVERAGE,JVMGCGCMemPool,PRIMARY,C321FD,JVMStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JVM|Garbage Collection|Memory Pools|PS Survivor Space|Current Usage (MB),PS Survivor Space|Current Usage (MB),JVMMEMPOOLSURVIVOR,AVERAGE,JVMGCGCMemPool,PRIMARY,3A21FD,JVMStats
Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Sessions|activeSessions,JMX|Sessions|activeSessions,JMXSESSACTIVE,AVERAGE,JMXSessions,PRIMARY,0000FF,JMXStats
-Node,"Application Infrastructure Performance|*|Individual Nodes|*|JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections","JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections",JMXDBCONNPOOLECOM,AVERAGE,JMXJDBCConnPool,PRIMARY,0000FF,JMXStats
-Node,"Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|""ajp-bio-8009""|Request Count","JMX|Web Container Runtime|""ajp-bio-8009""|Request Count",JMXWCRAJPREQUESTCOUNT,AVERAGE,JMXWCRAJP,PRIMARY,0000FF,JMXStats
+Node,"Application Infrastructure Performance|*|Individual Nodes|*|JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections","JMX|JDBC Connection Pools|""jdbc/OracleECommerceDB""|Active Connections",JMXDBCONNPOOLCONNACT_OR,AVERAGE,JMXJDBCConnPool_ECOM,PRIMARY,0000FF,JMXStatsCustom1
+Node,"Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|""ajp-bio-8009""|Request Count","JMX|Web Container Runtime|""ajp-bio-8009""|Request Count",JMXWEBCNTRGRRREQCNT_ajp,AVERAGE,JMXTomcatReqCount_apjbio,PRIMARY,0000FF,JMXStatsCustom1
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|JDBC Connection Pools|*|Active Connections,Active Connections,JMXDBCONNPOOLCONNACT,AVERAGE,JMXJDBCConnPool,PRIMARY,0000FF,JMXDBConnStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|JDBC Connection Pools|*|Maximum Connections,Maximum Connections,JMXDBCONNPOOLCONNMAX,AVERAGE,JMXJDBCConnPool,PRIMARY,9ADAC8,JMXDBConnStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|*|Request Count,Request Count,JMXWEBCNTRGRRREQUESTS,SUM,JMXWebContRequests,PRIMARY,0000FF,JMXWebContainerStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|*|Error Count,Error Count,JMXWEBCNTRGRRERRORS,SUM,JMXWebContRequests,SECONDARY,FF0000,JMXWebContainerStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|*|Current Threads In Pool,Current Threads In Pool,JMXWEBCNTRHTTPTPOOLTHRCURR,AVERAGE,JMXHTTPPool,PRIMARY,21C8FD,JMXWebContainerStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|*|Busy Threads,Busy Threads,JMXWEBCNTRHTTPTPOOLTHRBUSY,AVERAGE,JMXHTTPPool,PRIMARY,21FD29,JMXWebContainerStats
+Node,Application Infrastructure Performance|*|Individual Nodes|*|JMX|Web Container Runtime|*|Maximum Threads,Maximum Threads,JMXWEBCNTRHTTPTPOOLTHRMAX,AVERAGE,JMXHTTPPool,PRIMARY,FF0000,JMXWebContainerStats
Backend,Backends|*|Average Response Time (ms),Average Response Time (ms),ART,AVERAGE,CallsAndResponse,SECONDARY,108000,TransactionBackend
Backend,Backends|*|Calls per Minute,Calls per Minute,CPM,SUM,CallsAndResponse,PRIMARY,0000FF,TransactionBackend
Backend,Backends|*|Errors per Minute,Errors per Minute,EPM,SUM,CallsAndResponse,PRIMARY,FF0000,TransactionBackend
diff --git a/Helpers/EPPlusCSVHelper.cs b/Helpers/EPPlusCSVHelper.cs
index dac5ee1..8d350cd 100644
--- a/Helpers/EPPlusCSVHelper.cs
+++ b/Helpers/EPPlusCSVHelper.cs
@@ -2,8 +2,10 @@
using NLog;
using OfficeOpenXml;
using System;
+using System.Collections.Generic;
using System.Globalization;
using System.IO;
+using System.Reflection;
namespace AppDynamics.Dexter
{
@@ -15,7 +17,7 @@ public class EPPlusCSVHelper
private static Logger logger = LogManager.GetCurrentClassLogger();
private static Logger loggerConsole = LogManager.GetLogger("AppDynamics.Dexter.Console");
- public static ExcelRangeBase ReadCSVFileIntoExcelRange(MemoryStream csvStream, int skipLinesFromBeginning, ExcelWorksheet sheet, int startRow, int startColumn)
+ public static ExcelRangeBase ReadCSVFileIntoExcelRange(MemoryStream csvStream, int skipLinesFromBeginning, Type dtoType, ExcelWorksheet sheet, int startRow, int startColumn)
{
logger.Trace("Reading CSV file from memory stream to Excel Worksheet {0} at (row {1}, column {2})", sheet.Name, startRow, startColumn);
@@ -23,7 +25,7 @@ public static ExcelRangeBase ReadCSVFileIntoExcelRange(MemoryStream csvStream, i
{
using (StreamReader sr = new StreamReader(csvStream))
{
- return ReadCSVIntoExcelRange(sr, skipLinesFromBeginning, sheet, startRow, startColumn);
+ return ReadCSVIntoExcelRange(sr, skipLinesFromBeginning, dtoType, sheet, startRow, startColumn);
}
}
catch (Exception ex)
@@ -35,7 +37,7 @@ public static ExcelRangeBase ReadCSVFileIntoExcelRange(MemoryStream csvStream, i
return null;
}
- public static ExcelRangeBase ReadCSVFileIntoExcelRange(string csvFilePath, int skipLinesFromBeginning, ExcelWorksheet sheet, int startRow, int startColumn)
+ public static ExcelRangeBase ReadCSVFileIntoExcelRange(string csvFilePath, int skipLinesFromBeginning, Type dtoType, ExcelWorksheet sheet, int startRow, int startColumn)
{
logger.Trace("Reading CSV file {0} to Excel Worksheet {1} at (row {2}, column {3})", csvFilePath, sheet.Name, startRow, startColumn);
@@ -50,7 +52,7 @@ public static ExcelRangeBase ReadCSVFileIntoExcelRange(string csvFilePath, int s
{
using (StreamReader sr = File.OpenText(csvFilePath))
{
- return ReadCSVIntoExcelRange(sr, skipLinesFromBeginning, sheet, startRow, startColumn);
+ return ReadCSVIntoExcelRange(sr, skipLinesFromBeginning, dtoType, sheet, startRow, startColumn);
}
}
catch (Exception ex)
@@ -62,7 +64,7 @@ public static ExcelRangeBase ReadCSVFileIntoExcelRange(string csvFilePath, int s
return null;
}
- public static ExcelRangeBase ReadCSVIntoExcelRange(StreamReader sr, int skipLinesFromBeginning, ExcelWorksheet sheet, int startRow, int startColumn)
+ public static ExcelRangeBase ReadCSVIntoExcelRange(StreamReader sr, int skipLinesFromBeginning, Type dtoType, ExcelWorksheet sheet, int startRow, int startColumn)
{
int csvRowIndex = -1;
int numColumnsInCSV = 0;
@@ -74,6 +76,72 @@ public static ExcelRangeBase ReadCSVIntoExcelRange(StreamReader sr, int skipLine
// d/MM/yyyy is the AUS
string cellDateTimeFormat = String.Format("{0} hh:mm:ss", CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern);
+ Dictionary dictionaryColumnTypes = new Dictionary(50);
+
+ // Analyze data transfer object property types and prepare Excel mappings
+ foreach (PropertyInfo prop in dtoType.GetProperties())
+ {
+ string underlyingPropertyName = prop.PropertyType.Name;
+ if (underlyingPropertyName == "Nullable`1") underlyingPropertyName = prop.PropertyType.GenericTypeArguments[0].Name;
+
+ switch (underlyingPropertyName)
+ {
+ case "String":
+ switch (prop.Name)
+ {
+ case "DetailLink":
+ case "MetricGraphLink":
+ case "FlameGraphLink":
+ case "FlameChartLink":
+ dictionaryColumnTypes.Add(prop.Name, "Hyperlink");
+ break;
+
+ default:
+ dictionaryColumnTypes.Add(prop.Name, "String");
+ break;
+ }
+ break;
+
+ case "TimeSpan":
+ dictionaryColumnTypes.Add(prop.Name, "TimeSpan");
+ break;
+
+ case "DateTime":
+ switch (prop.Name)
+ {
+ case "EventTime":
+ dictionaryColumnTypes.Add(prop.Name, "TimeHourMinute");
+ break;
+
+ default:
+ dictionaryColumnTypes.Add(prop.Name, "DateTime");
+ break;
+ }
+ break;
+
+ case "Boolean":
+ dictionaryColumnTypes.Add(prop.Name, "Boolean");
+ break;
+
+ case "Int32":
+ case "Int64":
+ dictionaryColumnTypes.Add(prop.Name, "Int64");
+ break;
+
+ case "Double":
+ dictionaryColumnTypes.Add(prop.Name, "Double");
+ break;
+
+ case "Decimal":
+ dictionaryColumnTypes.Add(prop.Name, "Decimal");
+ break;
+
+ default:
+ dictionaryColumnTypes.Add(prop.Name, "String");
+ break;
+ }
+ }
+
// Read all rows
while (true)
{
@@ -103,93 +171,139 @@ public static ExcelRangeBase ReadCSVIntoExcelRange(StreamReader sr, int skipLine
try
{
foreach (string fieldValue in rowValues)
- {
+ {
ExcelRange cell = sheet.Cells[csvRowIndex + startRow - skipLinesFromBeginning, csvFieldIndex + startColumn];
- if (fieldValue.StartsWith("=HYPERLINK") == true)
- {
- cell.Formula = fieldValue;
- cell.StyleName = "HyperLinkStyle";
- }
- else if (fieldValue.StartsWith("http://") == true || fieldValue.StartsWith("https://") == true)
+
+ if (csvRowIndex == 0)
{
- // If it is in the column ending in Link, I want it to be hyperlinked and use the column name
- if (headerRowValues[csvFieldIndex] == "Link")
- {
- // This is the ART summary table, those links are OK, there are not that many of them
- cell.Hyperlink = new Uri(fieldValue);
- cell.Value = "";
- cell.StyleName = "HyperLinkStyle";
- }
- // Temporarily commenting out until I figure the large number of rows leading to hyperlink corruption thing
- //else if (headerRowValues[csvFieldIndex].EndsWith("Link"))
- //{
- // cell.Hyperlink = new Uri(fieldValue);
- // string linkName = String.Format("<{0}>", headerRowValues[csvFieldIndex].Replace("Link", ""));
- // if (linkName == "<>") linkName = "";
- // cell.Value = linkName;
- // cell.StyleName = "HyperLinkStyle";
- //}
- else
- {
- // Otherwise dump it as text
- cell.Value = fieldValue;
- }
+ // output header row right away without any conversions
+ cell.Value = fieldValue;
}
else
{
- Double numValue;
- bool boolValue;
- DateTime dateTimeValue;
- TimeSpan timeSpanValue;
-
- // Try some casting
- if (Double.TryParse(fieldValue, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out numValue) == true)
- {
- // Number
- cell.Value = numValue;
- }
- else if (Boolean.TryParse(fieldValue, out boolValue) == true)
- {
- // Boolean
- cell.Value = boolValue;
- }
- else if (TimeSpan.TryParse(fieldValue, out timeSpanValue))
+ string fieldName = headerRowValues[csvFieldIndex];
+ string fieldDesiredType;
+ if (dictionaryColumnTypes.TryGetValue(fieldName, out fieldDesiredType) == false)
{
- // TimeSpan
- cell.Value = timeSpanValue;
- cell.Style.Numberformat.Format = "[h]:mm:ss";
+ fieldDesiredType = "String";
}
- else if (DateTime.TryParse(fieldValue, out dateTimeValue))
- {
- // DateTime
- cell.Value = dateTimeValue;
- if (headerRowValues[csvFieldIndex] == "EventTime")
- {
- cell.Style.Numberformat.Format = "hh:mm";
- }
- else
- {
- cell.Style.Numberformat.Format = cellDateTimeFormat;
- }
- }
- else
+
+ // Based on previous mapping of column datatypes to what we want in Excel, output it
+ switch (fieldDesiredType)
{
- // Something else, dump as is
-
- // https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
- // Total number of characters that a cell can contain 32,767 characters
- // Must cut off cell value if it is too big, or risk Excel complaining during sheet load
-
- if (fieldValue.Length > 32000)
- {
- cell.Value = fieldValue.Substring(0, 32000);
- }
- else
- {
- cell.Value = fieldValue;
- }
+ case "Hyperlink":
+ cell.Formula = fieldValue;
+ cell.StyleName = "HyperLinkStyle";
+
+ break;
+
+ case "Boolean":
+ bool boolValue;
+ if (Boolean.TryParse(fieldValue, out boolValue) == true)
+ {
+ cell.Value = boolValue;
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+ case "Int64":
+ long longValue;
+ if (Int64.TryParse(fieldValue, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out longValue) == true)
+ {
+ cell.Value = longValue;
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+
+ break;
+
+ case "Double":
+ Double doubleValue;
+ if (Double.TryParse(fieldValue, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out doubleValue) == true)
+ {
+ cell.Value = doubleValue;
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+ case "Decimal":
+ Decimal decimalValue;
+ if (Decimal.TryParse(fieldValue, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out decimalValue) == true)
+ {
+ cell.Value = decimalValue;
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+ case "DateTime":
+ DateTime dateTimeValue;
+ if (DateTime.TryParse(fieldValue, out dateTimeValue))
+ {
+ cell.Value = dateTimeValue;
+ cell.Style.Numberformat.Format = cellDateTimeFormat;
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+ case "TimeHourMinute":
+ DateTime dateTimeValue2;
+ if (DateTime.TryParse(fieldValue, out dateTimeValue2))
+ {
+ cell.Value = dateTimeValue2;
+ cell.Style.Numberformat.Format = "hh:mm";
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+
+ case "TimeSpan":
+ TimeSpan timeSpanValue;
+ if (TimeSpan.TryParse(fieldValue, out timeSpanValue))
+ {
+ cell.Value = timeSpanValue;
+ cell.Style.Numberformat.Format = "[h]:mm:ss";
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
+
+ case "String":
+ default:
+ // Dump as is
+ if (fieldValue.Length > 32000)
+ {
+ // https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
+ // Total number of characters that a cell can contain 32,767 characters
+ // Must cut off cell value if it is too big, or risk Excel complaining during sheet load
+ cell.Value = fieldValue.Substring(0, 32000);
+ }
+ else
+ {
+ cell.Value = fieldValue;
+ }
+ break;
}
}
+
csvFieldIndex++;
}
}
diff --git a/Helpers/FileIOHelper.cs b/Helpers/FileIOHelper.cs
index b686ea0..93d4e16 100644
--- a/Helpers/FileIOHelper.cs
+++ b/Helpers/FileIOHelper.cs
@@ -563,6 +563,118 @@ public static List ReadListFromCSVFile(string csvFilePath, ClassMap cla
return null;
}
+ public static List ReadListFromCSVFileForSnapshotsWithRequestIDs(string csvFilePath, ClassMap classMap, List requestIDs)
+ {
+ List resultsList = new List();
+
+ try
+ {
+ logger.Trace("Reading List of type {0} from file {1}", typeof(T), csvFilePath);
+
+ if (File.Exists(csvFilePath) == false)
+ {
+ logger.Warn("File {0} does not exist", csvFilePath);
+ }
+ else
+ {
+ using (StreamReader sr = File.OpenText(csvFilePath))
+ {
+ CsvReader csvReader = new CsvReader(sr);
+ csvReader.Configuration.RegisterClassMap(classMap);
+ csvReader.Read();
+ csvReader.ReadHeader();
+
+ int indexOfRequestID = Array.IndexOf(csvReader.Context.HeaderRecord, "RequestID");
+
+ // Read all rows
+ // All records in the Snapshots, Exits, Etc, are grouped by RequestID by earlier process
+ // Read all records with this RequestID
+ // For Snapshots, there will be just one record
+ // For all other data like Exits and Method Calls there will be more
+ string currentlyReadingRequestID = String.Empty;
+ while (true)
+ {
+ csvReader.Read();
+ if (csvReader.Context.Record == null)
+ {
+ // At end of file, exit
+ break;
+ }
+ else
+ {
+ if (currentlyReadingRequestID.Length == 0 && requestIDs.Count == 0)
+ {
+ // Found everything, exit
+ break;
+ }
+ else
+ {
+ if (csvReader.Context.Row % 10000 == 0)
+ {
+ Console.Write("[{0}].", csvReader.Context.Row);
+ }
+
+ // Are we reading a record with matched requestID?
+ if (currentlyReadingRequestID.Length > 0)
+ {
+ // Yes, we are, and we moved to the next record
+ // Is this record still part of that request ID?
+ if (String.Compare(csvReader.Context.Record[indexOfRequestID], currentlyReadingRequestID, true) == 0)
+ {
+ // Yes it sure is, read it
+ T record = csvReader.GetRecord();
+ resultsList.Add(record);
+ }
+ else
+ {
+ // No, then reset the currently reading request ID and find the next one
+ currentlyReadingRequestID = String.Empty;
+ }
+ }
+
+ // Are we ready to find next requestID?
+ if (currentlyReadingRequestID.Length == 0)
+ {
+ // Yes we moved from previously found request ID
+ // Find a match out of request IDs
+ foreach (string requestID in requestIDs)
+ {
+ if (String.Compare(csvReader.Context.Record[indexOfRequestID], requestID, true) == 0)
+ {
+ // Found a match!
+ Console.WriteLine("[{0}]={1}", csvReader.Context.Row, requestID);
+
+ // Read the first record
+ T record = csvReader.GetRecord();
+ resultsList.Add(record);
+
+ // Save for the next record, what if it has the same request ID?
+ currentlyReadingRequestID = requestID;
+
+ // Remove that one from the list
+ requestIDs.Remove(requestID);
+
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ Console.WriteLine("[{0}].Done", csvReader.Context.Row);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error("Unable to read CSV from file {0}", csvFilePath);
+ logger.Error(ex);
+ }
+
+ return resultsList;
+ }
+
+
public static bool AppendTwoCSVFiles(string csvToAppendToFilePath, string csvFromWhichToAppendFilePath)
{
string folderPath = Path.GetDirectoryName(csvToAppendToFilePath);
diff --git a/LinksToApplicationFlameGraphsTemplate.html b/LinksToApplicationFlameGraphsTemplate.html
new file mode 100644
index 0000000..3a51107
--- /dev/null
+++ b/LinksToApplicationFlameGraphsTemplate.html
@@ -0,0 +1,193 @@
+
+
+
+ [TITLE GOES HERE]
+
+
+
+ AppDynamics DEXTER Application Flame Graphs Screenshots Report
+
+
+
+ Version |
+ AppDynamics DEXTER v{0} |
+
+
+ From |
+ [TO BE FILLED] |
+
+
+ To |
+ [TO BE FILLED] |
+
+
+ Timezone |
+ [TO BE FILLED] |
+
+
+ Controller |
+ [TO BE FILLED] |
+
+
+ Application |
+ [TO BE FILLED] |
+
+
+ ID |
+ [TO BE FILLED] |
+
+
+
+
+ Application
+ Tiers
+ Nodes
+ Business Transactions
+
+ Application
+
+
+
+
+ Controller |
+ Application |
+ ID |
+ File Name |
+ Flame Graph |
+ Flame Chart |
+
+
+
+
+
+ Tiers
+
+
+
+
+ Controller |
+ Application |
+ Tier |
+ Type |
+ ID |
+ File Name |
+ Flame Graph |
+ Flame Chart |
+
+
+
+
+
+ Nodes
+
+
+
+
+ Controller |
+ Application |
+ Tier |
+ Node |
+ Type |
+ ID |
+ File Name |
+ Flame Graph |
+ Flame Chart |
+
+
+
+
+
+ Business Transactions
+
+
+
+
+ Controller |
+ Application |
+ Tier |
+ Business Transaction |
+ Type |
+ ID |
+ File Name |
+ Flame Graph |
+ Flame Chart |
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ProcessingSteps/Extract/ExtractAPMMetrics.cs b/ProcessingSteps/Extract/ExtractAPMMetrics.cs
index ec67d81..7c65c7a 100644
--- a/ProcessingSteps/Extract/ExtractAPMMetrics.cs
+++ b/ProcessingSteps/Extract/ExtractAPMMetrics.cs
@@ -217,7 +217,7 @@ private void getMetricsForEntities(
JobTimeRange jobTimeRange = jobConfiguration.Input.TimeRange;
loggerConsole.Trace("{0} {1}", metricExtractMapping.EntityType, metricExtractMapping.MetricPath);
- logger.Info("Retrieving metric in Application {0}({1}), Metric='{2}', From {3:o}, To {4:o}", jobTarget.Application, jobTarget.ApplicationID, metricExtractMapping.MetricPath, jobTimeRange.From, jobTimeRange.To);
+ logger.Info("Retrieving metric summary for Application {0}({1}), Metric='{2}', From {3:o}, To {4:o}", jobTarget.Application, jobTarget.ApplicationID, metricExtractMapping.MetricPath, jobTimeRange.From, jobTimeRange.To);
string metricsJson = String.Empty;
@@ -235,25 +235,28 @@ private void getMetricsForEntities(
if (metricsJson != String.Empty) FileIOHelper.SaveFileToPath(metricsJson, metricsDataFilePath);
}
- // Get the hourly time ranges
- for (int j = 0; j < jobConfiguration.Input.HourlyTimeRanges.Count; j++)
+ if (jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail == true)
{
- jobTimeRange = jobConfiguration.Input.HourlyTimeRanges[j];
+ // Get the hourly time ranges
+ for (int j = 0; j < jobConfiguration.Input.HourlyTimeRanges.Count; j++)
+ {
+ jobTimeRange = jobConfiguration.Input.HourlyTimeRanges[j];
- logger.Info("Retrieving metric for Application {0}({1}), Metric='{2}', From {3:o}, To {4:o}", jobTarget.Application, jobTarget.ApplicationID, metricExtractMapping.MetricPath, jobTimeRange.From, jobTimeRange.To);
+ logger.Info("Retrieving metric details for Application {0}({1}), Metric='{2}', From {3:o}, To {4:o}", jobTarget.Application, jobTarget.ApplicationID, metricExtractMapping.MetricPath, jobTimeRange.From, jobTimeRange.To);
- metricsDataFilePath = FilePathMap.MetricHourRangeDataFilePath(jobTarget, entityFolderName, metricExtractMapping.FolderName, jobTimeRange);
- if (File.Exists(metricsDataFilePath) == false)
- {
- // Subsequent ones are details
- metricsJson = controllerApi.GetMetricData(
- jobTarget.ApplicationID,
- metricExtractMapping.MetricPath,
- UnixTimeHelper.ConvertToUnixTimestamp(jobTimeRange.From),
- UnixTimeHelper.ConvertToUnixTimestamp(jobTimeRange.To),
- false);
-
- if (metricsJson != String.Empty) FileIOHelper.SaveFileToPath(metricsJson, metricsDataFilePath);
+ metricsDataFilePath = FilePathMap.MetricHourRangeDataFilePath(jobTarget, entityFolderName, metricExtractMapping.FolderName, jobTimeRange);
+ if (File.Exists(metricsDataFilePath) == false)
+ {
+ // Subsequent ones are details
+ metricsJson = controllerApi.GetMetricData(
+ jobTarget.ApplicationID,
+ metricExtractMapping.MetricPath,
+ UnixTimeHelper.ConvertToUnixTimestamp(jobTimeRange.From),
+ UnixTimeHelper.ConvertToUnixTimestamp(jobTimeRange.To),
+ false);
+
+ if (metricsJson != String.Empty) FileIOHelper.SaveFileToPath(metricsJson, metricsDataFilePath);
+ }
}
}
}
diff --git a/ProcessingSteps/Extract/ExtractAPMSnapshots.cs b/ProcessingSteps/Extract/ExtractAPMSnapshots.cs
index 09e0b55..7088e89 100644
--- a/ProcessingSteps/Extract/ExtractAPMSnapshots.cs
+++ b/ProcessingSteps/Extract/ExtractAPMSnapshots.cs
@@ -297,6 +297,34 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
continue;
}
+ // Filter only requested RequestIDs
+ if (jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.Length == 0)
+ {
+ // Don't filter anything if no request IDs specified
+ keepSnapshot = true;
+ }
+ else
+ {
+ keepSnapshot = false;
+ foreach (string matchCriteria in jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs)
+ {
+ if (matchCriteria.Length > 0)
+ {
+ // Try straight up string compare first
+ if (String.Compare(snapshotToken["requestGUID"].ToString(), matchCriteria, true) == 0)
+ {
+ keepSnapshot = true;
+ break;
+ }
+ }
+ }
+ }
+ if (keepSnapshot == false)
+ {
+ logger.Trace("Filtering snapshot requestGUID={0} because requestID didn't match", snapshotToken["requestGUID"]);
+ continue;
+ }
+
// Filter user experience
switch (snapshotToken["userExperience"].ToString())
{
diff --git a/ProcessingSteps/FilePathMap.cs b/ProcessingSteps/FilePathMap.cs
index f925f0c..bde928a 100644
--- a/ProcessingSteps/FilePathMap.cs
+++ b/ProcessingSteps/FilePathMap.cs
@@ -8,6 +8,7 @@ namespace AppDynamics.Dexter.ProcessingSteps
{
public class FilePathMap
{
+
#region Constants for the folder names
// Parent Folder names
@@ -452,6 +453,7 @@ public class FilePathMap
private const string REPORT_APPLICATIONS_DASHBOARDS_FILE_NAME = "ApplicationsDashboards.{0}.html";
private const string REPORT_APPLICATION_DASHBOARDS_FILE_NAME = "ApplicationDashboards.html";
private const string REPORT_HEALTH_CHECK_RESULTS_FILE_NAME = "HealthCheck.{0}.xlsx";
+ private const string REPORT_SNAPSHOT_FILE_NAME = "Snapshot.{0}-{1}-{2}-{3}-{4}.xlsx";
// Per entity report names
private const string REPORT_ENTITY_DETAILS_APPLICATION_FILE_NAME = "EntityDetails.{0}.{1}.xlsx";
@@ -463,6 +465,7 @@ public class FilePathMap
private const string REPORT_FLAME_GRAPH_TIER_FILE_NAME = "FlameGraph.Tier.{0}.{1}.{2}.svg";
private const string REPORT_FLAME_GRAPH_NODE_FILE_NAME = "FlameGraph.Node.{0}.{1}.{2}.svg";
private const string REPORT_FLAME_GRAPH_BUSINESS_TRANSACTION_FILE_NAME = "FlameGraph.BT.{0}.{1}.{2}.svg";
+ private const string REPORT_APPLICATION_FLAMEGRAPHS_FILE_NAME = "ApplicationFlamegraphs.html";
// Per entity flame chart report name
private const string REPORT_FLAME_CHART_APPLICATION_FILE_NAME = "FlameChart.Application.{0}.{1}.svg";
@@ -494,6 +497,8 @@ public class FilePathMap
// Flame graph template SVG XML file
private const string FLAME_GRAPH_TEMPLATE_FILE_NAME = "FlameGraphTemplate.svg";
+ // Application Flamegraphs template
+ private const string LINKS_TO_APPLICATION_FLAMEGRAPHSS_TEMPLATE_FILE_NAME = "LinksToApplicationFlameGraphsTemplate.html";
// Template controller export of an empty applications
private const string TEMPLATE_CONTROLLER_AND_APPLICATIONS_FOLDER_NAME = "EmptyConfig";
@@ -507,7 +512,7 @@ public class FilePathMap
#region Snapshot UX to Folder Mapping
- internal static Dictionary USEREXPERIENCE_FOLDER_MAPPING = new Dictionary
+ private static Dictionary USEREXPERIENCE_FOLDER_MAPPING = new Dictionary
{
{"NORMAL", "NM"},
{"SLOW", "SL"},
@@ -525,10 +530,17 @@ public class FilePathMap
public JobConfiguration JobConfiguration { get; set; }
+ public string ReportFolderName { get; set; }
+
public FilePathMap(ProgramOptions programOptions, JobConfiguration jobConfiguration)
{
this.ProgramOptions = programOptions;
this.JobConfiguration = jobConfiguration;
+ this.ReportFolderName = REPORT_FOLDER_NAME;
+ if (programOptions.IndividualSnapshotsNonDefaultReportFolderName != null && programOptions.IndividualSnapshotsNonDefaultReportFolderName.Length > 0)
+ {
+ this.ReportFolderName = programOptions.IndividualSnapshotsNonDefaultReportFolderName;
+ }
}
#endregion
@@ -538,7 +550,7 @@ public FilePathMap(ProgramOptions programOptions, JobConfiguration jobConfigurat
public string StepTimingReportFilePath()
{
- return Path.Combine(this.ProgramOptions.OutputJobFolderPath, REPORT_FOLDER_NAME, TIMING_REPORT_FILE_NAME);
+ return Path.Combine(this.ProgramOptions.OutputJobFolderPath, this.ReportFolderName, TIMING_REPORT_FILE_NAME);
}
#endregion
@@ -905,14 +917,14 @@ public string ReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME);
+ this.ReportFolderName);
}
public string APMEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME);
}
@@ -920,7 +932,7 @@ public string APMApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_APPLICATIONS_FILE_NAME);
}
@@ -929,7 +941,7 @@ public string APMTiersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_TIERS_FILE_NAME);
}
@@ -938,7 +950,7 @@ public string APMNodesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_NODES_FILE_NAME);
}
@@ -947,7 +959,7 @@ public string APMNodeStartupOptionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_NODE_STARTUP_OPTIONS_FILE_NAME);
}
@@ -956,7 +968,7 @@ public string APMNodePropertiesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_NODE_PROPERTIES_FILE_NAME);
}
@@ -965,7 +977,7 @@ public string APMNodeEnvironmentVariablesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_NODE_ENVIRONMENT_VARIABLES_FILE_NAME);
}
@@ -974,7 +986,7 @@ public string APMBackendsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_BACKENDS_FILE_NAME);
}
@@ -983,7 +995,7 @@ public string APMMappedBackendsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_MAPPED_BACKENDS_FILE_NAME);
}
@@ -992,7 +1004,7 @@ public string APMBusinessTransactionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -1001,7 +1013,7 @@ public string APMOverflowBusinessTransactionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_OVERFLOW_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -1010,7 +1022,7 @@ public string APMServiceEndpointsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_SERVICE_ENDPOINTS_FILE_NAME);
}
@@ -1019,7 +1031,7 @@ public string APMErrorsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_ERRORS_FILE_NAME);
}
@@ -1028,7 +1040,7 @@ public string APMInformationPointsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_APM_FOLDER_NAME,
CONVERT_APM_INFORMATION_POINTS_FILE_NAME);
}
@@ -1042,7 +1054,7 @@ public string APMEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -1195,7 +1207,7 @@ public string WEBConfigurationReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_WEB_FOLDER_NAME);
}
@@ -1203,7 +1215,7 @@ public string WEBApplicationConfigurationReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_WEB_FOLDER_NAME,
CONVERT_CONFIG_WEB_SUMMARY_FILE_NAME);
}
@@ -1212,7 +1224,7 @@ public string WEBPageAjaxVirtualPageRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_WEB_FOLDER_NAME,
CONVERT_CONFIG_WEB_PAGE_RULES_FILE_NAME);
}
@@ -1221,7 +1233,7 @@ public string WEBSyntheticJobsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_WEB_FOLDER_NAME,
CONVERT_CONFIG_SYNTHETIC_JOB_DEFINITIONS_FILE_NAME);
}
@@ -1341,7 +1353,7 @@ public string WEBEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME);
}
@@ -1349,7 +1361,7 @@ public string WEBApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME,
CONVERT_WEB_APPLICATIONS_FILE_NAME);
}
@@ -1358,7 +1370,7 @@ public string WEBPagesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME,
CONVERT_WEB_PAGES_FILE_NAME);
}
@@ -1367,7 +1379,7 @@ public string WEBPageBusinessTransactionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME,
CONVERT_WEB_PAGE_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -1376,7 +1388,7 @@ public string WEBPageResourcesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME,
CONVERT_WEB_PAGE_RESOURCES_FILE_NAME);
}
@@ -1385,7 +1397,7 @@ public string WEBGeoLocationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_WEB_FOLDER_NAME,
CONVERT_WEB_GEO_LOCATIONS_FILE_NAME);
}
@@ -1399,7 +1411,7 @@ public string WEBEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -1486,7 +1498,7 @@ public string MOBILEConfigurationReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_MOBILE_FOLDER_NAME);
}
@@ -1494,7 +1506,7 @@ public string MOBILEApplicationConfigurationReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_MOBILE_FOLDER_NAME,
CONVERT_CONFIG_MOBILE_SUMMARY_FILE_NAME);
}
@@ -1503,7 +1515,7 @@ public string MOBILENetworkRequestRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_MOBILE_FOLDER_NAME,
CONVERT_CONFIG_MOBILE_NETWORK_REQUEST_RULES_FILE_NAME);
}
@@ -1586,7 +1598,7 @@ public string MOBILEEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_MOBILE_FOLDER_NAME);
}
@@ -1594,7 +1606,7 @@ public string MOBILEApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_MOBILE_FOLDER_NAME,
CONVERT_MOBILE_APPLICATIONS_FILE_NAME);
}
@@ -1603,7 +1615,7 @@ public string MOBILENetworkRequestsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_MOBILE_FOLDER_NAME,
CONVERT_NETWORK_REQUESTS_FILE_NAME);
}
@@ -1612,7 +1624,7 @@ public string MOBILENetworkRequestsBusinessTransactionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_MOBILE_FOLDER_NAME,
CONVERT_NETWORK_REQUEST_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -1626,7 +1638,7 @@ public string MOBILEEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -1891,7 +1903,7 @@ public string SIMEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME);
}
@@ -1899,7 +1911,7 @@ public string SIMApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_APPLICATIONS_FILE_NAME);
}
@@ -1908,7 +1920,7 @@ public string SIMTiersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_TIERS_FILE_NAME);
}
@@ -1917,7 +1929,7 @@ public string SIMNodesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_NODES_FILE_NAME);
}
@@ -1926,7 +1938,7 @@ public string SIMMachinesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINES_FILE_NAME);
}
@@ -1935,7 +1947,7 @@ public string SIMMachinePropertiesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_PROPERTIES_FILE_NAME);
}
@@ -1944,7 +1956,7 @@ public string SIMMachineCPUsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_CPUS_FILE_NAME);
}
@@ -1953,7 +1965,7 @@ public string SIMMachineVolumesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_VOLUMES_FILE_NAME);
}
@@ -1962,7 +1974,7 @@ public string SIMMachineNetworksReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_NETWORKS_FILE_NAME);
}
@@ -1971,7 +1983,7 @@ public string SIMMachineContainersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_CONTAINERS_FILE_NAME);
}
@@ -1980,7 +1992,7 @@ public string SIMMachineProcessesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_SIM_FOLDER_NAME,
CONVERT_SIM_MACHINE_PROCESSES_FILE_NAME);
}
@@ -1994,7 +2006,7 @@ public string SIMEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -2070,7 +2082,7 @@ public string DBConfigurationReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_DB_FOLDER_NAME);
}
@@ -2078,7 +2090,7 @@ public string DBApplicationConfigurationReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_DB_FOLDER_NAME,
CONVERT_CONFIG_DB_SUMMARY_FILE_NAME);
}
@@ -2087,7 +2099,7 @@ public string DBCollectorDefinitionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_DB_FOLDER_NAME,
CONVERT_CONFIG_DB_COLLECTOR_DEFINITIONS_FILE_NAME);
}
@@ -2096,7 +2108,7 @@ public string DBCustomMetricsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_DB_FOLDER_NAME,
CONVERT_CONFIG_DB_CUSTOM_METRICS_FILE_NAME);
}
@@ -2471,7 +2483,7 @@ public string DBEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME);
}
@@ -2479,7 +2491,7 @@ public string DBCollectorsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_COLLECTORS_FILE_NAME);
}
@@ -2488,7 +2500,7 @@ public string DBApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_APPLICATIONS_FILE_NAME);
}
@@ -2497,7 +2509,7 @@ public string DBWaitStatesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_WAIT_STATES_FILE_NAME);
}
@@ -2506,7 +2518,7 @@ public string DBQueriesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_QUERIES_FILE_NAME);
}
@@ -2515,7 +2527,7 @@ public string DBClientsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_CLIENTS_FILE_NAME);
}
@@ -2524,7 +2536,7 @@ public string DBSessionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_SESSIONS_FILE_NAME);
}
@@ -2533,7 +2545,7 @@ public string DBBlockingSessionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_BLOCKING_SESSIONS_FILE_NAME);
}
@@ -2542,7 +2554,7 @@ public string DBDatabasesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_DATABASES_FILE_NAME);
}
@@ -2551,7 +2563,7 @@ public string DBUsersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_USERS_FILE_NAME);
}
@@ -2560,7 +2572,7 @@ public string DBModulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_MODULES_FILE_NAME);
}
@@ -2569,7 +2581,7 @@ public string DBProgramsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_PROGRAMS_FILE_NAME);
}
@@ -2578,7 +2590,7 @@ public string DBBusinessTransactionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_DB_FOLDER_NAME,
CONVERT_DB_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -2592,7 +2604,7 @@ public string DBEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -2771,7 +2783,7 @@ public string BIQEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME);
}
@@ -2779,7 +2791,7 @@ public string BIQApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_APPLICATIONS_FILE_NAME);
}
@@ -2788,7 +2800,7 @@ public string BIQSearchesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_SEARCHES_FILE_NAME);
}
@@ -2797,7 +2809,7 @@ public string BIQWidgetsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_WIDGETS_FILE_NAME);
}
@@ -2806,7 +2818,7 @@ public string BIQMetricsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_METRICS_FILE_NAME);
}
@@ -2815,7 +2827,7 @@ public string BIQBusinessJourneysReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_BUSINESS_JOURNEYS_FILE_NAME);
}
@@ -2824,7 +2836,7 @@ public string BIQExperienceLevelsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_EXPERIENCE_LEVELS_FILE_NAME);
}
@@ -2833,7 +2845,7 @@ public string BIQSchemasReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_SCHEMAS_FILE_NAME);
}
@@ -2842,7 +2854,7 @@ public string BIQSchemaFieldsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_BIQ_FOLDER_NAME,
CONVERT_ANALYTICS_SCHEMA_FIELDS_FILE_NAME);
}
@@ -2856,7 +2868,7 @@ public string BIQEntitiesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -3071,7 +3083,7 @@ public string ControllerEntitiesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_FOLDER_NAME);
}
@@ -3079,7 +3091,7 @@ public string ControllerSettingsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_FOLDER_NAME);
}
@@ -3087,7 +3099,7 @@ public string ControllerDashboardsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
DASHBOARDS_FOLDER_NAME);
}
@@ -3095,7 +3107,7 @@ public string ControllerSummaryReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_FOLDER_NAME,
CONVERT_CONTROLLERS_SUMMARY_FILE_NAME);
}
@@ -3104,7 +3116,7 @@ public string ControllerApplicationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
ENTITIES_FOLDER_NAME,
CONVERT_CONTROLLER_APPLICATIONS_FILE_NAME);
}
@@ -3113,7 +3125,7 @@ public string ControllerSettingsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_FOLDER_NAME,
CONVERT_CONTROLLER_SETTINGS_FILE_NAME);
}
@@ -3122,7 +3134,7 @@ public string HTTPTemplatesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_FOLDER_NAME,
CONVERT_HTTP_TEMPLATES_FILE_NAME);
}
@@ -3131,7 +3143,7 @@ public string EmailTemplatesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_FOLDER_NAME,
CONVERT_EMAIL_TEMPLATES_FILE_NAME);
}
@@ -3140,7 +3152,7 @@ public string DashboardsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
DASHBOARDS_FOLDER_NAME,
CONVERT_DASHBOARDS_FILE_NAME);
}
@@ -3149,7 +3161,7 @@ public string DashboardWidgetsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
DASHBOARDS_FOLDER_NAME,
CONVERT_DASHBOARD_WIDGETS_FILE_NAME);
}
@@ -3158,7 +3170,7 @@ public string DashboardMetricSeriesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
DASHBOARDS_FOLDER_NAME,
CONVERT_DASHBOARD_WIDGET_DATA_SERIES_FILE_NAME);
}
@@ -3172,7 +3184,7 @@ public string DashboardsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -3359,7 +3371,7 @@ public string ControllerLicensesReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME);
}
@@ -3367,7 +3379,7 @@ public string LicenseAccountReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSE_ACCOUNT_FILE_NAME);
}
@@ -3376,7 +3388,7 @@ public string LicensesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSES_FILE_NAME);
}
@@ -3385,7 +3397,7 @@ public string LicenseRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSE_RULES_FILE_NAME);
}
@@ -3394,7 +3406,7 @@ public string LicenseRuleScopesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSE_RULE_SCOPES_FILE_NAME);
}
@@ -3403,7 +3415,7 @@ public string LicenseUsageAccountReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSE_USAGE_ACCOUNT_FILE_NAME);
}
@@ -3412,7 +3424,7 @@ public string LicenseUsageRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
LICENSE_FOLDER_NAME,
CONVERT_LICENSE_USAGE_RULES_FILE_NAME);
}
@@ -3426,7 +3438,7 @@ public string LicensesExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -3663,7 +3675,7 @@ public string ApplicationConfigurationReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME);
}
@@ -3671,7 +3683,7 @@ public string ApplicationConfigurationHealthRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME,
CONVERT_CONFIG_HEALTH_RULES_SUMMARY_FILE_NAME);
}
@@ -3680,7 +3692,7 @@ public string ApplicationHealthRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME,
CONVERT_CONFIG_HEALTH_RULES_FILE_NAME);
}
@@ -3689,7 +3701,7 @@ public string ApplicationPoliciesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME,
CONVERT_CONFIG_POLICIES_FILE_NAME);
}
@@ -3698,7 +3710,7 @@ public string ApplicationActionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME,
CONVERT_CONFIG_ACTIONS_FILE_NAME);
}
@@ -3707,7 +3719,7 @@ public string ApplicationPolicyActionMappingsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_ALL_APPLICATIONS_FOLDER_NAME,
CONVERT_CONFIG_POLICY_ACTION_MAPPING_FILE_NAME);
}
@@ -4097,7 +4109,7 @@ public string APMConfigurationReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME);
}
@@ -4105,7 +4117,7 @@ public string APMApplicationConfigurationReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_APM_SUMMARY_FILE_NAME);
}
@@ -4114,7 +4126,7 @@ public string APMBusinessTransactionDiscoveryRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BUSINESS_TRANSACTION_DISCOVERY_RULES_FILE_NAME);
}
@@ -4123,7 +4135,7 @@ public string APMBusinessTransactionEntryRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BUSINESS_TRANSACTION_ENTRY_RULES_FILE_NAME);
}
@@ -4132,7 +4144,7 @@ public string APMServiceEndpointDiscoveryRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_SERVICE_ENDPOINT_DISCOVERY_RULES_FILE_NAME);
}
@@ -4141,7 +4153,7 @@ public string APMServiceEndpointEntryRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_SERVICE_ENDPOINT_ENTRY_RULES_FILE_NAME);
}
@@ -4150,7 +4162,7 @@ public string APMBusinessTransactionEntryScopesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BUSINESS_TRANSACTION_ENTRY_SCOPES_FILE_NAME);
}
@@ -4159,7 +4171,7 @@ public string APMBusinessTransactionEntryRules20ReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BUSINESS_TRANSACTION_ENTRY_RULES_2_0_FILE_NAME);
}
@@ -4168,7 +4180,7 @@ public string APMBusinessTransactionDiscoveryRules20ReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BUSINESS_TRANSACTION_DISCOVERY_RULES_2_0_FILE_NAME);
}
@@ -4177,7 +4189,7 @@ public string APMBackendDiscoveryRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_BACKEND_DISCOVERY_RULES_FILE_NAME);
}
@@ -4186,7 +4198,7 @@ public string APMCustomExitRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_CUSTOM_EXIT_RULES_FILE_NAME);
}
@@ -4195,7 +4207,7 @@ public string APMAgentConfigurationPropertiesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_AGENT_CONFIGURATION_PROPERTIES_FILE_NAME);
}
@@ -4204,7 +4216,7 @@ public string APMInformationPointRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_INFORMATION_POINT_RULES_FILE_NAME);
}
@@ -4213,7 +4225,7 @@ public string APMBusinessTransactionConfigurationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ENTITY_BUSINESS_TRANSACTIONS_FILE_NAME);
}
@@ -4222,7 +4234,7 @@ public string APMTierConfigurationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ENTITY_TIERS_FILE_NAME);
}
@@ -4231,7 +4243,7 @@ public string APMMethodInvocationDataCollectorsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_METHOD_INVOCATION_DATA_COLLECTORS_FILE_NAME);
}
@@ -4240,7 +4252,7 @@ public string APMHttpDataCollectorsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_HTTP_DATA_COLLECTORS_FILE_NAME);
}
@@ -4249,7 +4261,7 @@ public string APMAgentCallGraphSettingsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_AGENT_CALL_GRAPH_SETTINGS_FILE_NAME);
}
@@ -4258,7 +4270,7 @@ public string APMDeveloperModeNodesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_DEVELOPER_MODE_NODES_FILE_NAME);
}
@@ -4267,7 +4279,7 @@ public string APMErrorDetectionRulesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_RULES_FILE_NAME);
}
@@ -4276,7 +4288,7 @@ public string APMErrorDetectionIgnoreMessagesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_IGNORE_MESSAGES_FILE_NAME);
}
@@ -4285,7 +4297,7 @@ public string APMErrorDetectionIgnoreLoggersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_IGNORE_LOGGERS_FILE_NAME);
}
@@ -4294,7 +4306,7 @@ public string APMErrorDetectionLoggersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_LOGGERS_FILE_NAME);
}
@@ -4303,7 +4315,7 @@ public string APMErrorDetectionHTTPCodesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_HTTP_CODES_FILE_NAME);
}
@@ -4312,7 +4324,7 @@ public string APMErrorDetectionRedirectPagesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_APM_FOLDER_NAME,
CONVERT_CONFIG_ERROR_DETECTION_REDIRECT_PAGES_FILE_NAME);
}
@@ -4326,7 +4338,7 @@ public string ConfigurationExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -4395,7 +4407,7 @@ public string ConfigurationComparisonReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_COMPARISON_FOLDER_NAME);
}
@@ -4403,7 +4415,7 @@ public string ConfigurationComparisonReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONFIGURATION_COMPARISON_FOLDER_NAME,
CONFIGURATION_DIFFERENCES_FILE_NAME);
}
@@ -4449,7 +4461,7 @@ public string ControllerHealthCheckReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
HEALTHCHECK_FOLDER_NAME);
}
@@ -4457,7 +4469,7 @@ public string APMHealthCheckReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
HEALTHCHECK_APM_FOLDER_NAME);
}
@@ -4465,7 +4477,7 @@ public string ControllerHealthCheckRuleResultsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
HEALTHCHECK_FOLDER_NAME,
CONVERT_CONTROLLER_HEALTH_CHECK_RULE_RESULTS_FILE_NAME);
}
@@ -4474,7 +4486,7 @@ public string APMHealthCheckRuleResultsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
HEALTHCHECK_APM_FOLDER_NAME,
CONVERT_APM_HEALTH_CHECK_RULE_RESULTS_FILE_NAME);
}
@@ -4488,7 +4500,7 @@ public string HealthCheckResultsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -4695,7 +4707,7 @@ public string UsersGroupsRolesPermissionsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME);
}
@@ -4708,7 +4720,7 @@ public string UsersGroupsRolesPermissionsExcelReportFilePath(JobTimeRange jobTim
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -4716,7 +4728,7 @@ public string UsersReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_USERS_FILE_NAME);
}
@@ -4725,7 +4737,7 @@ public string GroupsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_GROUPS_FILE_NAME);
}
@@ -4734,7 +4746,7 @@ public string RolesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_ROLES_FILE_NAME);
}
@@ -4743,7 +4755,7 @@ public string PermissionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_PERMISSIONS_FILE_NAME);
}
@@ -4752,7 +4764,7 @@ public string GroupMembershipsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_GROUP_MEMBERSHIPS_FILE_NAME);
}
@@ -4761,7 +4773,7 @@ public string RoleMembershipsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_ROLE_MEMBERSHIPS_FILE_NAME);
}
@@ -4770,7 +4782,7 @@ public string UserPermissionsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_USER_PERMISSIONS_FILE_NAME);
}
@@ -4779,7 +4791,7 @@ public string RBACControllerSummaryReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
CONTROLLER_RBAC_FOLDER_NAME,
CONVERT_CONTROLLER_RBAC_SUMMARY_FILE_NAME);
}
@@ -4793,7 +4805,7 @@ public string RBACExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -4909,7 +4921,7 @@ public string MetricsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_METRICS_FOLDER_NAME);
}
@@ -4921,7 +4933,7 @@ public string EntitiesFullReportFilePath(string entityFolderName)
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_METRICS_FOLDER_NAME,
reportFileName);
}
@@ -4934,7 +4946,7 @@ public string EntitiesHourReportFilePath(string entityFolderName)
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_METRICS_FOLDER_NAME,
reportFileName);
}
@@ -4948,7 +4960,7 @@ public string MetricReportFilePath(string entityFolderName, string metricEntityS
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_METRICS_FOLDER_NAME,
reportFileName);
}
@@ -4962,7 +4974,7 @@ public string MetricReportPerAppFilePath(JobTarget jobTarget, string entityFolde
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(jobTarget.Application, jobTarget.ApplicationID),
APM_METRICS_FOLDER_NAME,
@@ -4979,7 +4991,7 @@ public string EntityMetricsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -5003,7 +5015,7 @@ public string EntityTypeMetricGraphsExcelReportFilePath(APMEntityBase entity, Jo
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(entity.ApplicationName, entity.ApplicationID),
entity.FolderName,
@@ -5275,7 +5287,7 @@ public string ActivityGridReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME);
}
@@ -5287,7 +5299,7 @@ public string ApplicationsFlowmapReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5300,7 +5312,7 @@ public string ApplicationsFlowmapPerMinuteReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5313,7 +5325,7 @@ public string TiersFlowmapReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5326,7 +5338,7 @@ public string NodesFlowmapReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5339,7 +5351,7 @@ public string BackendsFlowmapReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5352,7 +5364,7 @@ public string BusinessTransactionsFlowmapReportFilePath()
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_ACTIVITYGRID_FOLDER_NAME,
reportFileName);
}
@@ -5366,7 +5378,7 @@ public string FlowmapsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -5617,7 +5629,7 @@ public string ApplicationEventsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_APPS_FOLDER_NAME);
}
@@ -5625,7 +5637,7 @@ public string ControllerEventsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_CONTROLLER_FOLDER_NAME);
}
@@ -5633,7 +5645,7 @@ public string ApplicationHealthRuleViolationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_APPS_FOLDER_NAME,
CONVERT_APPLICATION_HEALTH_RULE_EVENTS_FILE_NAME);
}
@@ -5642,7 +5654,7 @@ public string ApplicationEventsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_APPS_FOLDER_NAME,
CONVERT_APPLICATION_EVENTS_FILE_NAME);
}
@@ -5651,7 +5663,7 @@ public string ApplicationEventDetailsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_APPS_FOLDER_NAME,
CONVERT_APPLICATION_EVENTS_DETAILS_FILE_NAME);
}
@@ -5660,7 +5672,7 @@ public string AuditEventsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_CONTROLLER_FOLDER_NAME,
CONVERT_CONTROLLER_AUDIT_EVENTS_FILE_NAME);
}
@@ -5669,7 +5681,7 @@ public string NotificationsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_CONTROLLER_FOLDER_NAME,
CONVERT_CONTROLLER_NOTIFICATIONS_FILE_NAME);
}
@@ -5678,7 +5690,7 @@ public string ApplicationEventsSummaryReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
EVENTS_APPS_FOLDER_NAME,
CONVERT_APPLICATION_EVENTS_SUMMARY_FILE_NAME);
}
@@ -5692,7 +5704,7 @@ public string EventsAndHealthRuleViolationsExcelReportFilePath(JobTimeRange jobT
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -6252,7 +6264,7 @@ public string SnapshotsReportFolderPath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME);
}
@@ -6260,7 +6272,7 @@ public string SnapshotsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_FILE_NAME);
}
@@ -6269,7 +6281,7 @@ public string SnapshotsSegmentsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_FILE_NAME);
}
@@ -6278,7 +6290,7 @@ public string SnapshotsExitCallsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_EXIT_CALLS_FILE_NAME);
}
@@ -6287,16 +6299,16 @@ public string SnapshotsServiceEndpointCallsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_SERVICE_ENDPOINTS_CALLS_FILE_NAME);
}
- public string SnapshotsDetectedErrorsCallsReportFilePath()
+ public string SnapshotsDetectedErrorsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_DETECTED_ERRORS_FILE_NAME);
}
@@ -6305,7 +6317,7 @@ public string SnapshotsBusinessDataReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_BUSINESS_DATA_FILE_NAME);
}
@@ -6314,7 +6326,7 @@ public string SnapshotsMethodCallLinesReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_SNAPSHOTS_SEGMENTS_METHOD_CALL_LINES_FILE_NAME);
}
@@ -6323,11 +6335,228 @@ public string ApplicationSnapshotsReportFilePath()
{
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
APM_SNAPSHOTS_FOLDER_NAME,
CONVERT_APPLICATION_SNAPSHOTS_SUMMARY_FILE_NAME);
}
+ public string SnapshotReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotSegmentsReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotExitCallsReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_EXIT_CALLS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_EXIT_CALLS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotServiceEndpointCallsReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_SERVICE_ENDPOINTS_CALLS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_SERVICE_ENDPOINTS_CALLS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotDetectedErrorsReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_DETECTED_ERRORS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_DETECTED_ERRORS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotBusinessDataReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_BUSINESS_DATA_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_BUSINESS_DATA_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+ public string SnapshotMethodCallLinesReportFilePath(Snapshot snapshot, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ APM_SNAPSHOTS_FOLDER_NAME,
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_METHOD_CALL_LINES_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID,
+ CONVERT_SNAPSHOTS_SEGMENTS_METHOD_CALL_LINES_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
public string SnapshotsExcelReportFilePath(JobTimeRange jobTimeRange)
{
string reportFileName = String.Format(
@@ -6337,7 +6566,7 @@ public string SnapshotsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -6350,7 +6579,22 @@ public string SnapshotMethodCallsExcelReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
+ reportFileName);
+ }
+
+ public string SnapshotExcelReportFilePath(Snapshot snapshot)
+ {
+ string reportFileName = String.Format(
+ REPORT_SNAPSHOT_FILE_NAME,
+ getFileSystemSafeString(getControllerNameForFileSystem(snapshot.Controller)),
+ getShortenedEntityNameForFileSystem(snapshot.ApplicationName, snapshot.ApplicationID),
+ getShortenedEntityNameForFileSystem(snapshot.TierName, snapshot.TierID),
+ getShortenedEntityNameForFileSystem(snapshot.BTName, snapshot.BTID),
+ snapshot.RequestID);
+ return Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
reportFileName);
}
@@ -6472,7 +6716,7 @@ public string ApplicationsLinksReportFilePath(JobTimeRange jobTimeRange)
jobTimeRange.To);
return Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportFileName);
}
@@ -6484,7 +6728,7 @@ public string ApplicationDashboardLinksReportFilePath(APMApplication application
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(application.Controller)),
getShortenedEntityNameForFileSystem(application.ApplicationName, application.ApplicationID),
REPORT_APPLICATION_DASHBOARDS_FILE_NAME);
@@ -6566,7 +6810,7 @@ public string EntityDashboardScreenshotReportFilePath(APMEntityBase entity, bool
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
reportRelativeFilePath);
}
else
@@ -6590,6 +6834,38 @@ public string FlameGraphTemplateFilePath()
FLAME_GRAPH_TEMPLATE_FILE_NAME);
}
+ public string ApplicationFlameGraphsLinksTemplateFilePath()
+ {
+ return Path.Combine(
+ this.ProgramOptions.ProgramLocationFolderPath,
+ LINKS_TO_APPLICATION_FLAMEGRAPHSS_TEMPLATE_FILE_NAME);
+ }
+
+ public string ApplicationFlameGraphsLinksReportFilePath(APMApplication application, bool absolutePath)
+ {
+ string reportFilePath = String.Empty;
+
+ if (absolutePath == true)
+ {
+ reportFilePath = Path.Combine(
+ this.ProgramOptions.OutputJobFolderPath,
+ this.ReportFolderName,
+ getFileSystemSafeString(getControllerNameForFileSystem(application.Controller)),
+ getShortenedEntityNameForFileSystem(application.ApplicationName, application.ApplicationID),
+ REPORT_APPLICATION_FLAMEGRAPHS_FILE_NAME);
+ }
+ else
+ {
+ reportFilePath = Path.Combine(
+ getFileSystemSafeString(getControllerNameForFileSystem(application.Controller)),
+ getShortenedEntityNameForFileSystem(application.ApplicationName, application.ApplicationID),
+ REPORT_APPLICATION_FLAMEGRAPHS_FILE_NAME);
+ }
+
+ return reportFilePath;
+ }
+
+
public string FlameGraphReportFilePath(APMEntityBase entity, JobTarget jobTarget, JobTimeRange jobTimeRange, bool absolutePath)
{
string reportFileName = String.Empty;
@@ -6641,7 +6917,7 @@ public string FlameGraphReportFilePath(APMEntityBase entity, JobTarget jobTarget
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(entity.ApplicationName, entity.ApplicationID),
entity.FolderName,
@@ -6711,7 +6987,7 @@ public string FlameChartReportFilePath(APMEntityBase entity, JobTarget jobTarget
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(entity.ApplicationName, entity.ApplicationID),
entity.FolderName,
@@ -6816,7 +7092,7 @@ public string EntityMetricAndDetailExcelReportFilePath(APMEntityBase entity, Job
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(entity.ApplicationName, entity.ApplicationID),
entity.FolderName,
@@ -6858,7 +7134,7 @@ public string ApplicationSummaryWordReportFilePath(JobTarget jobTarget, JobTimeR
{
reportFilePath = Path.Combine(
this.ProgramOptions.OutputJobFolderPath,
- REPORT_FOLDER_NAME,
+ this.ReportFolderName,
getFileSystemSafeString(getControllerNameForFileSystem(jobTarget.Controller)),
getShortenedEntityNameForFileSystem(jobTarget.Application, jobTarget.ApplicationID),
reportFileName);
diff --git a/ProcessingSteps/Index/IndexAPMEntities.cs b/ProcessingSteps/Index/IndexAPMEntities.cs
index 0131481..d626281 100644
--- a/ProcessingSteps/Index/IndexAPMEntities.cs
+++ b/ProcessingSteps/Index/IndexAPMEntities.cs
@@ -75,9 +75,9 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
List nodesRESTList = FileIOHelper.LoadListOfObjectsFromFile(FilePathMap.APMNodesDataFilePath(jobTarget));
List nodesList = null;
- List entityNodeStartupOptionsList = null;
- List entityNodePropertiesList = null;
- List entityNodeEnvironmentVariablesList = null;
+ List entityNodesStartupOptionsList = null;
+ List entityNodesPropertiesList = null;
+ List entityNodesEnvironmentVariablesList = null;
if (nodesRESTList != null)
{
loggerConsole.Info("Index List of Nodes and Node Properties ({0} entities)", nodesRESTList.Count);
@@ -85,46 +85,64 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
stepTimingTarget.NumEntities = stepTimingTarget.NumEntities + nodesRESTList.Count;
nodesList = new List(nodesRESTList.Count);
- entityNodeStartupOptionsList = new List(nodesRESTList.Count * 25);
- entityNodePropertiesList = new List(nodesRESTList.Count * 25);
- entityNodeEnvironmentVariablesList = new List(nodesRESTList.Count * 25);
+ entityNodesStartupOptionsList = new List(nodesRESTList.Count * 25);
+ entityNodesPropertiesList = new List(nodesRESTList.Count * 25);
+ entityNodesEnvironmentVariablesList = new List(nodesRESTList.Count * 25);
foreach (AppDRESTNode nodeREST in nodesRESTList)
{
+ List entityNodeStartupOptionsList = new List(25);
+ List entityNodePropertiesList = new List(25);
+ List entityNodeEnvironmentVariablesList = new List(25);
+
+ #region Parse node basics
+
APMNode node = new APMNode();
+ node.Controller = jobTarget.Controller;
+ node.ApplicationName = jobTarget.Application;
+ node.ApplicationID = jobTarget.ApplicationID;
+ node.AgentType = nodeREST.agentType;
+ node.TierName = nodeREST.tierName;
+ node.TierID = nodeREST.tierId;
+ node.NodeName = nodeREST.name;
node.NodeID = nodeREST.id;
+ node.MachineName = nodeREST.machineName;
+ node.MachineID = nodeREST.machineId;
node.AgentPresent = nodeREST.appAgentPresent;
- node.AgentType = nodeREST.agentType;
node.AgentVersion = nodeREST.appAgentVersion;
- node.ApplicationName = jobTarget.Application;
- node.ApplicationID = jobTarget.ApplicationID;
- node.Controller = jobTarget.Controller;
node.MachineAgentPresent = nodeREST.machineAgentPresent;
node.MachineAgentVersion = nodeREST.machineAgentVersion;
- node.MachineID = nodeREST.machineId;
- node.MachineName = nodeREST.machineName;
node.MachineOSType = nodeREST.machineOSType;
- node.NodeName = nodeREST.name;
- node.TierID = nodeREST.tierId;
- node.TierName = nodeREST.tierName;
node.MachineType = nodeREST.type;
if (node.AgentVersion != String.Empty)
{
// Java agent looks like that
- //Server Agent v4.2.3.2 GA #12153 r13c5eb6a7acbfea4d6da465a3ae47412715e26fa 59-4.2.3.next-build
- //Server Agent v3.7.16.0 GA #2014-02-26_21-19-08 raf61d5f54753290c983f95173e74e6865f6ad123 130-3.7.16
- //Server Agent v4.2.7.1 GA #13005 rc04adaef4741dbb8f2e7c206bdb2a6614046798a 11-4.2.7.next-analytics
- //Server Agent v4.0.6.0 GA #2015-05-11_20-44-33 r7cb8945756a0779766bf1b4c32e49a96da7b8cfe 10-4.0.6.next
- //Server Agent v3.8.3.0 GA #2014-06-06_17-06-05 r34b2744775df248f79ffb2da2b4515b1f629aeb5 7-3.8.3.next
- //Server Agent v3.9.3.0 GA #2014-09-23_22-14-15 r05918cd8a4a8a63504a34f0f1c85511e207049b3 20-3.9.3.next
- //Server Agent v4.1.7.1 GA #9949 ra4a2721d52322207b626e8d4c88855c846741b3d 18-4.1.7.next-build
- //Server Agent v3.7.11.1 GA #2013-10-23_17-07-44 r41149afdb8ce39025051c25382b1cf77e2a7fed0 21
- //Server Agent v4.1.8.5 GA #10236 r8eca32e4695e8f6a5902d34a66bfc12da1e12241 45-4.1.8.next-controller
- //Server Agent v4.4.2 GA #4.4.2.22394 rnull null
+ // Server Agent v4.2.3.2 GA #12153 r13c5eb6a7acbfea4d6da465a3ae47412715e26fa 59-4.2.3.next-build
+ // Server Agent v3.7.16.0 GA #2014-02-26_21-19-08 raf61d5f54753290c983f95173e74e6865f6ad123 130-3.7.16
+ // Server Agent v4.2.7.1 GA #13005 rc04adaef4741dbb8f2e7c206bdb2a6614046798a 11-4.2.7.next-analytics
+ // Server Agent v4.0.6.0 GA #2015-05-11_20-44-33 r7cb8945756a0779766bf1b4c32e49a96da7b8cfe 10-4.0.6.next
+ // Server Agent v3.8.3.0 GA #2014-06-06_17-06-05 r34b2744775df248f79ffb2da2b4515b1f629aeb5 7-3.8.3.next
+ // Server Agent v3.9.3.0 GA #2014-09-23_22-14-15 r05918cd8a4a8a63504a34f0f1c85511e207049b3 20-3.9.3.next
+ // Server Agent v4.1.7.1 GA #9949 ra4a2721d52322207b626e8d4c88855c846741b3d 18-4.1.7.next-build
+ // Server Agent v3.7.11.1 GA #2013-10-23_17-07-44 r41149afdb8ce39025051c25382b1cf77e2a7fed0 21
+ // Server Agent v4.1.8.5 GA #10236 r8eca32e4695e8f6a5902d34a66bfc12da1e12241 45-4.1.8.next-controller
+ // Server Agent v4.4.2 GA #4.4.2.22394 rnull null
+ // Server Agent #20.4.0.29862 v20.4.0 GA compatible with 4.4.1.0 r23226cf913828e244d2d32691aac97efccf39724 release/20.4.0
+
// Apache agent looks like this
// Proxy v4.2.5.1 GA SHA-1:.ad6c804882f518b3350f422489866ea2008cd664 #13146 35-4.2.5.next-build
+ // .NET agent looks like this
+ // 20.4.1 compatible with 4.4.1.0
+ // 4.5.1.0 compatible with 4.4.1.0
+ // 4.5.13.0 compatible with 4.4.1.0
+ // 4.5.14.0 compatible with 4.4.1.0
+
+ // .NET Core agent looks like that
+ // 20.4.1 compatible with 4.4.1.0
+ // 4.5.17.0 compatible with 4.4.1.0
+
Regex regexVersion = new Regex(@"(?i)(\d*\.\d*\.\d*(\.\d*)?).*", RegexOptions.IgnoreCase);
Match match = regexVersion.Match(node.AgentVersion);
if (match != null)
@@ -169,6 +187,10 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
updateEntityWithDeeplinks(node);
updateEntityWithEntityDetailAndFlameGraphLinks(node, jobTarget, jobConfiguration.Input.TimeRange);
+ #endregion
+
+ #region Parse extra properties
+
// Node properties (JVM Tab)
JObject nodeProperties = FileIOHelper.LoadJObjectFromFile(FilePathMap.APMNodeRuntimePropertiesDataFilePath(jobTarget, nodeREST));
if (nodeProperties != null)
@@ -211,15 +233,50 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (optionValueAdjusted.Length > 0)
{
+ nodePropertyRow.PropValue = String.Empty;
+
string[] optionValueAdjustedTokens = optionValueAdjusted.Split(new char[] { '=', ':' });
if (optionValueAdjustedTokens.Length > 0)
{
nodePropertyRow.PropName = optionValueAdjustedTokens[0];
}
- if (optionValueAdjustedTokens.Length > 1)
+ if (optionValueAdjustedTokens.Length == 2)
{
nodePropertyRow.PropValue = optionValueAdjustedTokens[1];
}
+ else if (optionValueAdjustedTokens.Length > 2)
+ {
+ nodePropertyRow.PropValue = optionValueAdjusted.Substring(optionValueAdjustedTokens[0].Length + 1);
+ }
+
+ // Adjust for + and - in front of the value
+ // Those break Excel by making it think it is a formula
+ // Prefixing it with space suffices
+ if (nodePropertyRow.PropValue.StartsWith("+") == true || nodePropertyRow.PropValue.StartsWith("-") == true)
+ {
+ nodePropertyRow.PropValue = String.Format(" {0}", nodePropertyRow.PropValue);
+ }
+
+ // Parse out well known properties for memory sizes
+ if (nodePropertyRow.PropName.StartsWith("Xmx", StringComparison.InvariantCultureIgnoreCase) == true ||
+ nodePropertyRow.PropName.StartsWith("Xms", StringComparison.InvariantCultureIgnoreCase) == true ||
+ nodePropertyRow.PropName.StartsWith("Xmn", StringComparison.InvariantCultureIgnoreCase) == true ||
+ nodePropertyRow.PropName.StartsWith("Xss", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ nodePropertyRow.PropValue = nodePropertyRow.PropName.Substring(3);
+ nodePropertyRow.PropName = nodePropertyRow.PropName.Substring(0, 3);
+ }
+
+ // Parse out the XX: properties
+ if (String.Compare(nodePropertyRow.PropName, "XX", true) == 0)
+ {
+ optionValueAdjustedTokens = nodePropertyRow.PropValue.Split('=');
+ if (optionValueAdjustedTokens.Length >= 2)
+ {
+ nodePropertyRow.PropName = String.Format("{0}:{1}", nodePropertyRow.PropName, optionValueAdjustedTokens[0]);
+ nodePropertyRow.PropValue = nodePropertyRow.PropValue.Substring(optionValueAdjustedTokens[0].Length + 1);
+ }
+ }
}
else
{
@@ -230,6 +287,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
entityNodeStartupOptionsList.Add(nodePropertyRow);
}
}
+
if (isTokenPropertyNull(nodeProperties, "latestVmSystemProperties") == false)
{
node.NumProperties = nodeProperties["latestVmSystemProperties"].Count();
@@ -251,6 +309,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
entityNodePropertiesList.Add(nodePropertyRow);
}
}
+
if (isTokenPropertyNull(nodeProperties, "latestEnvironmentVariables") == false)
{
node.NumEnvVariables = nodeProperties["latestEnvironmentVariables"].Count();
@@ -302,19 +361,676 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
}
}
+ #endregion
+
+ #region Analyze properties for extra information
+
+ // Parse some versions and properties into Agent-specific lists
+ // Things like VM properties, Container types, Startup parameters, etc
+
+ #region Loop through each of 3 types of extra properties to populate well known properties to columns
+
+ // Parse important java VM properties
+ foreach (APMNodeProperty nodeProp in entityNodePropertiesList)
+ {
+ switch (nodeProp.PropName.ToLower())
+ {
+ case "java.class.path":
+ node.ClassPath = nodeProp.PropValue;
+ break;
+ case "java.class.version":
+ node.ClassVersion = nodeProp.PropValue;
+ break;
+ case "java.home":
+ node.Home = nodeProp.PropValue;
+ break;
+ case "java.runtime.name":
+ node.RuntimeName = nodeProp.PropValue;
+ break;
+ case "java.runtime.version":
+ node.RuntimeVersion = nodeProp.PropValue;
+ break;
+ case "java.vendor":
+ node.Vendor = nodeProp.PropValue;
+ break;
+ case "java.vendor.version":
+ node.VendorVersion = nodeProp.PropValue;
+ break;
+ case "java.version":
+ node.Version = nodeProp.PropValue;
+ break;
+ case "java.vm.info":
+ node.VMInfo = nodeProp.PropValue;
+ break;
+ case "java.vm.name":
+ node.VMName = nodeProp.PropValue;
+ break;
+ case "java.vm.vendor":
+ node.VMVendor = nodeProp.PropValue;
+ break;
+ case "java.vm.version":
+ node.VMVersion = nodeProp.PropValue;
+ break;
+ case "os.arch":
+ node.OSArchitecture = nodeProp.PropValue;
+ break;
+ case "os.name":
+ node.OSName = nodeProp.PropValue;
+ break;
+ case "os.version":
+ node.OSVersion = nodeProp.PropValue;
+ break;
+ case "dotnet-os-ver":
+ node.OSVersion = nodeProp.PropValue;
+ if (node.OSVersion.Contains("windows") == true || node.OSVersion.Contains("Windows") == true)
+ {
+ node.OSName = "Windows";
+ }
+ break;
+ case "process-identity":
+ node.UserName = nodeProp.PropValue;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // Parse important java startup properties
+ // https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
+ foreach (APMNodeProperty nodeProp in entityNodeStartupOptionsList)
+ {
+ double parsedValue = -1;
+ switch (nodeProp.PropName.ToLower())
+ {
+ case "xmn":
+ case "xx:newsize":
+ //-Xmnsize
+ //Sets the initial and maximum size (in bytes) of the heap for the young generation (nursery). Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes.
+ //The young generation region of the heap is used for new objects. GC is performed in this region more often than in other regions. If the size for the young generation is too small, then a lot of minor garbage collections will be performed. If the size is too large, then only full garbage collections will be performed, which can take a long time to complete. Oracle recommends that you keep the size for the young generation between a half and a quarter of the overall heap size.
+ //The following examples show how to set the initial and maximum size of young generation to 256 MB using various units:
+ //-Xmn256m
+ //-Xmn262144k
+ //-Xmn268435456
+ //Instead of the -Xmn option to set both the initial and maximum size of the heap for the young generation, you can use -XX:NewSize to set the initial size and -XX:MaxNewSize to set the maximum size.
+ //-XX:NewSize=size
+ //Sets the initial size (in bytes) of the heap for the young generation (nursery). Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes.
+ //The young generation region of the heap is used for new objects. GC is performed in this region more often than in other regions. If the size for the young generation is too low, then a large number of minor GCs will be performed. If the size is too high, then only full GCs will be performed, which can take a long time to complete. Oracle recommends that you keep the size for the young generation between a half and a quarter of the overall heap size.
+ //The following examples show how to set the initial size of young generation to 256 MB using various units:
+ //-XX:NewSize=256m
+ //-XX:NewSize=262144k
+ //-XX:NewSize=268435456
+ //The -XX:NewSize option is equivalent to -Xmn.
+ parsedValue = convertValueSettingFromJavaStartupMemoryParameterToMB(nodeProp.PropValue);
+ if (parsedValue >= 0) node.HeapYoungInitialSizeMB = parsedValue;
+ break;
+ case "xx:maxnewsize":
+ //-XX:MaxNewSize=size
+ //Sets the maximum size (in bytes) of the heap for the young generation (nursery). The default value is set ergonomically.
+ parsedValue = convertValueSettingFromJavaStartupMemoryParameterToMB(nodeProp.PropValue);
+ if (parsedValue >= 0) node.HeapYoungMaxSizeMB = parsedValue;
+ break;
+ case "xms":
+ //-Xmssize
+ //Sets the initial size(in bytes) of the heap.This value must be a multiple of 1024 and greater than 1 MB.Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes.
+ //The following examples show how to set the size of allocated memory to 6 MB using various units:
+ //-Xms6291456
+ //-Xms6144k
+ //-Xms6m
+ //If you do not set this option, then the initial size will be set as the sum of the sizes allocated for the old generation and the young generation.The initial size of the heap for the young generation can be set using the -Xmn option or the -XX:NewSize option.
+ parsedValue = convertValueSettingFromJavaStartupMemoryParameterToMB(nodeProp.PropValue);
+ if (parsedValue >= 0) node.HeapInitialSizeMB = parsedValue;
+ break;
+ case "xmx":
+ case "xx:maxheapsize":
+ //-Xmxsize
+ //Specifies the maximum size(in bytes) of the memory allocation pool in bytes.This value must be a multiple of 1024 and greater than 2 MB.Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes.The default value is chosen at runtime based on system configuration.For server deployments, -Xms and - Xmx are often set to the same value.See the section "Ergonomics" in Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide at http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html.
+ //The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:
+ //-Xmx83886080
+ //-Xmx81920k
+ //-Xmx80m
+ //The -Xmx option is equivalent to -XX:MaxHeapSize.
+ parsedValue = convertValueSettingFromJavaStartupMemoryParameterToMB(nodeProp.PropValue);
+ if (parsedValue >= 0) node.HeapMaxSizeMB = parsedValue;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // Parse important environment properties
+ foreach (APMNodeProperty nodeProp in entityNodeEnvironmentVariablesList)
+ {
+ switch (nodeProp.PropName.ToLower())
+ {
+ case "computername":
+ case "hostname":
+ case "host_name":
+ node.OSComputerName = nodeProp.PropValue;
+ break;
+
+ case "number_of_processors":
+ int numOfProcessors;
+ if (Int32.TryParse(nodeProp.PropValue, out numOfProcessors) == true)
+ {
+ node.OSNumberOfProcs = numOfProcessors;
+ }
+ break;
+
+ case "os":
+ if (node.OSName == null || node.OSName.Length == 0 ) node.OSName = nodeProp.PropValue;
+ break;
+ case "processor_architecture":
+ node.OSArchitecture = nodeProp.PropValue;
+ break;
+
+ case "processor_identifier":
+ node.OSProcessorType = nodeProp.PropValue;
+ break;
+
+ case "processor_revision":
+ node.OSProcessorRevision = nodeProp.PropValue;
+ break;
+
+ case "user":
+ case "username":
+ if (node.UserName == null || node.UserName.Length == 0) node.UserName = nodeProp.PropValue;
+ break;
+
+ case "domain":
+ case "userdomain":
+ node.Domain = nodeProp.PropValue;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ #endregion
+
+ #region Container Orchestration Runtime
+
+ // Pivotal Cloud Foundry
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("CF_INSTANCE_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Pivotal Cloud Foundry evidence:
+ //PropName PropValue
+ //CF_INSTANCE_ADDR 10.60.5.5:60538
+ //CF_INSTANCE_GUID 13b0a99c - 4eea - 4800 - 7720 - fc9b
+ //CF_INSTANCE_INDEX 2
+ //CF_INSTANCE_INTERNAL_IP 10.254.0.70
+ //CF_INSTANCE_IP 10.60.5.5
+ //CF_INSTANCE_PORT 60538
+ //CF_INSTANCE_PORTS[{ "external":60538,"internal":8080}]
+
+ node.ContainerRuntimeType = "Pivotal Cloud Foundry (PCF)";
+ }
+ // Kubernetes
+ else if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("KUBERNETES_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Kubernetes evidence:
+ //PropName PropValue
+ //KUBERNETES_PORT tcp://10.76.0.1:443
+ //KUBERNETES_PORT_443_TCP tcp://10.76.0.1:443
+ //KUBERNETES_PORT_443_TCP_ADDR 10.76.0.1
+ //KUBERNETES_PORT_443_TCP_PORT 443
+ //KUBERNETES_PORT_443_TCP_PROTO tcp
+ //KUBERNETES_PORT_53_TCP tcp://10.76.0.1:53
+ //KUBERNETES_PORT_53_TCP_ADDR 10.76.0.1
+ //KUBERNETES_PORT_53_TCP_PORT 53
+ //KUBERNETES_PORT_53_TCP_PROTO tcp
+ //KUBERNETES_PORT_53_UDP udp://10.76.0.1:53
+ //KUBERNETES_PORT_53_UDP_ADDR 10.76.0.1
+ //KUBERNETES_PORT_53_UDP_PORT 53
+ //KUBERNETES_PORT_53_UDP_PROTO udp
+
+ node.ContainerRuntimeType = "Kubernetes (K8S)";
+ }
+ // Openshift
+ else if (entityNodeEnvironmentVariablesList.Count(e => e.PropName == "OPENSHIFT_OH_WHAT_ARE_YOU") == 1)
+ {
+ // OpenShift evidence:
+ // Per SME, there isn't an easy way to get openshift evidence!
+
+ node.ContainerRuntimeType = "OpenShift (OSCP)";
+ }
+
+ #endregion
+
+ #region Cloud Host
+
+ // AWS
+ APMNodeProperty nodePropAWS_Region = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("AWS_REGION", StringComparison.InvariantCultureIgnoreCase) || e.PropName.Equals("AWS_REGION_NAME", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropAWS_Region != null)
+ {
+ // AWS Evidence
+ //AWS_REGION us-gov-west-1
+ //AWS_REGION_NAME us-west-2
+ node.CloudHostType = "AWS";
+ node.CloudRegion = nodePropAWS_Region.PropValue;
+ }
+
+ // Azure
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("APPSETTING_", StringComparison.InvariantCultureIgnoreCase) == true) > 0 ||
+ entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("AZURE_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Azure Evidence
+ //APPSETTING_AZURE_CLIENT_ID
+ //3eb5ee34-818f-484e-8d4b-1abced4846b0
+ //46b1a514-3d1b-4e67-9eb7-095b7cd6a66c
+ //APPSETTING_AZURE_CLIENT_SECRET
+ //Xlkjasdlkjasdlkasjdalskjda
+ //aslkdjalkdjaslkdsalkdasj
+ //APPSETTING_AZURE_TENANT_ID
+ //46080c3d-3ac0-45d5-bdb0-f66e64e4bef9
+ //APPSETTING_AzureWebJobs.HttpGetServiceRequestTrigger.Disabled
+ //APPSETTING_AzureWebJobs.HttpGetServicesRequestTrigger.Disabled
+ //APPSETTING_AzureWebJobs.HttpPingTrigger.Disabled
+ //APPSETTING_AzureWebJobs.HttpPostServicesRequestTrigger.Disabled
+ //APPSETTING_AzureWebJobs.ServiceRequestQueueTrigger.Disabled
+ //APPSETTING_AzureWebJobsDashboard
+ //APPSETTING_AzureWebJobsStorage
+ //AZURE_JETTY9_CMDLINE
+ //AZURE_JETTY9_HOME
+ //AZURE_JETTY93_CMDLINE
+ //AZURE_JETTY93_HOME
+ //AZURE_TOMCAT7_CMDLINE
+ //AZURE_TOMCAT7_HOME
+ //AZURE_TOMCAT8_CMDLINE
+ //AZURE_TOMCAT8_HOME
+ //AZURE_TOMCAT85_CMDLINE
+ //AZURE_TOMCAT85_HOME
+ //AZURE_TOMCAT90_CMDLINE
+ //AZURE_TOMCAT90_HOME
+
+ node.CloudHostType = "Azure";
+ }
+ APMNodeProperty nodePropAzure_Region = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("REGION_NAME", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropAzure_Region != null)
+ {
+ // Azure Evidence
+ //REGION_NAME Central US
+ node.CloudHostType = "Azure";
+ node.CloudRegion = nodePropAzure_Region.PropValue;
+ }
+
+ if (node.OSComputerName != null && (node.CloudHostType == null || node.CloudHostType.Length == 0))
+ {
+ // Azure Evidence
+ //RD00155DA01778
+ // Red Dog is the codename of Azure from back in a day
+ if (node.OSComputerName.StartsWith("RD00", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ node.CloudHostType = "Azure";
+ }
+ }
+
+ // GCP
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("GCLOUD_", StringComparison.InvariantCultureIgnoreCase) == true) >0 ||
+ entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("GCP_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ node.CloudHostType = "GCP";
+ }
+ // Can't use Contains() since it complains like that
+ // https://stackoverflow.com/questions/41415458/why-does-dynamic-tostring-return-something-between-a-string-and-not-a-string/41415574#41415574
+ // will use indexof
+ else if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.IndexOf("GKE_", StringComparison.InvariantCultureIgnoreCase) >= 0) > 0)
+ {
+ node.CloudHostType = "GCP";
+ }
+
+ APMNodeProperty nodePropGCP_Region = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("FUNCTION_REGION", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropGCP_Region != null)
+ {
+ // GCP Evidence
+ //???
+ node.CloudHostType = "GCP";
+ node.CloudRegion = nodePropGCP_Region.PropValue;
+ }
+
+ #endregion
+
+ #region Container Type
+
+ switch (node.AgentType)
+ {
+ case "APP_AGENT":
+ // Determine Tomcat, JBoss, IBM Websphere, Oracle WebLogic, IBM Sterling
+ // Long tail: Oracle Glassfish, Jetty, SAP NetWeaver
+
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("CATALINA_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Tomcat evidence:
+ //CATALINA_BASE
+ //CATALINA_HOME
+ //CATALINA_OPTS
+ //CATALINA_PID
+ node.WebHostContainerType = "Tomcat Catalina";
+ }
+ else if (entityNodePropertiesList.Count(e => e.PropName.StartsWith("catalina.", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Tomcat evidence:
+ //catalina.base
+ //catalina.home
+ node.WebHostContainerType = "Tomcat Catalina";
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ APMNodeProperty nodePropJBossHome = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("JBOSS_HOME", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropJBossHome != null)
+ {
+ // JBoss evidence:
+ //JBOSS_HOME
+ // Wildfly/EAP evidence - contents of the home path. Not precise but good enough
+ if (nodePropJBossHome.PropValue.IndexOf("wildfly", StringComparison.InvariantCultureIgnoreCase) >= 0)
+ {
+ node.WebHostContainerType = "JBoss Wildfly";
+ }
+ else if (nodePropJBossHome.PropValue.IndexOf("eap", StringComparison.InvariantCultureIgnoreCase) >= 0)
+ {
+ node.WebHostContainerType = "JBoss EAP";
+ }
+ else
+ {
+ node.WebHostContainerType = "JBoss";
+ }
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ APMNodeProperty nodePropWASHome = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("WAS_HOME", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropWASHome != null)
+ {
+ // WebSphere Application Server:
+ //WAS_HOME
+ //was.install.root
+ if (nodePropWASHome.PropValue.IndexOf("websphere", StringComparison.InvariantCultureIgnoreCase) >= 0)
+ {
+ node.WebHostContainerType = "IBM WebSphere";
+ }
+ else
+ {
+ if (entityNodePropertiesList.Count(e => e.PropName.Equals("was.install.root", StringComparison.InvariantCultureIgnoreCase)) > 0)
+ {
+ node.WebHostContainerType = "IBM WebSphere";
+ }
+ else
+ {
+ node.WebHostContainerType = "IBM WebSphere ?";
+ }
+ }
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.Equals("WL_HOME", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Weblogic
+ //WL_HOME
+ node.WebHostContainerType = "Oracle WebLogic";
+ }
+ else if (entityNodePropertiesList.Count(e => e.PropName.StartsWith("weblogic.", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Weblogic
+ //weblogic.classloader.preprocessor,weblogic.diagnostics.instrumentation.DiagnosticClassPreProcessor,569,4909,2101477
+ //weblogic.management.server,http://10.102.121.238:8099,569,4909,2101477
+ //weblogic.Name,ABCDEFTG,569,4909,2101477
+ //weblogic.nodemanager.ServiceEnabled,true,569,4909,2101477
+ //weblogic.ReverseDNSAllowed,false,569,4909,2101477
+ //weblogic.security.SSL.ignoreHostnameVerification,false,569,4909,2101477
+ //weblogic.system.BootIdentityFile,/apps/ouapps/managed_server/prd/weblogic/....
+ node.WebHostContainerType = "Oracle WebLogic";
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ APMNodeProperty nodePropIBMJavaHome = entityNodeEnvironmentVariablesList.Where(e => e.PropName.Equals("IBM_JAVA_COMMAND_LINE", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropIBMJavaHome != null)
+ {
+ // IBM Sterling Commerce
+ //IBM_JAVA_COMMAND_LINE /opt/ibm/mft/si/jdk/bin/java -d64 -javaagent:/opt/AppD/AppServerAgent-ibm-4.5.11.26665/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true -Dappdynamics.http.proxyHost=forcepoint.corp.internal.citizensbank.com -Dappdynamics.http.proxyPort=80 -Dappdynamics.agent.uniqueHostId=lsfgrib00001001 -Dappdynamics.agent.applicationName=IBM-MFT-PROD -Dappdynamics.agent.tierName=B2BI_ActiveMQ_EPOC -Dappdynamics.agent.nodeName=ActiveMQ_P_lsfgrib00001001 -Djava.io.tmpdir=/opt/ibm/mft/si/tmp -XX:CompileCommandFile=.hotspot_compiler -d64 -Doracle.jdbc.maxCachedBufferSize=21 -Doracle.jdbc.maxCachedBufferSize=21 -Dssh.maxWindowSpace=4194304 -Dcom.certicom.tls.record.maximumPaddingLength=0 -Dsun.rmi.dgc.server.gcInterval=900000 -Dsun.rmi.dgc.client.gcInterval=900000 -Dmaverick.enableBCProvider=false -Xms2048m -Xmx2048m -Dvendor=shell -DvendorFile=/opt/ibm/mft/si/properties/servers.properties -Dactivemq.base=/opt/ibm/mft/si/activemq -Djava.security.auth.login.config=/opt/ibm/mft/si/activemq/conf/login.conf -classpath /opt/ibm/mft/si/jar/bootstrapper.jar com.sterlingcommerce.woodstock.noapp.NoAppLoader -f /opt/ibm/mft/si/properties/ACTIVEMQDynamicclasspath.cfg -class com.sterlingcommerce.jms.activemq.SCIBrokerFactory -invokeargs /opt/ibm/mft/si/activemq/conf/activemqconfig.xml activemq.txt
+ if (nodePropIBMJavaHome.PropValue.IndexOf("sterling", StringComparison.InvariantCultureIgnoreCase) >= 0)
+ {
+ node.WebHostContainerType = "IBM Sterling";
+ }
+ }
+
+ break;
+
+ case "DOT_NET_APP_AGENT":
+ // Parse .NET Version
+ if (node.AgentRuntime != null && node.AgentRuntime.Length > 0)
+ {
+ //clr.version=.NET Core 2.0.9|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1
+ //clr.version=.NET Core 2.2.8|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.3.1-1
+ //clr.version=.NET Core 2.2.8|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1
+ //clr.version=.NET Core 3.0.3|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1
+ //clr.version=.NET Core 3.0.3|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.5.0-0
+ //clr.version=.NET Core 3.1.3|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1
+ //clr.version=.NET Core 3.1.4|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1
+ //clr.version=.NET Core 3.1.4|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.5.0-0
+ //clr.version=.NET Framework v4.0.30319|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.3.1-1||clr.releasekey=461814
+ //clr.version=.NET Framework v4.0.30319|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.4.1-1||clr.releasekey=461814
+ //clr.version=.NET Framework v4.0.30319|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.5.0-0||clr.releasekey=461814
+ //clr.version=3.0.3|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.5.18.1|clr.releasekey=461814
+ //clr.version=4.0.30319.42000|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.5.14.0|clr.releasekey=461814
+ //clr.version=.NET Framework v4.0.30319|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=20.5.0-0||clr.releasekey=461814
+ //clr.version=2.0.50727.8810|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.4.3.0|clr.releasekey=394271
+ //clr.version=2.0.50727.8813|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.4.3.0|clr.releasekey=394271
+ //clr.version=2.0.50727.8813|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.4.3.0|clr.releasekey=461814
+ //clr.version=2.0.50727.8813|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.5.1.0|clr.releasekey=379893
+ //clr.version=4.0.30319.36627|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.5.1.0|clr.releasekey=379893
+ //clr.version=4.0.30319.42000|agent.version.assemblyversion=1.0.0.0|agent.version.fileversion=4.4.3.0|clr.releasekey=394271
+
+ node.RuntimeName = "Common Language Runtime";
+ node.Vendor = "Microsoft";
+ node.VMVendor = "Microsoft";
+
+ string[] agentRuntimeTokens = node.AgentRuntime.Split('|');
+ foreach (string agentRuntimeToken in agentRuntimeTokens)
+ {
+ if (agentRuntimeToken.StartsWith("clr.version", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ string[] versionTokens = agentRuntimeToken.Split('=');
+ if (versionTokens.Length > 1)
+ {
+ string potentialVersion = versionTokens[1];
+ if (potentialVersion.StartsWith(".NET Core", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ node.VMVersion = "5.0";
+ node.VMName = ".NET Core";
+ }
+ else if (potentialVersion.StartsWith(".NET Framework", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ node.VMName = ".NET Full";
+ }
+
+ // Parse version
+ Regex regexVersion = new Regex(@"(?i)(\d*\.\d*\.\d*(\.\d*)?).*", RegexOptions.IgnoreCase);
+ Match match = regexVersion.Match(potentialVersion);
+ if (match != null)
+ {
+ if (match.Groups.Count > 1)
+ {
+ node.Version = match.Groups[1].Value;
+ }
+ }
+
+ // Decide what kind of runtime is it
+ // https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies
+ // https://en.wikipedia.org/wiki/.NET_Framework_version_history
+ // https://jonathanparker.wordpress.com/2014/12/05/list-of-net-framework-versions/
+ if (node.Version.StartsWith("1.0.3705") == true)
+ {
+ node.VMVersion = "1.0";
+ node.RuntimeVersion = "1.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (node.Version.StartsWith("1.1.4322") == true)
+ {
+ node.VMVersion = "1.1";
+ node.RuntimeVersion = "1.1";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (node.Version.StartsWith("2.0.50727") == true)
+ {
+ node.VMVersion = "2.0";
+ node.RuntimeVersion = "2.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (node.Version.StartsWith("3.0.4506") == true)
+ {
+ node.VMVersion = "2.0";
+ node.RuntimeVersion = "3.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (
+ node.Version.StartsWith("3.5.21022") == true ||
+ node.Version.StartsWith("3.5.30428") == true ||
+ node.Version.StartsWith("3.5.30729") == true)
+ {
+ node.VMVersion = "2.0";
+ node.RuntimeVersion = "3.5";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (
+ node.Version.StartsWith("4.0.30319") == true ||
+ node.Version.StartsWith("4.5.50709") == true)
+ {
+ node.VMVersion = "4.0";
+ node.RuntimeVersion = "4.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (
+ node.Version.StartsWith("4.6") == true ||
+ node.Version.StartsWith("4.7") == true ||
+ node.Version.StartsWith("4.8") == true)
+ {
+ node.VMVersion = "4.0";
+ node.RuntimeVersion = "4.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Full";
+ }
+ else if (
+ node.Version.StartsWith("2.") == true ||
+ node.Version.StartsWith("3.") == true)
+ {
+ node.VMVersion = "5.0";
+ node.RuntimeVersion = "5.0";
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Core";
+ }
+
+ // Assume .NET Core if we haven't caught the VM name
+ if (node.VMName == null || node.VMName.Length == 0) node.VMName = ".NET Core";
+ }
+ }
+ }
+
+ //.NET Core 3.1+ (v4.0.30319)
+ //.NET Core 2.2 (v4.0.30319)
+ if (node.Version == null || node.Version.Length == 0)
+ {
+ if (node.AgentRuntime.StartsWith(".NET Core", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ node.VMVersion = "5.0";
+ node.VMName = ".NET Core";
+
+ // Parse version
+ Regex regexVersion = new Regex(@"(?i)(\d*\.\d*\.\d*(\.\d*)?).*", RegexOptions.IgnoreCase);
+ Match match = regexVersion.Match(node.AgentRuntime);
+ if (match != null)
+ {
+ if (match.Groups.Count > 1)
+ {
+ node.Version = match.Groups[1].Value;
+ }
+ }
+ }
+ }
+ }
+
+ if (entityNodePropertiesList.Count(e => e.PropName.StartsWith("iis-", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // IIS Evidence
+ //iis-application-id
+ //iis-physical-path
+ //iis-site-name
+ //iis-version
+ //iis-virtual-path
+ if (node.CloudHostType == "Azure")
+ {
+ node.WebHostContainerType = "Azure App Service (IIS)";
+ }
+ else
+ {
+ node.WebHostContainerType = "Internet Information Services (IIS)";
+ }
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ APMNodeProperty nodePropAppDomain = entityNodePropertiesList.Where(e => e.PropName.Equals("appdomain", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ if (nodePropAppDomain != null)
+ {
+ if (nodePropAppDomain.PropValue.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase) == true)
+ {
+ if (node.CloudHostType == "Azure")
+ {
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("WEBJOBS_", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ node.WebHostContainerType = "Azure WebJob Executable";
+ }
+ else
+ {
+ node.WebHostContainerType = "Standalone Executable in Azure";
+ }
+ }
+ else
+ {
+ node.WebHostContainerType = "Standalone Executable";
+ }
+ }
+ }
+
+ if (node.WebHostContainerType != null && node.WebHostContainerType.Length > 0) break;
+
+ if (entityNodeEnvironmentVariablesList.Count(e => e.PropName.StartsWith("Fabric", StringComparison.InvariantCultureIgnoreCase) == true) > 0)
+ {
+ // Service Fabric evidence
+ //PropName PropValue
+ //FabricBinRoot C:\Program Files\Windows Fabric\bin
+ //FabricCodePath C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0
+ //FabricDataRoot C:\ProgramData\Windows Fabric\
+ //FabricRoot C:\Program Files\Windows Fabric\
+ node.WebHostContainerType = "Service Fabric";
+ }
+
+ break;
+
+ default:
+ break;
+ }
+
+ #endregion
+
+ #endregion
+
nodesList.Add(node);
+ entityNodesStartupOptionsList.AddRange(entityNodeStartupOptionsList);
+ entityNodesPropertiesList.AddRange(entityNodePropertiesList);
+ entityNodesEnvironmentVariablesList.AddRange(entityNodeEnvironmentVariablesList);
}
// Sort them
nodesList = nodesList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ToList();
- entityNodeStartupOptionsList = entityNodeStartupOptionsList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
- entityNodePropertiesList = entityNodePropertiesList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
- entityNodeEnvironmentVariablesList = entityNodeEnvironmentVariablesList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
+ entityNodesStartupOptionsList = entityNodesStartupOptionsList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
+ entityNodesPropertiesList = entityNodesPropertiesList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
+ entityNodesEnvironmentVariablesList = entityNodesEnvironmentVariablesList.OrderBy(o => o.TierName).ThenBy(o => o.NodeName).ThenBy(o => o.PropName).ToList();
FileIOHelper.WriteListToCSVFile(nodesList, new APMNodeReportMap(), FilePathMap.APMNodesIndexFilePath(jobTarget));
- FileIOHelper.WriteListToCSVFile(entityNodeStartupOptionsList, new APMNodePropertyReportMap(), FilePathMap.APMNodeStartupOptionsIndexFilePath(jobTarget));
- FileIOHelper.WriteListToCSVFile(entityNodePropertiesList, new APMNodePropertyReportMap(), FilePathMap.APMNodePropertiesIndexFilePath(jobTarget));
- FileIOHelper.WriteListToCSVFile(entityNodeEnvironmentVariablesList, new APMNodePropertyReportMap(), FilePathMap.APMNodeEnvironmentVariablesIndexFilePath(jobTarget));
+ FileIOHelper.WriteListToCSVFile(entityNodesStartupOptionsList, new APMNodePropertyReportMap(), FilePathMap.APMNodeStartupOptionsIndexFilePath(jobTarget));
+ FileIOHelper.WriteListToCSVFile(entityNodesPropertiesList, new APMNodePropertyReportMap(), FilePathMap.APMNodePropertiesIndexFilePath(jobTarget));
+ FileIOHelper.WriteListToCSVFile(entityNodesEnvironmentVariablesList, new APMNodePropertyReportMap(), FilePathMap.APMNodeEnvironmentVariablesIndexFilePath(jobTarget));
}
#endregion
@@ -625,7 +1341,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
error.ErrorType = APMError.ENTITY_TYPE;
// Do some analysis of the error type based on their name
- if (error.ErrorName.IndexOf("exception", 0, StringComparison.OrdinalIgnoreCase) >= 0)
+ if (error.ErrorName.IndexOf("exception", 0, StringComparison.InvariantCultureIgnoreCase) >= 0)
{
error.ErrorType = "Exception";
}
@@ -1123,7 +1839,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
}
}
- return true;
+ return true;
}
catch (Exception ex)
{
@@ -1174,5 +1890,73 @@ private void updateEntityWithEntityDetailAndFlameGraphLinks(APMEntityBase entity
entity.FlameChartLink = String.Format(@"=HYPERLINK(""{0}"", """")", FilePathMap.FlameChartReportFilePath(entity, jobTarget, jobTimeRange, false));
entity.MetricGraphLink = String.Format(@"=HYPERLINK(""{0}"", """")", FilePathMap.EntityTypeMetricGraphsExcelReportFilePath(entity, jobTarget, jobTimeRange, false));
}
+
+ ///
+ /// https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
+ /// If you are expected to specify the size in bytes, you can use no suffix, or use the suffix k or K for kilobytes (KB), m or M for megabytes (MB),
+ /// g or G for gigabytes (GB). For example, to set the size to 8 GB, you can specify either 8g, 8192m, 8388608k, or 8589934592 as the argument.
+ ///
+ /// Value from Xmx or Xms java param
+ /// Numeric value in megabytes
+ private double convertValueSettingFromJavaStartupMemoryParameterToMB(string memorySettingString)
+ {
+ if (memorySettingString != null && memorySettingString.Length > 0)
+ {
+ string suffix = memorySettingString.Substring(memorySettingString.Length - 1, 1);
+ string memorySettingValueWithoutSuffix = memorySettingString.Substring(0, memorySettingString.Length - 1);
+
+ long memorySettingValueBytes = -1;
+ long memorySettingValueNumeric;
+ switch (suffix)
+ {
+ case "k":
+ case "K":
+ // Value in kilobytes
+ if (Int64.TryParse(memorySettingValueWithoutSuffix, out memorySettingValueNumeric) == true)
+ {
+ memorySettingValueBytes = memorySettingValueNumeric * 1024;
+ }
+ break;
+ case "m":
+ case "M":
+ // Value in megabytes
+ if (Int64.TryParse(memorySettingValueWithoutSuffix, out memorySettingValueNumeric) == true)
+ {
+ memorySettingValueBytes = memorySettingValueNumeric * 1024 * 1024;
+ }
+ break;
+ case "g":
+ case "G":
+ // Value in gigabytes
+ if (Int64.TryParse(memorySettingValueWithoutSuffix, out memorySettingValueNumeric) == true)
+ {
+ memorySettingValueBytes = memorySettingValueNumeric * 1024 * 1024 * 1024;
+ }
+ break;
+ default:
+ // Value must be numeric, and in bytes
+ if (Int64.TryParse(memorySettingString, out memorySettingValueNumeric) == true)
+ {
+ memorySettingValueBytes = memorySettingValueNumeric;
+ }
+ break;
+ }
+
+ // Convert to megabytes
+ if (memorySettingValueBytes != -1)
+ {
+ double memorySettingValueMegabytes = Math.Round((double)memorySettingValueBytes / 1048576, 2);
+ return memorySettingValueMegabytes;
+ }
+ else
+ {
+ return -1;
+ }
+ }
+ else
+ {
+ return -1;
+ }
+ }
}
}
diff --git a/ProcessingSteps/Index/IndexAPMMetrics.cs b/ProcessingSteps/Index/IndexAPMMetrics.cs
index d658814..839fa3f 100644
--- a/ProcessingSteps/Index/IndexAPMMetrics.cs
+++ b/ProcessingSteps/Index/IndexAPMMetrics.cs
@@ -1680,6 +1680,12 @@ private List readMetricValuesIntoEntity(APMEntityBase entity, strin
case METRIC_CPM_FULLNAME:
entity.CPM = (long)Math.Round((double)((double)metricValues.Sum(mv => mv.Sum) / (double)timerangeDuration), 0);
entity.Calls = metricValues.Sum(mv => mv.Sum);
+ if (Double.IsInfinity(entity.ErrorsPercentage) == true)
+ {
+ // Timing issue! If CPM was read before EPM, then the percentage wouldn't be calculated and the value will be recalculatedhere
+ entity.ErrorsPercentage = Math.Round((double)(double)entity.Errors / (double)entity.Calls * 100, 2);
+ if (Double.IsNaN(entity.ErrorsPercentage) == true) entity.ErrorsPercentage = 0;
+ }
break;
case METRIC_EPM_FULLNAME:
diff --git a/ProcessingSteps/Index/IndexAPMSnapshots.cs b/ProcessingSteps/Index/IndexAPMSnapshots.cs
index 8cb4c09..47030f5 100644
--- a/ProcessingSteps/Index/IndexAPMSnapshots.cs
+++ b/ProcessingSteps/Index/IndexAPMSnapshots.cs
@@ -500,7 +500,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
}
if (File.Exists(FilePathMap.SnapshotsDetectedErrorsIndexFilePath(jobTarget)) == true && new FileInfo(FilePathMap.SnapshotsDetectedErrorsIndexFilePath(jobTarget)).Length > 0)
{
- FileIOHelper.AppendTwoCSVFiles(FilePathMap.SnapshotsDetectedErrorsCallsReportFilePath(), FilePathMap.SnapshotsDetectedErrorsIndexFilePath(jobTarget));
+ FileIOHelper.AppendTwoCSVFiles(FilePathMap.SnapshotsDetectedErrorsReportFilePath(), FilePathMap.SnapshotsDetectedErrorsIndexFilePath(jobTarget));
}
if (File.Exists(FilePathMap.SnapshotsBusinessDataIndexFilePath(jobTarget)) == true && new FileInfo(FilePathMap.SnapshotsBusinessDataIndexFilePath(jobTarget)).Length > 0)
{
diff --git a/ProcessingSteps/JobStepBase.cs b/ProcessingSteps/JobStepBase.cs
index 6a26629..4279d44 100644
--- a/ProcessingSteps/JobStepBase.cs
+++ b/ProcessingSteps/JobStepBase.cs
@@ -359,7 +359,7 @@ internal List getMetricsExtractMappingList(JobConfiguratio
List entityMetricExtractMappingList = FileIOHelper.ReadListFromCSVFile(FilePathMap.EntityMetricExtractMappingFilePath(), new MetricExtractMappingReportMap());
List entityMetricExtractMappingListFiltered = new List(entityMetricExtractMappingList.Count);
- foreach (string metricSet in jobConfiguration.Input.MetricsSelectionCriteria)
+ foreach (string metricSet in jobConfiguration.Input.MetricsSelectionCriteria.MetricSets)
{
List entityMetricExtractMappingListForMetricSet = entityMetricExtractMappingList.Where(m => m.MetricSet == metricSet).ToList();
if (entityMetricExtractMappingListForMetricSet != null)
diff --git a/ProcessingSteps/JobStepRouter.cs b/ProcessingSteps/JobStepRouter.cs
index a42bedb..0908a89 100644
--- a/ProcessingSteps/JobStepRouter.cs
+++ b/ProcessingSteps/JobStepRouter.cs
@@ -108,6 +108,8 @@ public class JobStepRouter
JobStatus.ReportAPMEntityDashboardScreenshots,
+ JobStatus.ReportAPMIndividualSnapshots,
+
// Done
JobStatus.Done,
@@ -148,7 +150,6 @@ public static void ExecuteJobThroughSteps(ProgramOptions programOptions)
}
if (jobConfiguration.Input.SnapshotSelectionCriteria != null)
{
- PropertyInfo[] pis = jobConfiguration.Input.SnapshotSelectionCriteria.TierTypes.GetType().GetProperties();
logger.Info("Job input, SnapshotSelectionCriteria: Tiers='{0}', TierTypes='{1}'",
String.Join(",", jobConfiguration.Input.SnapshotSelectionCriteria.Tiers),
String.Join(",", jobConfiguration.Input.SnapshotSelectionCriteria.TierTypes));
@@ -380,6 +381,8 @@ private static JobStepBase getJobStepFromFactory(JobStatus jobStatus)
return new ReportAPMSnapshotsMethodCallLines();
case JobStatus.ReportAPMFlameGraphs:
return new ReportAPMFlameGraphs();
+ case JobStatus.ReportAPMIndividualSnapshots:
+ return new ReportAPMIndividualSnapshots();
case JobStatus.ReportAPMEntityDetails:
return new ReportAPMEntityDetails();
diff --git a/ProcessingSteps/Report/JobStepReportBase.cs b/ProcessingSteps/Report/JobStepReportBase.cs
index b3fd59e..c4f2c8e 100644
--- a/ProcessingSteps/Report/JobStepReportBase.cs
+++ b/ProcessingSteps/Report/JobStepReportBase.cs
@@ -243,15 +243,19 @@ internal static void fillTableOfContentsSheet(ExcelWorksheet sheet, ExcelPackage
sheet.Cells[1, 2].Value = "# Entities";
sheet.Cells[1, 3].Value = "Link";
int rowNum = 1;
- foreach (ExcelWorksheet s in excelReport.Workbook.Worksheets)
+ foreach (ExcelWorksheet sheetInWorkbook in excelReport.Workbook.Worksheets)
{
rowNum++;
- sheet.Cells[rowNum, 1].Value = s.Name;
- sheet.Cells[rowNum, 3].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", s.Name);
+ sheet.Cells[rowNum, 1].Value = sheetInWorkbook;
+ sheet.Cells[rowNum, 3].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", sheetInWorkbook.Name);
sheet.Cells[rowNum, 3].StyleName = "HyperLinkStyle";
- if (s.Tables.Count > 0)
+ if (sheetInWorkbook.Tables.Count > 0)
{
- sheet.Cells[rowNum, 2].Value = s.Tables[0].Address.Rows - 1;
+ sheet.Cells[rowNum, 2].Value = sheetInWorkbook.Tables[0].Address.Rows - 1;
+ }
+ else if(sheetInWorkbook.PivotTables.Count > 0)
+ {
+ sheet.Cells[rowNum, 2].Value = String.Format("{0} rows x {1} columns x {2} filters", sheetInWorkbook.PivotTables[0].RowFields.Count, sheetInWorkbook.PivotTables[0].ColumnFields.Count, sheetInWorkbook.PivotTables[0].PageFields.Count);
}
}
ExcelRangeBase range = sheet.Cells[1, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
diff --git a/ProcessingSteps/Report/ReportAPMEntities.cs b/ProcessingSteps/Report/ReportAPMEntities.cs
index 57bb779..cf0331e 100644
--- a/ProcessingSteps/Report/ReportAPMEntities.cs
+++ b/ProcessingSteps/Report/ReportAPMEntities.cs
@@ -26,6 +26,9 @@ public class ReportAPMEntities : JobStepReportBase
private const string SHEET_NODES_LIST = "7.Nodes";
private const string SHEET_NODES_TYPE_APPAGENT_PIVOT = "7.Nodes.Type.AppAgent";
private const string SHEET_NODES_TYPE_MACHINEAGENT_PIVOT = "7.Nodes.Type.MachineAgent";
+ private const string SHEET_NODES_HOST_TYPE = "7.Nodes.Host.Type";
+ private const string SHEET_NODES_HEAP_SIZE = "7.Nodes.Heap.Size";
+ private const string SHEET_NODES_RUNTIME_VERSION = "7.Nodes.Runtime.Version";
private const string SHEET_NODE_STARTUP_OPTIONS_LIST = "8.Node Startup Options";
private const string SHEET_NODE_STARTUP_OPTIONS_TYPE_PIVOT = "8.Node Startup Options.Type";
private const string SHEET_NODE_STARTUP_OPTIONS_LOCATION_PIVOT = "8.Node Startup Options.Location";
@@ -73,6 +76,9 @@ public class ReportAPMEntities : JobStepReportBase
private const string PIVOT_TIERS_TYPE = "p_TiersType";
private const string PIVOT_NODES_APPAGENT_TYPE = "p_NodesTypeAppAgent";
private const string PIVOT_NODES_MACHINEAGENT_TYPE = "p_NodesTypeMachineAgent";
+ private const string PIVOT_NODES_HOST_TYPE = "p_NodesTypeHost";
+ private const string PIVOT_NODES_HEAP_SIZE = "p_NodesHeapSize";
+ private const string PIVOT_NODES_RUNTIME_VERSION = "p_NodesRuntimeVersion";
private const string PIVOT_NODE_STARTUP_OPTIONS_TYPE = "p_NodeStartupOptionsType";
private const string PIVOT_NODE_STARTUP_OPTIONS_LOCATION = "p_NodeStartupOptionsLocation";
private const string PIVOT_NODE_PROPERTIES_TYPE = "p_NodePropertiesType";
@@ -94,18 +100,14 @@ public class ReportAPMEntities : JobStepReportBase
private const string GRAPH_TIERS_TYPE = "g_TiersType";
private const string GRAPH_NODES_APPAGENT_TYPE = "g_NodesTypeAppAgent";
private const string GRAPH_NODES_MACHINEAGENT_TYPE = "g_NodesTypeMachineAgent";
- private const string GRAPH_NODE_STARTUP_OPTIONS_TYPE = "g_NodeStartupOptionsType";
- private const string GRAPH_NODE_STARTUP_OPTIONS_LOCATION = "g_NodeStartupOptionsLocation";
- private const string GRAPH_NODE_PROPERTIES_TYPE = "g_NodePropertiesType";
- private const string GRAPH_NODE_PROPERTIES_LOCATION = "g_NodePropertiesLocation";
- private const string GRAPH_NODE_ENVIRONMENT_VARIABLES_TYPE = "g_NodeEnvironmentVariablesType";
- private const string GRAPH_NODE_ENVIRONMENT_VARIABLES_LOCATION = "g_NodeEnvironmentVariablesLocation";
+ private const string GRAPH_NODES_HOST_TYPE = "g_NodesTypeHost";
+ private const string GRAPH_NODES_HEAP_SIZE = "g_NodesHeapSize";
+ private const string GRAPH_NODES_RUNTIME_VERSION = "g_NodesRuntimeVersion";
private const string GRAPH_BACKENDS_TYPE = "g_BackendsType";
private const string GRAPH_BUSINESS_TRANSACTIONS_TYPE = "g_BusinessTransactionsType";
private const string GRAPH_SERVICE_ENDPOINTS_TYPE = "g_ServiceEndpointsType";
private const string GRAPH_ERRORS_TYPE = "g_ErrorsType";
private const string GRAPH_INFORMATION_POINTS_TYPE = "g_InformationPointsType";
- private const string GRAPH_MAPPED_BACKENDS_TYPE = "g_MappedBackends";
private const string GRAPH_OVERFLOW_BUSINESS_TRANSACTIONS_TYPE = "g_OverflowBusinessTransactionsType";
private const int LIST_SHEET_START_TABLE_AT = 4;
@@ -228,6 +230,15 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[3, 1].Value = "Types of Machine Agent";
sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_TYPE_MACHINEAGENT_PIVOT);
sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 3].Value = "Host Info";
+ sheet.Cells[2, 4].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_HOST_TYPE);
+ sheet.Cells[2, 4].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 3].Value = "Heap Size";
+ sheet.Cells[3, 4].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_HEAP_SIZE);
+ sheet.Cells[3, 4].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 5].Value = "Runtime/Version";
+ sheet.Cells[2, 6].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_RUNTIME_VERSION);
+ sheet.Cells[2, 6].StyleName = "HyperLinkStyle";
sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODES_TYPE_APPAGENT_PIVOT);
@@ -248,6 +259,33 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODES_HOST_TYPE);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_LIST);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODES_HEAP_SIZE);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_LIST);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODES_RUNTIME_VERSION);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODES_LIST);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_STARTUP_OPTIONS_LIST);
sheet.Cells[1, 1].Value = "Table of Contents";
sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
@@ -267,7 +305,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_STARTUP_OPTIONS_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_STARTUP_OPTIONS_LOCATION_PIVOT);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -276,7 +314,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_STARTUP_OPTIONS_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_PROPERTIES_LIST);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -297,7 +335,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_PROPERTIES_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_PROPERTIES_LOCATION_PIVOT);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -306,7 +344,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_PROPERTIES_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_ENVIRONMENT_VARIABLES_LIST);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -327,7 +365,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_ENVIRONMENT_VARIABLES_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_NODE_ENVIRONMENT_VARIABLES_LOCATION_PIVOT);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -336,7 +374,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Table";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_NODE_ENVIRONMENT_VARIABLES_LIST);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + 2, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_BACKENDS_LIST);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -531,7 +569,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -540,7 +578,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -549,7 +587,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_APM_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMApplicationsReportFilePath(), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -558,7 +596,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Tiers");
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMTiersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMTiersReportFilePath(), 0, typeof(APMTier), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -567,22 +605,22 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Nodes");
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodesReportFilePath(), 0, typeof(APMNode), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Node Startup Options");
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_STARTUP_OPTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodeStartupOptionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodeStartupOptionsReportFilePath(), 0, typeof(APMNodeProperty), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Node VM Properties");
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_PROPERTIES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodePropertiesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodePropertiesReportFilePath(), 0, typeof(APMNodeProperty), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Node Environment Variables");
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_ENVIRONMENT_VARIABLES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodeEnvironmentVariablesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMNodeEnvironmentVariablesReportFilePath(), 0, typeof(APMNodeProperty), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -591,7 +629,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Backends");
sheet = excelReport.Workbook.Worksheets[SHEET_BACKENDS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBackendsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBackendsReportFilePath(), 0, typeof(APMBackend), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -600,7 +638,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Business Transactions");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionsReportFilePath(), 0, typeof(APMBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -609,7 +647,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Service Endpoints");
sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINTS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointsReportFilePath(), 0, typeof(APMServiceEndpoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -618,7 +656,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Errors");
sheet = excelReport.Workbook.Worksheets[SHEET_ERRORS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorsReportFilePath(), 0, typeof(APMError), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -627,7 +665,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Information Points");
sheet = excelReport.Workbook.Worksheets[SHEET_INFORMATION_POINTS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMInformationPointsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMInformationPointsReportFilePath(), 0, typeof(APMInformationPoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -636,7 +674,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Backends");
sheet = excelReport.Workbook.Worksheets[SHEET_MAPPED_BACKENDS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMMappedBackendsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMMappedBackendsReportFilePath(), 0, typeof(APMResolvedBackend), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -645,7 +683,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Overflow Business Transactions");
sheet = excelReport.Workbook.Worksheets[SHEET_OVERFLOW_BUSINESS_TRANSACTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMOverflowBusinessTransactionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMOverflowBusinessTransactionsReportFilePath(), 0, typeof(APMBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -852,6 +890,82 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
sheet.Column(4).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_NODES_HOST_TYPE];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODES_HOST_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "AgentPresent");
+ addRowFieldToPivot(pivot, "CloudHostType");
+ addRowFieldToPivot(pivot, "CloudRegion");
+ addRowFieldToPivot(pivot, "ContainerRuntimeType");
+ addRowFieldToPivot(pivot, "WebHostContainerType");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "NodeName");
+ addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_NODES_HOST_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+ sheet.Column(6).Width = 20;
+ sheet.Column(7).Width = 20;
+ sheet.Column(8).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_NODES_HEAP_SIZE];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 1, 1], range, PIVOT_NODES_HEAP_SIZE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "AgentPresent");
+ addFilterFieldToPivot(pivot, "HeapInitialSizeMB", eSortType.Ascending, true);
+ addFilterFieldToPivot(pivot, "HeapMaxSizeMB", eSortType.Ascending, true);
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "NodeName");
+ addDataFieldToPivot(pivot, "HeapInitialSizeMB", DataFieldFunctions.Average, "InitialMB");
+ addDataFieldToPivot(pivot, "HeapMaxSizeMB", DataFieldFunctions.Average, "MaximumMB");
+
+ chart = sheet.Drawings.AddChart(GRAPH_NODES_HEAP_SIZE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_NODES_RUNTIME_VERSION];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODES_RUNTIME_VERSION);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "AgentPresent");
+ addFilterFieldToPivot(pivot, "AgentType");
+ addRowFieldToPivot(pivot, "VMName");
+ addRowFieldToPivot(pivot, "VMVendor");
+ addRowFieldToPivot(pivot, "Version");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "NodeName");
+ addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_NODES_RUNTIME_VERSION, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+ sheet.Column(6).Width = 20;
+ sheet.Column(7).Width = 20;
}
// Make table
@@ -871,7 +985,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
// Make pivot
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_STARTUP_OPTIONS_TYPE_PIVOT];
- ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_STARTUP_OPTIONS_TYPE);
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_STARTUP_OPTIONS_TYPE);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "Controller");
addRowFieldToPivot(pivot, "ApplicationName");
@@ -882,10 +996,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- ExcelChart chart = sheet.Drawings.AddChart(GRAPH_NODE_STARTUP_OPTIONS_TYPE, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
@@ -894,7 +1004,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Column(6).Width = 20;
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_STARTUP_OPTIONS_LOCATION_PIVOT];
- pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_STARTUP_OPTIONS_LOCATION);
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_STARTUP_OPTIONS_LOCATION);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "PropName");
addRowFieldToPivot(pivot, "PropValue");
@@ -905,10 +1015,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- chart = sheet.Drawings.AddChart(GRAPH_NODE_STARTUP_OPTIONS_LOCATION, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
@@ -934,7 +1040,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
// Make pivot
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_PROPERTIES_TYPE_PIVOT];
- ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_PROPERTIES_TYPE);
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_PROPERTIES_TYPE);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "Controller");
addRowFieldToPivot(pivot, "ApplicationName");
@@ -945,10 +1051,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- ExcelChart chart = sheet.Drawings.AddChart(GRAPH_NODE_PROPERTIES_TYPE, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
@@ -957,7 +1059,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Column(6).Width = 20;
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_PROPERTIES_LOCATION_PIVOT];
- pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_PROPERTIES_LOCATION);
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_PROPERTIES_LOCATION);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "PropName");
addRowFieldToPivot(pivot, "PropValue");
@@ -968,10 +1070,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- chart = sheet.Drawings.AddChart(GRAPH_NODE_PROPERTIES_LOCATION, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
@@ -997,7 +1095,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
// Make pivot
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_ENVIRONMENT_VARIABLES_TYPE_PIVOT];
- ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_ENVIRONMENT_VARIABLES_TYPE);
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_ENVIRONMENT_VARIABLES_TYPE);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "Controller");
addRowFieldToPivot(pivot, "ApplicationName");
@@ -1008,10 +1106,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- ExcelChart chart = sheet.Drawings.AddChart(GRAPH_NODE_ENVIRONMENT_VARIABLES_TYPE, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
@@ -1020,7 +1114,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Column(6).Width = 20;
sheet = excelReport.Workbook.Worksheets[SHEET_NODE_ENVIRONMENT_VARIABLES_LOCATION_PIVOT];
- pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_NODE_ENVIRONMENT_VARIABLES_LOCATION);
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT, 1], range, PIVOT_NODE_ENVIRONMENT_VARIABLES_LOCATION);
setDefaultPivotTableSettings(pivot);
addRowFieldToPivot(pivot, "PropName");
addRowFieldToPivot(pivot, "PropValue");
@@ -1031,10 +1125,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "AgentType", eSortType.Ascending);
addDataFieldToPivot(pivot, "NodeName", DataFieldFunctions.Count);
- chart = sheet.Drawings.AddChart(GRAPH_NODE_ENVIRONMENT_VARIABLES_LOCATION, eChartType.ColumnClustered, pivot);
- chart.SetPosition(2, 0, 0, 0);
- chart.SetSize(800, 300);
-
sheet.Column(1).Width = 20;
sheet.Column(2).Width = 20;
sheet.Column(3).Width = 20;
diff --git a/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs b/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs
index 4527d04..7bf3565 100644
--- a/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs
+++ b/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs
@@ -9,9 +9,6 @@
using System.IO;
using System.Linq;
using System.Reflection;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
using System.Xml;
namespace AppDynamics.Dexter.ProcessingSteps
@@ -276,7 +273,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
#endregion
- #region Generate links
+ #region Generate links for Application
loggerConsole.Info("Generating Links to All Dashboards");
@@ -378,7 +375,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
xmlWriter.WriteStartElement(xmlReader.LocalName);
xmlReader.Read();
- xmlWriter.WriteString(String.Format("{0}[{1}] - {2}", jobTarget.Application, jobTarget.ApplicationID, jobTarget.Controller));
+ xmlWriter.WriteString(String.Format("Dash: {0}[{1}] - {2}", jobTarget.Application, jobTarget.ApplicationID, jobTarget.Controller));
xmlWriter.WriteEndElement();
// Read the template string and closing /text tag to move the reader forward
@@ -727,7 +724,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
}
}
- #region Applications list
+ #region Generate Applications list
List applicationsList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMApplicationsReportFilePath(), new APMApplicationReportMap());
if (applicationsList != null)
@@ -741,7 +738,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
xmlReaderSettings.DtdProcessing = DtdProcessing.Parse;
xmlReaderSettings.IgnoreComments = false;
- using (StringReader stringReader = new StringReader(FileIOHelper.ReadFileFromPath(FilePathMap.ApplicationsLinksTemplateFilePath())))
+ using (StringReader stringReader = new StringReader(FileIOHelper.ReadFileFromPath(FilePathMap.ApplicationDashboardsLinksTemplateFilePath())))
{
using (XmlReader xmlReader = XmlReader.Create(stringReader, xmlReaderSettings))
{
diff --git a/ProcessingSteps/Report/ReportAPMEntityDetails.cs b/ProcessingSteps/Report/ReportAPMEntityDetails.cs
index c3e6989..8e86484 100644
--- a/ProcessingSteps/Report/ReportAPMEntityDetails.cs
+++ b/ProcessingSteps/Report/ReportAPMEntityDetails.cs
@@ -595,6 +595,8 @@ public override bool ShouldExecute(ProgramOptions programOptions, JobConfigurati
logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics);
loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics);
+ logger.Trace("Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail={0}", jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail);
+ loggerConsole.Trace("Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail={0}", jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail);
logger.Trace("Input.Events={0}", jobConfiguration.Input.Events);
loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events);
logger.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps);
@@ -609,11 +611,11 @@ public override bool ShouldExecute(ProgramOptions programOptions, JobConfigurati
loggerConsole.Trace("Too many time ranges in the selection criteria, skipping report of per-entity details because they will not all fit");
return false;
}
- if ((jobConfiguration.Input.Metrics == false && jobConfiguration.Input.Events == false && jobConfiguration.Input.Flowmaps == false && jobConfiguration.Input.Snapshots == false) || jobConfiguration.Output.EntityDetails == false)
+ if (((jobConfiguration.Input.Metrics == false || jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail == false) && jobConfiguration.Input.Events == false && jobConfiguration.Input.Flowmaps == false && jobConfiguration.Input.Snapshots == false) || jobConfiguration.Output.EntityDetails == false)
{
loggerConsole.Trace("Skipping report of per-entity details");
}
- return ((jobConfiguration.Input.Metrics == true || jobConfiguration.Input.Events == true || jobConfiguration.Input.Flowmaps == true || jobConfiguration.Input.Snapshots == true) && jobConfiguration.Output.EntityDetails == true);
+ return (((jobConfiguration.Input.Metrics == true && jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail == true) || jobConfiguration.Input.Events == true || jobConfiguration.Input.Flowmaps == true || jobConfiguration.Input.Snapshots == true) && jobConfiguration.Output.EntityDetails == true);
}
private ExcelPackage createIndividualEntityDetailReportTemplate(ProgramOptions programOptions, JobConfiguration jobConfiguration, JobTarget jobTarget)
@@ -658,7 +660,7 @@ private ExcelPackage createIndividualEntityDetailReportTemplate(ProgramOptions p
sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
- ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryIndexFilePath(jobTarget), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryIndexFilePath(jobTarget), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
if (range != null)
{
ExcelTable table = sheet.Tables.Add(range, TABLE_CONTROLLERS);
@@ -767,6 +769,7 @@ private void fillIndividualEntityMetricReportForEntity(
MemoryStream memoryStreamEntitiesFullRange = null;
MemoryStream memoryStreamEntitiesHourlyRanges = null;
+ Type APMEntityType = typeof(APMEntityBase);
try
{
@@ -777,6 +780,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new ApplicationMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new ApplicationMetricReportMap());
+
+ APMEntityType = typeof(APMApplication);
}
else if (entity.EntityType == APMTier.ENTITY_TYPE)
{
@@ -785,6 +790,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new TierMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new TierMetricReportMap());
+
+ APMEntityType = typeof(APMTier);
}
else if (entity.EntityType == APMNode.ENTITY_TYPE)
{
@@ -793,6 +800,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new NodeMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new NodeMetricReportMap());
+
+ APMEntityType = typeof(APMNode);
}
else if (entity.EntityType == APMBackend.ENTITY_TYPE)
{
@@ -801,6 +810,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new BackendMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new BackendMetricReportMap());
+
+ APMEntityType = typeof(APMBackend);
}
else if (entity.EntityType == APMBusinessTransaction.ENTITY_TYPE)
{
@@ -809,6 +820,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new BusinessTransactionMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new BusinessTransactionMetricReportMap());
+
+ APMEntityType = typeof(APMBusinessTransaction);
}
else if (entity.EntityType == APMServiceEndpoint.ENTITY_TYPE)
{
@@ -817,6 +830,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new ServiceEndpointMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new ServiceEndpointMetricReportMap());
+
+ APMEntityType = typeof(APMServiceEndpoint);
}
else if (entity.EntityType == APMError.ENTITY_TYPE)
{
@@ -825,6 +840,8 @@ private void fillIndividualEntityMetricReportForEntity(
memoryStreamEntitiesFullRange = FileIOHelper.WriteListToMemoryStream(entitiesFullRangeFiltered, new ErrorMetricReportMap());
memoryStreamEntitiesHourlyRanges = FileIOHelper.WriteListToMemoryStream(entitiesHourRangeFiltered, new ErrorMetricReportMap());
+
+ APMEntityType = typeof(APMError);
}
}
catch (ArgumentNullException ex)
@@ -847,7 +864,7 @@ private void fillIndividualEntityMetricReportForEntity(
fromRow = LIST_SHEET_START_TABLE_AT;
if (memoryStreamEntitiesFullRange != null)
{
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamEntitiesFullRange, 0, sheet, fromRow, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamEntitiesFullRange, 0, APMEntityType, sheet, fromRow, 1);
memoryStreamEntitiesFullRange.Close();
memoryStreamEntitiesFullRange.Dispose();
@@ -884,7 +901,7 @@ private void fillIndividualEntityMetricReportForEntity(
if (memoryStreamEntitiesHourlyRanges != null)
{
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamEntitiesHourlyRanges, 0, sheet, fromRow, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamEntitiesHourlyRanges, 0, APMEntityType, sheet, fromRow, 1);
memoryStreamEntitiesHourlyRanges.Close();
memoryStreamEntitiesHourlyRanges.Dispose();
@@ -981,7 +998,7 @@ private void fillIndividualEntityMetricReportForEntity(
fromRow = LIST_SHEET_START_TABLE_AT;
if (memoryStreamActivityFlow != null)
{
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamActivityFlow, 0, sheet, fromRow, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(memoryStreamActivityFlow, 0, typeof(ActivityFlow), sheet, fromRow, 1);
memoryStreamActivityFlow.Close();
memoryStreamActivityFlow.Dispose();
@@ -1046,7 +1063,7 @@ private void fillIndividualEntityMetricReportForEntity(
using (MemoryStream ms = FileIOHelper.WriteListToMemoryStream(eventsFilteredList, new EventReportMap()))
{
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(ms, 0, sheet, fromRow, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(ms, 0, typeof(Event), sheet, fromRow, 1);
if (range != null && range.Rows > 1)
{
tableEvents = sheet.Tables.Add(range, TABLE_EVENTS);
@@ -1217,7 +1234,7 @@ private void fillIndividualEntityMetricReportForEntity(
using (MemoryStream ms = FileIOHelper.WriteListToMemoryStream(snapshotsFilteredList, new SnapshotReportMap()))
{
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(ms, 0, sheet, fromRow, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(ms, 0, typeof(Snapshot), sheet, fromRow, 1);
if (range != null && range.Rows > 1)
{
tableSnapshots = sheet.Tables.Add(range, TABLE_SNAPSHOTS);
@@ -2114,7 +2131,7 @@ private void fillMetricValueTablesForEntityType(
string metricsValuesFilePath = FilePathMap.MetricValuesIndexFilePath(jobTarget, entityFolderName, metricExtractMapping.FolderName);
if (File.Exists(metricsValuesFilePath) == true)
{
- ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(metricsValuesFilePath, 0, sheetMetrics, fromRow, fromColumn);
+ ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(metricsValuesFilePath, 0, typeof(MetricValue), sheetMetrics, fromRow, fromColumn);
if (range != null)
{
if (range.Rows == 1)
diff --git a/ProcessingSteps/Report/ReportAPMFlameGraphs.cs b/ProcessingSteps/Report/ReportAPMFlameGraphs.cs
index eb78dcd..4d4d20e 100644
--- a/ProcessingSteps/Report/ReportAPMFlameGraphs.cs
+++ b/ProcessingSteps/Report/ReportAPMFlameGraphs.cs
@@ -81,6 +81,18 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
// Load and bucketize the framework mappings
Dictionary> methodCallLineClassToFrameworkTypeMappingDictionary = populateMethodCallMappingDictionary(FilePathMap.MethodCallLinesToFrameworkTypetMappingFilePath());
+ XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
+ xmlWriterSettings.Indent = true;
+
+ XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
+ xmlReaderSettings.DtdProcessing = DtdProcessing.Parse;
+ xmlReaderSettings.IgnoreComments = false;
+
+ List applicationList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMApplicationsIndexFilePath(jobTarget), new APMApplicationReportMap());
+ List tiersList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMTiersIndexFilePath(jobTarget), new APMTierReportMap());
+ List nodesList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMNodesIndexFilePath(jobTarget), new APMNodeReportMap());
+ List businessTransactionsList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMBusinessTransactionsIndexFilePath(jobTarget), new APMBusinessTransactionReportMap());
+
#endregion
ParallelOptions parallelOptions = new ParallelOptions();
@@ -94,20 +106,19 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
#region Application
- List applicationsList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMApplicationsIndexFilePath(jobTarget), new APMApplicationReportMap());
- if (applicationsList != null && applicationsList.Count > 0)
+ if (applicationList != null && applicationList.Count > 0)
{
loggerConsole.Info("Flame Graphs for Application");
stepTimingTarget.NumEntities = stepTimingTarget.NumEntities + 1;
- APMApplication application = applicationsList[0];
+ APMApplication application = applicationList[0];
if (File.Exists(FilePathMap.SnapshotsFoldedCallStacksIndexApplicationFilePath(jobTarget)) == true)
{
createFlameGraph(
FilePathMap.SnapshotsFoldedCallStacksIndexApplicationFilePath(jobTarget),
- FilePathMap.FlameGraphReportFilePath(applicationsList[0], jobTarget, jobConfiguration.Input.TimeRange, true),
+ FilePathMap.FlameGraphReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, true),
String.Format("{0}/{1} ({2:G}-{3:G})", application.Controller, application.ApplicationName, jobConfiguration.Input.TimeRange.From.ToLocalTime(), jobConfiguration.Input.TimeRange.To.ToLocalTime()),
flameGraphTemplateString,
methodCallLineClassToFrameworkTypeMappingDictionary,
@@ -118,14 +129,14 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
createFlameGraph(
FilePathMap.SnapshotsFoldedCallStacksWithTimeIndexApplicationFilePath(jobTarget),
- FilePathMap.FlameChartReportFilePath(applicationsList[0], jobTarget, jobConfiguration.Input.TimeRange, true),
+ FilePathMap.FlameChartReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, true),
String.Format("{0}/{1} ({2:G}-{3:G})", application.Controller, application.ApplicationName, jobConfiguration.Input.TimeRange.From.ToLocalTime(), jobConfiguration.Input.TimeRange.To.ToLocalTime()),
flameGraphTemplateString,
methodCallLineClassToFrameworkTypeMappingDictionary,
true);
}
- Interlocked.Add(ref numEntitiesTotal, applicationsList.Count);
+ Interlocked.Add(ref numEntitiesTotal, applicationList.Count);
}
#endregion
@@ -134,7 +145,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
#region Tier
- List tiersList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMTiersIndexFilePath(jobTarget), new APMTierReportMap());
if (tiersList != null)
{
loggerConsole.Info("Flame Graphs for Tiers ({0} entities)", tiersList.Count);
@@ -176,7 +186,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
#region Nodes
- List nodesList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMNodesIndexFilePath(jobTarget), new APMNodeReportMap());
if (nodesList != null)
{
loggerConsole.Info("Flame Graphs for Nodes ({0} entities)", nodesList.Count);
@@ -217,7 +226,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
{
#region Business Transactions
- List businessTransactionsList = FileIOHelper.ReadListFromCSVFile(FilePathMap.APMBusinessTransactionsIndexFilePath(jobTarget), new APMBusinessTransactionReportMap());
if (businessTransactionsList != null)
{
loggerConsole.Info("Flame Graphs for Business Transactions ({0} entities)", businessTransactionsList.Count);
@@ -256,6 +264,434 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
}
);
+ #region Generate links
+
+ loggerConsole.Info("Generating Links to All Flame Graphs");
+
+ if (applicationList != null && applicationList.Count > 0)
+ {
+ APMApplication application = applicationList[0];
+
+ string flameGraphLinkFilePath = FilePathMap.ApplicationFlameGraphsLinksReportFilePath(application, true);
+
+ FileIOHelper.CreateFolderForFile(flameGraphLinkFilePath);
+
+ using (StringReader stringReader = new StringReader(FileIOHelper.ReadFileFromPath(FilePathMap.ApplicationFlameGraphsLinksTemplateFilePath())))
+ {
+ using (XmlReader xmlReader = XmlReader.Create(stringReader, xmlReaderSettings))
+ {
+ using (XmlWriter xmlWriter = XmlWriter.Create(flameGraphLinkFilePath, xmlWriterSettings))
+ {
+ while (xmlReader.Read())
+ {
+ // Adjust version
+ if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdVersion")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(String.Format(xmlReader.Value, Assembly.GetEntryAssembly().GetName().Version));
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust date from
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdFromDateTime")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(jobConfiguration.Input.TimeRange.From.ToLocalTime().ToString("G"));
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust date to
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdToDateTime")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(jobConfiguration.Input.TimeRange.To.ToLocalTime().ToString("G"));
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust date timezone
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdTimezone")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(TimeZoneInfo.Local.DisplayName);
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust Controller
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdController")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(application.Controller);
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust Application
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdApplication")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(application.ApplicationName);
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Adjust Application ID
+ else if (xmlReader.IsStartElement("td") == true && xmlReader.GetAttribute("id") == "tdApplicationID")
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(application.ApplicationID.ToString());
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // Title
+ else if (xmlReader.IsStartElement("title") == true)
+ {
+ xmlWriter.WriteStartElement(xmlReader.LocalName);
+ xmlReader.Read();
+ xmlWriter.WriteString(String.Format("Flame: {0}[{1}] - {2}", jobTarget.Application, jobTarget.ApplicationID, jobTarget.Controller));
+ xmlWriter.WriteEndElement();
+
+ // Read the template string and closing /text tag to move the reader forward
+ xmlReader.Read();
+ }
+ // List of Applications
+ else if (xmlReader.IsStartElement("tr") == true && xmlReader.GetAttribute("id") == "trApplicationPlaceholder")
+ {
+ xmlWriter.WriteStartElement("tr");
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Controller");
+ xmlWriter.WriteString(application.Controller);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Application");
+ xmlWriter.WriteString(application.ApplicationName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(application.ApplicationID.ToString());
+ xmlWriter.WriteEndElement();
+
+ if (File.Exists(FilePathMap.FlameGraphReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, true)) == true)
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(FilePathMap.FlameGraphReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, false));
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameGraphReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Graph");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameChartReportFilePath(application, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Chart");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+ }
+ else
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+ }
+
+ xmlWriter.WriteEndElement();
+
+ // Move off the content placeholder
+ xmlReader.Read();
+ xmlReader.Read();
+ }
+ // List of Tiers
+ else if (xmlReader.IsStartElement("tr") == true && xmlReader.GetAttribute("id") == "trTiersPlaceholder")
+ {
+ if (tiersList != null)
+ {
+ foreach (APMTier tier in tiersList)
+ {
+ xmlWriter.WriteStartElement("tr");
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Controller");
+ xmlWriter.WriteString(tier.Controller);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Application");
+ xmlWriter.WriteString(tier.ApplicationName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Tier");
+ xmlWriter.WriteString(tier.TierName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Type");
+ xmlWriter.WriteString(tier.TierType);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(tier.TierID.ToString());
+ xmlWriter.WriteEndElement();
+
+ if (File.Exists(FilePathMap.FlameGraphReportFilePath(tier, jobTarget, jobConfiguration.Input.TimeRange, true)) == true)
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(FilePathMap.FlameGraphReportFilePath(tier, jobTarget, jobConfiguration.Input.TimeRange, false));
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameGraphReportFilePath(tier, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Graph");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameChartReportFilePath(tier, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Chart");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+ }
+ else
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+ }
+
+ xmlWriter.WriteEndElement();
+ }
+ }
+
+ // Move off the content placeholder
+ xmlReader.Read();
+ xmlReader.Read();
+ }
+ // List of Nodes
+ else if (xmlReader.IsStartElement("tr") == true && xmlReader.GetAttribute("id") == "trNodesPlaceholder")
+ {
+ if (nodesList != null)
+ {
+ foreach (APMNode node in nodesList)
+ {
+ xmlWriter.WriteStartElement("tr");
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Controller");
+ xmlWriter.WriteString(node.Controller);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Application");
+ xmlWriter.WriteString(node.ApplicationName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Tier");
+ xmlWriter.WriteString(node.TierName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Node");
+ xmlWriter.WriteString(node.NodeName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Type");
+ xmlWriter.WriteString(node.AgentType);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(node.NodeID.ToString());
+ xmlWriter.WriteEndElement();
+
+ if (File.Exists(FilePathMap.FlameGraphReportFilePath(node, jobTarget, jobConfiguration.Input.TimeRange, true)) == true)
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(FilePathMap.FlameGraphReportFilePath(node, jobTarget, jobConfiguration.Input.TimeRange, false));
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameGraphReportFilePath(node, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Graph");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameChartReportFilePath(node, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Chart");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+ }
+ else
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+ }
+
+ xmlWriter.WriteEndElement();
+ }
+ }
+
+ // Move off the content placeholder
+ xmlReader.Read();
+ xmlReader.Read();
+ }
+ // List of Business Transactions
+ else if (xmlReader.IsStartElement("tr") == true && xmlReader.GetAttribute("id") == "trBusinessTransactionsPlaceholder")
+ {
+ if (businessTransactionsList != null)
+ {
+ foreach (APMBusinessTransaction businessTransaction in businessTransactionsList)
+ {
+ xmlWriter.WriteStartElement("tr");
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Controller");
+ xmlWriter.WriteString(businessTransaction.Controller);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Application");
+ xmlWriter.WriteString(businessTransaction.ApplicationName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Tier");
+ xmlWriter.WriteString(businessTransaction.TierName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "BusinessTransaction");
+ xmlWriter.WriteString(businessTransaction.BTName);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteAttributeString("class", "Type");
+ xmlWriter.WriteString(businessTransaction.BTType);
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(businessTransaction.BTID.ToString());
+ xmlWriter.WriteEndElement();
+
+ if (File.Exists(FilePathMap.FlameGraphReportFilePath(businessTransaction, jobTarget, jobConfiguration.Input.TimeRange, true)) == true)
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(FilePathMap.FlameGraphReportFilePath(businessTransaction, jobTarget, jobConfiguration.Input.TimeRange, false));
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameGraphReportFilePath(businessTransaction, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Graph");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteStartElement("a");
+ xmlWriter.WriteAttributeString("href", String.Format(@"..\..\{0}", FilePathMap.FlameChartReportFilePath(businessTransaction, jobTarget, jobConfiguration.Input.TimeRange, false)));
+ xmlWriter.WriteAttributeString("target", "_blank");
+ xmlWriter.WriteString("Flame Chart");
+ xmlWriter.WriteEndElement();
+ xmlWriter.WriteEndElement();
+ }
+ else
+ {
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+
+ xmlWriter.WriteStartElement("td");
+ xmlWriter.WriteString(" ");
+ xmlWriter.WriteEndElement();
+ }
+
+ xmlWriter.WriteEndElement();
+ }
+ }
+
+ // Move off the content placeholder
+ xmlReader.Read();
+ xmlReader.Read();
+ }
+ // All other nodes
+ else
+ {
+ WriteShallowNode(xmlReader, xmlWriter);
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
stepTimingTarget.NumEntities = numEntitiesTotal;
}
catch (Exception ex)
diff --git a/ProcessingSteps/Report/ReportAPMFlowmaps.cs b/ProcessingSteps/Report/ReportAPMFlowmaps.cs
index 6790b77..e1090bb 100644
--- a/ProcessingSteps/Report/ReportAPMFlowmaps.cs
+++ b/ProcessingSteps/Report/ReportAPMFlowmaps.cs
@@ -162,7 +162,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
@@ -171,7 +171,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("Applications Flowmap");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ACTIVITYFLOW];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationsFlowmapReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationsFlowmapReportFilePath(), 0, typeof(ActivityFlow), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
@@ -180,7 +180,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("Tiers Flowmap");
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_ACTIVITYFLOW];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.TiersFlowmapReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.TiersFlowmapReportFilePath(), 0, typeof(ActivityFlow), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
@@ -189,7 +189,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("Nodes Flowmap");
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_ACTIVITYFLOW];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.NodesFlowmapReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.NodesFlowmapReportFilePath(), 0, typeof(ActivityFlow), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
@@ -198,7 +198,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("Backends Flowmap");
sheet = excelReport.Workbook.Worksheets[SHEET_BACKENDS_ACTIVITYFLOW];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BackendsFlowmapReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BackendsFlowmapReportFilePath(), 0, typeof(ActivityFlow), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
@@ -207,7 +207,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("Business Transactions Flowmap");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_ACTIVITYFLOW];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BusinessTransactionsFlowmapReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BusinessTransactionsFlowmapReportFilePath(), 0, typeof(ActivityFlow), sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportAPMIndividualSnapshots.cs b/ProcessingSteps/Report/ReportAPMIndividualSnapshots.cs
new file mode 100644
index 0000000..5e3d825
--- /dev/null
+++ b/ProcessingSteps/Report/ReportAPMIndividualSnapshots.cs
@@ -0,0 +1,1547 @@
+using AppDynamics.Dexter.ReportObjectMaps;
+using AppDynamics.Dexter.ReportObjects;
+using CsvHelper;
+using CsvHelper.Configuration;
+using OfficeOpenXml;
+using OfficeOpenXml.ConditionalFormatting;
+using OfficeOpenXml.Drawing.Chart;
+using OfficeOpenXml.Style;
+using OfficeOpenXml.Table;
+using OfficeOpenXml.Table.PivotTable;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+namespace AppDynamics.Dexter.ProcessingSteps
+{
+ public class ReportAPMIndividualSnapshots : JobStepReportBase
+ {
+ #region Constants for report contents
+
+ private const string SHEET_CONTROLLERS = "3.Controllers";
+ private const string SHEET_APPLICATIONS = "4.Applications";
+
+ private const string SHEET_SNAPSHOTS = "5.Snapshots";
+ private const string SHEET_SNAPSHOTS_TYPE_PIVOT = "5.Snapshots.Type";
+ private const string SHEET_SNAPSHOTS_TIMELINE_PIVOT = "5.Snapshots.Timeline";
+
+ private const string SHEET_SEGMENTS = "6.Segments";
+ private const string SHEET_SEGMENTS_TYPE_PIVOT = "6.Segments.Type";
+ private const string SHEET_SEGMENTS_TIMELINE_PIVOT = "6.Segments.Timeline";
+
+ private const string SHEET_EXIT_CALLS = "7.Exit Calls";
+ private const string SHEET_EXIT_CALLS_TYPE_PIVOT = "7.Exit Calls.Type";
+ private const string SHEET_EXIT_CALLS_TIMELINE_PIVOT = "7.Exit Calls.Timeline";
+ private const string SHEET_EXIT_CALLS_ERRORS_PIVOT = "7.Exit Calls.Errors";
+
+ private const string SHEET_SERVICE_ENDPOINT_CALLS = "8.SEP Calls";
+ private const string SHEET_SERVICE_ENDPOINT_CALLS_TYPE_PIVOT = "8.SEP Calls.Type";
+ private const string SHEET_SERVICE_ENDPOINT_CALLS_TIMELINE_PIVOT = "8.SEP.Timeline";
+
+ private const string SHEET_DETECTED_ERRORS = "9.Errors";
+ private const string SHEET_DETECTED_ERRORS_TYPE_PIVOT = "9.Errors.Type";
+ private const string SHEET_DETECTED_ERRORS_TIMELINE_PIVOT = "9.Errors.Timeline";
+
+ private const string SHEET_BUSINESS_DATA = "10.Business Data";
+ private const string SHEET_BUSINESS_DATA_TYPE_PIVOT = "10.Business Data.Type";
+ private const string SHEET_BUSINESS_DATA_TIMELINE_PIVOT = "10.Business Data.Timeline";
+
+ private const string SHEET_METHOD_CALL_LINES = "11.Method Calls";
+ private const string SHEET_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE_PIVOT = "11.Calls.Type";
+ private const string SHEET_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE_PIVOT = "11.Calls.Location";
+ private const string SHEET_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE_PIVOT = "11.Calls.Timeline";
+
+ private const string TABLE_CONTROLLERS = "t_Controllers";
+ private const string TABLE_APPLICATIONS = "t_Applications";
+
+ private const string TABLE_SNAPSHOTS = "t_Snapshots";
+ private const string TABLE_SEGMENTS = "t_Segments";
+ private const string TABLE_EXIT_CALLS = "t_ExitCalls";
+ private const string TABLE_SERVICE_ENDPOINT_CALLS = "t_ServiceEndpointCalls";
+ private const string TABLE_DETECTED_ERRORS = "t_DetectedErrors";
+ private const string TABLE_BUSINESS_DATA = "t_BusinessData";
+ private const string TABLE_METHOD_CALL_LINES = "t_MethodCallLines";
+
+ private const string PIVOT_SNAPSHOTS_TYPE = "p_SnapshotsType";
+ private const string PIVOT_SNAPSHOTS_TIMELINE = "p_SnapshotsTimeline";
+ private const string PIVOT_SEGMENTS_TYPE = "p_SegmentsType";
+ private const string PIVOT_SEGMENTS_TIMELINE = "p_SegmentsTimeline";
+ private const string PIVOT_SERVICE_ENDPOINT_CALLS_TYPE = "p_ServiceEndpointCallsType";
+ private const string PIVOT_SERVICE_ENDPOINT_CALLS_TIMELINE = "p_ServiceEndpointCallsTimeline";
+ private const string PIVOT_EXIT_CALLS_TYPE = "p_ExitCallsType";
+ private const string PIVOT_EXIT_CALLS_TIMELINE = "p_ExitCallsTimeline";
+ private const string PIVOT_EXIT_CALLS_ERRORS = "p_ExitCallsType";
+ private const string PIVOT_DETECTED_ERRORS_TYPE = "p_DetectedErrorsType";
+ private const string PIVOT_DETECTED_ERRORS_TIMELINE = "p_DetectedErrorsTimeline";
+ private const string PIVOT_BUSINESS_DATA_TYPE = "p_BusinessDataType";
+ private const string PIVOT_BUSINESS_DATA_TIMELINE = "p_BusinessDataTimeline";
+ private const string PIVOT_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE = "p_MethodCallLinesTypeAverage";
+ private const string PIVOT_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE = "p_MethodCallLinesLocationAverage";
+ private const string PIVOT_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE = "p_MethodCallLinesTimelineAverage";
+
+ private const string GRAPH_SNAPSHOTS_TYPE = "g_SnapshotsType";
+ private const string GRAPH_SNAPSHOTS_TIMELINE = "g_SnapshotsTimeline";
+ private const string GRAPH_SEGMENTS_TYPE = "g_SegmentsType";
+ private const string GRAPH_SEGMENTS_TIMELINE = "g_SegmentsTimeline";
+ private const string GRAPH_SERVICE_ENDPOINT_CALLS_TYPE = "g_ServiceEndpointCallsType";
+ private const string GRAPH_SERVICE_ENDPOINT_CALLS_TIMELINE = "g_ServiceEndpointCallsTimeline";
+ private const string GRAPH_EXIT_CALLS_TYPE = "g_ExitCallsType";
+ private const string GRAPH_EXIT_CALLS_TIMELINE = "g_ExitCallsTimeline";
+ private const string GRAPH_EXIT_CALLS_ERRORS = "g_ExitCallsErrors";
+ private const string GRAPH_DETECTED_ERRORS_TYPE = "g_DetectedErrorsType";
+ private const string GRAPH_DETECTED_ERRORS_TIMELINE = "g_DetectedErrorsTimeline";
+ private const string GRAPH_BUSINESS_DATA_TYPE = "g_BusinessDataType";
+ private const string GRAPH_BUSINESS_DATA_TIMELINE = "g_BusinessDataTimeline";
+ private const string GRAPH_METHOD_CALL_LINESTYPE_EXEC_AVERAGE = "g_MethodCallLinesTypeAverage";
+ private const string GRAPH_METHOD_CALL_LINESLOCATION_EXEC_AVERAGE = "g_MethodCallLinesLocationAverage";
+ private const string GRAPH_METHOD_CALL_LINESTIMELINE_EXEC_AVERAGE = "g_MethodCallLinesTimelineAverage";
+
+ private const int LIST_SHEET_START_TABLE_AT = 4;
+ private const int PIVOT_SHEET_START_PIVOT_AT = 8;
+ private const int PIVOT_SHEET_CHART_HEIGHT = 14;
+
+ #endregion
+
+ public override bool Execute(ProgramOptions programOptions, JobConfiguration jobConfiguration)
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+
+ StepTiming stepTimingFunction = new StepTiming();
+ stepTimingFunction.JobFileName = programOptions.OutputJobFilePath;
+ stepTimingFunction.StepName = jobConfiguration.Status.ToString();
+ stepTimingFunction.StepID = (int)jobConfiguration.Status;
+ stepTimingFunction.StartTime = DateTime.Now;
+ stepTimingFunction.NumEntities = jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.Length;
+
+ this.DisplayJobStepStartingStatus(jobConfiguration);
+
+ FilePathMap = new FilePathMap(programOptions, jobConfiguration);
+
+ if (this.ShouldExecute(programOptions, jobConfiguration) == false)
+ {
+ return true;
+ }
+
+ if (jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.Length == 0)
+ {
+ logger.Warn("No snapshot RequestIDs specified to process");
+ loggerConsole.Warn("No snapshot RequestIDs specified to process");
+
+ return true;
+ }
+
+ try
+ {
+ #region Filter list of all Snapshot data
+
+ loggerConsole.Info("Looking for {0} RequestIDs ({1})", jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.Length, String.Join(",", jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs));
+
+ loggerConsole.Info("List of Snapshots");
+ List snapshotsList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsReportFilePath(), new SnapshotReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Segments");
+ List segmentsList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsSegmentsReportFilePath(), new SegmentReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Exit Calls");
+ List exitCallsList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsExitCallsReportFilePath(), new ExitCallReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Service Endpoint Calls");
+ List serviceEndpointCallsList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsServiceEndpointCallsReportFilePath(), new ServiceEndpointCallReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Detected Errors");
+ List detectedErrorsList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsDetectedErrorsReportFilePath(), new DetectedErrorReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Business Data");
+ List businessDataList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsBusinessDataReportFilePath(), new BusinessDataReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ loggerConsole.Info("List of Method Call Lines");
+ List methodCallLinesList = FileIOHelper.ReadListFromCSVFileForSnapshotsWithRequestIDs(FilePathMap.SnapshotsMethodCallLinesReportFilePath(), new MethodCallLineReportMap(), jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs.ToList());
+
+ #endregion
+
+ #region Save individual snapshot CSV files
+
+ loggerConsole.Info("Saving individual snapshots data");
+
+ foreach (Snapshot snapshot in snapshotsList)
+ {
+ loggerConsole.Info("Saving {0}/{1}[{2}]/{3} in {4}", snapshot.TierName, snapshot.BTName, snapshot.BTType, snapshot.RequestID, FilePathMap.SnapshotReportFilePath(snapshot, true));
+
+ List snapshotsSnapshotList = new List();
+ snapshotsSnapshotList.Add(snapshot);
+ FileIOHelper.WriteListToCSVFile(snapshotsSnapshotList, new SnapshotReportMap(), FilePathMap.SnapshotReportFilePath(snapshot, true));
+
+ List segmentsSnapshotList = segmentsList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(segmentsSnapshotList, new SegmentReportMap(), FilePathMap.SnapshotSegmentsReportFilePath(snapshot, true));
+
+ List exitCallsSnapshotList = exitCallsList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(exitCallsSnapshotList, new ExitCallReportMap(), FilePathMap.SnapshotExitCallsReportFilePath(snapshot, true));
+
+ List serviceEndpointCallsSnapshotList = serviceEndpointCallsList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(serviceEndpointCallsSnapshotList, new ServiceEndpointCallReportMap(), FilePathMap.SnapshotServiceEndpointCallsReportFilePath(snapshot, true));
+
+ List detectedErrorsSnapshotList = detectedErrorsList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(detectedErrorsSnapshotList, new DetectedErrorReportMap(), FilePathMap.SnapshotDetectedErrorsReportFilePath(snapshot, true));
+
+ List businessDataSnapshotList = businessDataList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(businessDataSnapshotList, new BusinessDataReportMap(), FilePathMap.SnapshotBusinessDataReportFilePath(snapshot, true));
+
+ List methodCallLinesSnapshotList = methodCallLinesList.Where(s => String.Compare(s.RequestID, snapshot.RequestID, true) == 0).ToList();
+ FileIOHelper.WriteListToCSVFile(methodCallLinesSnapshotList, new MethodCallLineReportMap(), FilePathMap.SnapshotMethodCallLinesReportFilePath(snapshot, true));
+ }
+
+ #endregion
+
+ #region Render individual Snapshot reports
+
+ foreach (Snapshot snapshot in snapshotsList)
+ {
+ loggerConsole.Info("Prepare Snapshot Report File for {0}/{1}[{2}]/{3}", snapshot.TierName, snapshot.BTName, snapshot.BTType, snapshot.RequestID);
+
+ #region Prepare the report package
+
+ // Prepare package
+ ExcelPackage excelReport = new ExcelPackage();
+ excelReport.Workbook.Properties.Author = String.Format("AppDynamics DEXTER {0}", Assembly.GetEntryAssembly().GetName().Version);
+ excelReport.Workbook.Properties.Title = "AppDynamics DEXTER Snapshot Report";
+ excelReport.Workbook.Properties.Subject = programOptions.JobName;
+
+ excelReport.Workbook.Properties.Comments = String.Format("Targets={0}\nFrom={1:o}\nTo={2:o}", jobConfiguration.Target.Count, jobConfiguration.Input.TimeRange.From, jobConfiguration.Input.TimeRange.To);
+
+ #endregion
+
+ #region Parameters sheet
+
+ // Parameters sheet
+ ExcelWorksheet sheet = excelReport.Workbook.Worksheets.Add(SHEET_PARAMETERS);
+
+ var hyperLinkStyle = sheet.Workbook.Styles.CreateNamedStyle("HyperLinkStyle");
+ hyperLinkStyle.Style.Font.UnderLineType = ExcelUnderLineType.Single;
+ hyperLinkStyle.Style.Font.Color.SetColor(colorBlueForHyperlinks);
+
+ var timelineStyle = sheet.Workbook.Styles.CreateNamedStyle("TimelineStyle");
+ timelineStyle.Style.Font.Name = "Consolas";
+ timelineStyle.Style.Font.Size = 8;
+
+ fillReportParametersSheet(sheet, jobConfiguration, "AppDynamics DEXTER Snapshot Report");
+
+ int l = sheet.Dimension.Rows + 2;
+ sheet.Cells[l, 1].Value = "Controller";
+ sheet.Cells[l, 2].Value = snapshot.Controller;
+ l++;
+ sheet.Cells[l, 1].Value = "ApplicationName";
+ sheet.Cells[l, 2].Value = snapshot.ApplicationName;
+ l++;
+ sheet.Cells[l, 1].Value = "TierName";
+ sheet.Cells[l, 2].Value = snapshot.TierName;
+ l++;
+ sheet.Cells[l, 1].Value = "BTName";
+ sheet.Cells[l, 2].Value = snapshot.BTName;
+ l++;
+ sheet.Cells[l, 1].Value = "RequestID";
+ sheet.Cells[l, 2].Value = snapshot.RequestID;
+
+ #endregion
+
+ #region TOC sheet
+
+ // Navigation sheet with link to other sheets
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_TOC);
+
+ #endregion
+
+ #region Entity sheets and their associated pivot
+
+ // Entity sheets
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_CONTROLLERS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_APPLICATIONS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SNAPSHOTS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SNAPSHOTS_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SNAPSHOTS_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SNAPSHOTS_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SNAPSHOTS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SNAPSHOTS_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SNAPSHOTS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 6, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SEGMENTS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SEGMENTS_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SEGMENTS_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SEGMENTS_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SEGMENTS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SEGMENTS_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SEGMENTS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 6, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_EXIT_CALLS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 3].Value = "See Errors";
+ sheet.Cells[2, 4].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS_ERRORS_PIVOT);
+ sheet.Cells[2, 4].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_EXIT_CALLS_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_EXIT_CALLS_ERRORS_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 4, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_EXIT_CALLS_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_EXIT_CALLS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 7, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SERVICE_ENDPOINT_CALLS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SERVICE_ENDPOINT_CALLS_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SERVICE_ENDPOINT_CALLS_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SERVICE_ENDPOINT_CALLS_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SERVICE_ENDPOINT_CALLS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_SERVICE_ENDPOINT_CALLS_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_SERVICE_ENDPOINT_CALLS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_DETECTED_ERRORS);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_DETECTED_ERRORS_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_DETECTED_ERRORS_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_DETECTED_ERRORS_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_DETECTED_ERRORS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_DETECTED_ERRORS_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_DETECTED_ERRORS);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 7, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_BUSINESS_DATA);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Pivot";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_BUSINESS_DATA_TYPE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Timeline";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_BUSINESS_DATA_TIMELINE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_BUSINESS_DATA_TYPE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_BUSINESS_DATA);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_BUSINESS_DATA_TIMELINE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_BUSINESS_DATA);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 5, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_METHOD_CALL_LINES);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Type";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[3, 1].Value = "See Location";
+ sheet.Cells[3, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[3, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[4, 1].Value = "See Timeline";
+ sheet.Cells[4, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[4, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 2, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 5, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
+
+ sheet = excelReport.Workbook.Worksheets.Add(SHEET_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE_PIVOT);
+ sheet.Cells[1, 1].Value = "Table of Contents";
+ sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
+ sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
+ sheet.Cells[2, 1].Value = "See Table";
+ sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_METHOD_CALL_LINES);
+ sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
+ sheet.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 9, 1);
+
+ #endregion
+
+ #region Report file variables
+
+ ExcelRangeBase range = null;
+ ExcelTable table = null;
+
+ #endregion
+
+ loggerConsole.Info("Fill Snapshot Report File");
+
+ #region Controllers
+
+ loggerConsole.Info("List of Controllers");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Applications
+
+ loggerConsole.Info("List of Applications");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationSnapshotsReportFilePath(), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Snapshots
+
+ loggerConsole.Info("List of Snapshots");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SNAPSHOTS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotReportFilePath(snapshot, true), 0, typeof(Snapshot), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Segments
+
+ loggerConsole.Info("List of Segments");
+ sheet = excelReport.Workbook.Worksheets[SHEET_SEGMENTS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotSegmentsReportFilePath(snapshot, true), 0, typeof(Segment), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Exit Calls
+
+ loggerConsole.Info("List of Exit Calls");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotExitCallsReportFilePath(snapshot, true), 0, typeof(ExitCall), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Service Endpoint Calls
+
+ loggerConsole.Info("List of Service Endpoint Calls");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINT_CALLS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotServiceEndpointCallsReportFilePath(snapshot, true), 0, typeof(ServiceEndpointCall), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Detected Errors
+
+ loggerConsole.Info("List of Detected Errors");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_DETECTED_ERRORS];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotDetectedErrorsReportFilePath(snapshot, true), 0, typeof(DetectedError), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Business Data
+
+ loggerConsole.Info("List of Business Data");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_DATA];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotBusinessDataReportFilePath(snapshot, true), 0, typeof(BusinessData), sheet, LIST_SHEET_START_TABLE_AT, 1);
+
+ #endregion
+
+ #region Method Call Lines
+
+ loggerConsole.Info("List of Method Call Lines");
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES];
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotMethodCallLinesReportFilePath(snapshot, true), 0, typeof(MethodCallLine), sheet, LIST_SHEET_START_TABLE_AT + 1, 1);
+
+ #endregion
+
+ loggerConsole.Info("Finalize Snapshot Report File");
+
+ #region Controllers sheet
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_CONTROLLERS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 25;
+ sheet.Column(table.Columns["Version"].Position + 1).Width = 15;
+ }
+
+ #endregion
+
+ #region Applications
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_APPLICATIONS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ adjustColumnsOfEntityRowTableInMetricReport(APMApplication.ENTITY_TYPE, sheet, table);
+
+ ExcelAddress cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshots"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshots"].Position + 1);
+ var cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshotsNormal"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshotsNormal"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshotsVerySlow"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshotsVerySlow"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshotsStall"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshotsStall"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshotsSlow"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshotsSlow"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSnapshotsError"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSnapshotsError"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+ }
+
+ #endregion
+
+ #region Snapshots
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_SNAPSHOTS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_SNAPSHOTS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["UserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["DurationRange"].Position + 1).Width = 15;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["UserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["UserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ ExcelAddress cfAddressDuration = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["Duration"].Position + 1, sheet.Dimension.Rows, table.Columns["Duration"].Position + 1);
+ var cfDuration = sheet.ConditionalFormatting.AddThreeColorScale(cfAddressDuration);
+ cfDuration.LowValue.Color = colorGreenFor3ColorScales;
+ cfDuration.MiddleValue.Type = eExcelConditionalFormattingValueObjectType.Percentile;
+ cfDuration.MiddleValue.Value = 70;
+ cfDuration.MiddleValue.Color = colorYellowFor3ColorScales;
+ cfDuration.HighValue.Color = colorRedFor3ColorScales;
+
+ ExcelAddress cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumErrors"].Position + 1, sheet.Dimension.Rows, table.Columns["NumErrors"].Position + 1);
+ var cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallGraphs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallGraphs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledBackends"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledBackends"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledTiers"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledTiers"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledApplications"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledApplications"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToBackends"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToBackends"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToTiers"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToTiers"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToApplications"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToApplications"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSEPs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSEPs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumHTTPDCs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumHTTPDCs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumMIDCs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumMIDCs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SNAPSHOTS_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_SNAPSHOTS_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "HasErrors");
+ addFilterFieldToPivot(pivot, "CallGraphType");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addColumnFieldToPivot(pivot, "UserExperience", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "RequestID", DataFieldFunctions.Count);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_SNAPSHOTS_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SNAPSHOTS_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 4, 1], range, PIVOT_SNAPSHOTS_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "HasErrors");
+ addFilterFieldToPivot(pivot, "CallGraphType");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "UserExperience", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "RequestID", DataFieldFunctions.Count);
+ addDataFieldToPivot(pivot, "Duration", DataFieldFunctions.Average);
+
+ chart = sheet.Drawings.AddChart(GRAPH_SNAPSHOTS_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region Segments
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_SEGMENTS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_SEGMENTS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["UserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["FromSegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["FromTierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ // Make timeline fixed width
+ ExcelRangeBase rangeTimeline = sheet.Cells[LIST_SHEET_START_TABLE_AT + 1, table.Columns["Timeline"].Position + 1, sheet.Dimension.Rows, table.Columns["Timeline"].Position + 1];
+ rangeTimeline.StyleName = "TimelineStyle";
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["UserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["UserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ ExcelAddress cfAddressDuration = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["Duration"].Position + 1, sheet.Dimension.Rows, table.Columns["Duration"].Position + 1);
+ var cfDuration = sheet.ConditionalFormatting.AddThreeColorScale(cfAddressDuration);
+ cfDuration.LowValue.Color = colorGreenFor3ColorScales;
+ cfDuration.MiddleValue.Type = eExcelConditionalFormattingValueObjectType.Percentile;
+ cfDuration.MiddleValue.Value = 70;
+ cfDuration.MiddleValue.Color = colorYellowFor3ColorScales;
+ cfDuration.HighValue.Color = colorRedFor3ColorScales;
+
+ ExcelAddress cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumErrors"].Position + 1, sheet.Dimension.Rows, table.Columns["NumErrors"].Position + 1);
+ var cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledBackends"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledBackends"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledTiers"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledTiers"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCalledApplications"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCalledApplications"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToBackends"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToBackends"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToTiers"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToTiers"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumCallsToApplications"].Position + 1, sheet.Dimension.Rows, table.Columns["NumCallsToApplications"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumSEPs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumSEPs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumHTTPDCs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumHTTPDCs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ cfAddressNum = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["NumMIDCs"].Position + 1, sheet.Dimension.Rows, table.Columns["NumMIDCs"].Position + 1);
+ cfNum = sheet.ConditionalFormatting.AddDatabar(cfAddressNum, colorLightBlueForDatabars);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SEGMENTS_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT, 1], range, PIVOT_SEGMENTS_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "HasErrors");
+ addFilterFieldToPivot(pivot, "CallGraphType");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addColumnFieldToPivot(pivot, "UserExperience", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_SEGMENTS_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SEGMENTS_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 4, 1], range, PIVOT_SEGMENTS_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "HasErrors");
+ addFilterFieldToPivot(pivot, "CallGraphType");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "UserExperience", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+ addDataFieldToPivot(pivot, "Duration", DataFieldFunctions.Average);
+
+ chart = sheet.Drawings.AddChart(GRAPH_SEGMENTS_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region Exit Calls
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_EXIT_CALLS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["ToEntityName"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["ExitType"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["Detail"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["Method"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ToSegmentID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SegmentUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SegmentUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ ExcelAddress cfAddressDuration = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["Duration"].Position + 1, sheet.Dimension.Rows, table.Columns["Duration"].Position + 1);
+ var cfDuration = sheet.ConditionalFormatting.AddThreeColorScale(cfAddressDuration);
+ cfDuration.LowValue.Color = colorGreenFor3ColorScales;
+ cfDuration.MiddleValue.Type = eExcelConditionalFormattingValueObjectType.Percentile;
+ cfDuration.MiddleValue.Value = 70;
+ cfDuration.MiddleValue.Color = colorYellowFor3ColorScales;
+ cfDuration.HighValue.Color = colorRedFor3ColorScales;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 1, 1], range, PIVOT_EXIT_CALLS_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "ToEntityType");
+ addFilterFieldToPivot(pivot, "ToEntityName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "RequestID");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ addRowFieldToPivot(pivot, "ExitType");
+ addRowFieldToPivot(pivot, "Detail");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addDataFieldToPivot(pivot, "NumCalls", DataFieldFunctions.Sum, "Calls");
+ addDataFieldToPivot(pivot, "Duration", DataFieldFunctions.Average, "Average");
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_EXIT_CALLS_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+ sheet.Column(6).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 5, 1], range, PIVOT_EXIT_CALLS_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ToEntityType");
+ addFilterFieldToPivot(pivot, "ToEntityName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ addFilterFieldToPivot(pivot, "Detail", eSortType.Ascending);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "ExitType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "NumCalls", DataFieldFunctions.Sum, "Calls");
+ addDataFieldToPivot(pivot, "Duration", DataFieldFunctions.Average, "Average");
+
+ chart = sheet.Drawings.AddChart(GRAPH_EXIT_CALLS_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS_ERRORS_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1], range, PIVOT_EXIT_CALLS_ERRORS);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "ToEntityType");
+ addFilterFieldToPivot(pivot, "ToEntityName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "RequestID");
+ addFilterFieldToPivot(pivot, "DurationRange", eSortType.Ascending, true);
+ addFilterFieldToPivot(pivot, "HasErrors", eSortType.Ascending);
+ addRowFieldToPivot(pivot, "ExitType");
+ addRowFieldToPivot(pivot, "ErrorDetail");
+ addRowFieldToPivot(pivot, "Detail");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addDataFieldToPivot(pivot, "NumCalls", DataFieldFunctions.Sum, "Calls");
+ addDataFieldToPivot(pivot, "Duration", DataFieldFunctions.Average, "Average");
+
+ chart = sheet.Drawings.AddChart(GRAPH_EXIT_CALLS_ERRORS, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+ sheet.Column(6).Width = 20;
+ sheet.Column(7).Width = 20;
+ }
+
+ #endregion
+
+ #region Service Endpoint Calls
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINT_CALLS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_SERVICE_ENDPOINT_CALLS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SEPName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SegmentUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SegmentUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINT_CALLS_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT - 2, 1], range, PIVOT_SERVICE_ENDPOINT_CALLS_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "RequestID");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addRowFieldToPivot(pivot, "SEPName");
+ addColumnFieldToPivot(pivot, "SEPType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_SERVICE_ENDPOINT_CALLS_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINT_CALLS_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 1, 1], range, PIVOT_SERVICE_ENDPOINT_CALLS_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "SEPType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_SERVICE_ENDPOINT_CALLS_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region Detected Errors
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_DETECTED_ERRORS];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_DETECTED_ERRORS);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["ErrorName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ErrorMessage"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ErrorDetail"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SegmentUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SegmentUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_DETECTED_ERRORS_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT - 2, 1], range, PIVOT_DETECTED_ERRORS_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "RequestID");
+ addRowFieldToPivot(pivot, "ErrorType");
+ addRowFieldToPivot(pivot, "ErrorName");
+ addRowFieldToPivot(pivot, "ErrorMessage");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_DETECTED_ERRORS_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_DETECTED_ERRORS_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 5, 1], range, PIVOT_DETECTED_ERRORS_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ErrorName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ErrorMessage", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ErrorDetail", eSortType.Ascending);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "ErrorType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_DETECTED_ERRORS_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region Business Data
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_DATA];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_BUSINESS_DATA);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["DataName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["DataValue"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["DataType"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SegmentUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SegmentUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_DATA_TYPE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT - 2, 1], range, PIVOT_BUSINESS_DATA_TYPE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "RequestID");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addRowFieldToPivot(pivot, "DataName");
+ addColumnFieldToPivot(pivot, "DataType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_BUSINESS_DATA_TYPE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_DATA_TIMELINE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1], range, PIVOT_BUSINESS_DATA_TIMELINE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "Controller", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ApplicationName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "TierName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "DataName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "DataValue", eSortType.Ascending);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "DataType", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_BUSINESS_DATA_TIMELINE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region Method Call Lines
+
+ // Make table
+ sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES];
+ logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT + 1)
+ {
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT + 1, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ table = sheet.Tables.Add(range, TABLE_METHOD_CALL_LINES);
+ table.ShowHeader = true;
+ table.TableStyle = TableStyles.Medium2;
+ table.ShowFilter = true;
+ table.ShowTotal = false;
+
+ try
+ {
+ sheet.Column(table.Columns["Controller"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["ApplicationName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["TierName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["NodeName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["BTName"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["SnapshotUserExperience"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["RequestID"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["SegmentID"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["Type"].Position + 1).Width = 10;
+ sheet.Column(table.Columns["Framework"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["FullNameIndent"].Position + 1).Width = 45;
+ sheet.Column(table.Columns["ExitCalls"].Position + 1).Width = 15;
+ sheet.Column(table.Columns["Occurred"].Position + 1).Width = 20;
+ sheet.Column(table.Columns["OccurredUtc"].Position + 1).Width = 20;
+ }
+ catch (OutOfMemoryException ex)
+ {
+ // Do nothing, we must have a lot of cells
+ logger.Warn("Ran out of memory due to too many rows/cells");
+ logger.Warn(ex);
+ }
+
+ ExcelAddress cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SegmentUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SegmentUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ cfAddressUserExperience = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["SnapshotUserExperience"].Position + 1, sheet.Dimension.Rows, table.Columns["SnapshotUserExperience"].Position + 1);
+ addUserExperienceConditionalFormatting(sheet, cfAddressUserExperience);
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE_PIVOT];
+ ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 2, 1], range, PIVOT_METHOD_CALL_LINES_TYPE_EXEC_AVERAGE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "ElementType");
+ addFilterFieldToPivot(pivot, "NumChildren", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "NumExits", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "Depth", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ExecRange", eSortType.Ascending, true);
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addRowFieldToPivot(pivot, "FullName");
+ addColumnFieldToPivot(pivot, "Type", eSortType.Ascending);
+ addColumnFieldToPivot(pivot, "Framework", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "Exec", DataFieldFunctions.Average);
+
+ ExcelChart chart = sheet.Drawings.AddChart(GRAPH_METHOD_CALL_LINESTYPE_EXEC_AVERAGE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 1, 1], range, PIVOT_METHOD_CALL_LINES_LOCATION_EXEC_AVERAGE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "ElementType");
+ addFilterFieldToPivot(pivot, "NumChildren", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "NumExits", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "Depth", eSortType.Ascending);
+ addRowFieldToPivot(pivot, "Type");
+ addRowFieldToPivot(pivot, "Framework");
+ addRowFieldToPivot(pivot, "FullName");
+ addRowFieldToPivot(pivot, "Controller");
+ addRowFieldToPivot(pivot, "ApplicationName");
+ addRowFieldToPivot(pivot, "TierName");
+ addRowFieldToPivot(pivot, "BTName");
+ addColumnFieldToPivot(pivot, "ExecRange", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "Exec", DataFieldFunctions.Count);
+
+ chart = sheet.Drawings.AddChart(GRAPH_METHOD_CALL_LINESLOCATION_EXEC_AVERAGE, eChartType.ColumnClustered, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ sheet.Column(2).Width = 20;
+ sheet.Column(3).Width = 20;
+ sheet.Column(4).Width = 20;
+ sheet.Column(5).Width = 20;
+ sheet.Column(6).Width = 20;
+ sheet.Column(7).Width = 20;
+
+ sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE_PIVOT];
+ pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 6, 1], range, PIVOT_METHOD_CALL_LINES_TIMELINE_EXEC_AVERAGE);
+ setDefaultPivotTableSettings(pivot);
+ addFilterFieldToPivot(pivot, "ElementType");
+ addFilterFieldToPivot(pivot, "NumChildren", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "NumExits", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "Depth", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "Class", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "Method", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "FullName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "BTName", eSortType.Ascending);
+ addFilterFieldToPivot(pivot, "ExecRange", eSortType.Ascending, true);
+ ExcelPivotTableField fieldR = pivot.RowFields.Add(pivot.Fields["Occurred"]);
+ fieldR.AddDateGrouping(eDateGroupBy.Days | eDateGroupBy.Hours | eDateGroupBy.Minutes);
+ fieldR.Compact = false;
+ fieldR.Outline = false;
+ addColumnFieldToPivot(pivot, "Type", eSortType.Ascending);
+ addColumnFieldToPivot(pivot, "Framework", eSortType.Ascending);
+ addDataFieldToPivot(pivot, "Exec", DataFieldFunctions.Average);
+
+ chart = sheet.Drawings.AddChart(GRAPH_METHOD_CALL_LINESTIMELINE_EXEC_AVERAGE, eChartType.Line, pivot);
+ chart.SetPosition(2, 0, 0, 0);
+ chart.SetSize(800, 300);
+
+ sheet.Column(1).Width = 20;
+ }
+
+ #endregion
+
+ #region TOC sheet
+
+ // TOC sheet again
+ sheet = excelReport.Workbook.Worksheets[SHEET_TOC];
+ fillTableOfContentsSheet(sheet, excelReport);
+
+ #endregion
+
+ #region Save file
+
+ FileIOHelper.CreateFolder(FilePathMap.ReportFolderPath());
+
+ string reportFilePath = FilePathMap.SnapshotExcelReportFilePath(snapshot);
+ logger.Info("Saving Excel report {0}", reportFilePath);
+ loggerConsole.Info("Saving Excel report {0}", reportFilePath);
+
+ try
+ {
+ // Save full report Excel files
+ excelReport.SaveAs(new FileInfo(reportFilePath));
+ }
+ catch (InvalidOperationException ex)
+ {
+ logger.Warn("Unable to save Excel file {0}", reportFilePath);
+ logger.Warn(ex);
+ loggerConsole.Warn("Unable to save Excel file {0}", reportFilePath);
+ }
+
+ #endregion
+ }
+
+ #endregion
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ logger.Error(ex);
+ loggerConsole.Error(ex);
+
+ return false;
+ }
+ finally
+ {
+ stopWatch.Stop();
+
+ this.DisplayJobStepEndedStatus(jobConfiguration, stopWatch);
+
+ stepTimingFunction.EndTime = DateTime.Now;
+ stepTimingFunction.Duration = stopWatch.Elapsed;
+ stepTimingFunction.DurationMS = stopWatch.ElapsedMilliseconds;
+
+ List stepTimings = new List(1);
+ stepTimings.Add(stepTimingFunction);
+ FileIOHelper.WriteListToCSVFile(stepTimings, new StepTimingReportMap(), FilePathMap.StepTimingReportFilePath(), true);
+ }
+ }
+
+ public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration)
+ {
+ logger.Trace("LicensedReports.Snapshots={0}", programOptions.LicensedReports.Snapshots);
+ loggerConsole.Trace("LicensedReports.Snapshots={0}", programOptions.LicensedReports.Snapshots);
+ if (programOptions.LicensedReports.Snapshots == false)
+ {
+ loggerConsole.Warn("Not licensed for snapshots");
+ return false;
+ }
+
+ logger.Trace("Input.Snapshots={0}", jobConfiguration.Input.Snapshots);
+ loggerConsole.Trace("Input.Snapshots={0}", jobConfiguration.Input.Snapshots);
+ logger.Trace("Output.IndividualSnapshots={0}", jobConfiguration.Output.IndividualSnapshots);
+ loggerConsole.Trace("Output.IndividualSnapshots={0}", jobConfiguration.Output.IndividualSnapshots);
+ if (jobConfiguration.Input.Snapshots == false || jobConfiguration.Output.IndividualSnapshots == false)
+ {
+ loggerConsole.Trace("Skipping report of individual snapshots");
+ }
+ return (jobConfiguration.Input.Snapshots == true && jobConfiguration.Output.IndividualSnapshots == true);
+ }
+
+ }
+}
diff --git a/ProcessingSteps/Report/ReportAPMMetricGraphs.cs b/ProcessingSteps/Report/ReportAPMMetricGraphs.cs
index 8f57c5a..1010d6f 100644
--- a/ProcessingSteps/Report/ReportAPMMetricGraphs.cs
+++ b/ProcessingSteps/Report/ReportAPMMetricGraphs.cs
@@ -39,7 +39,7 @@ public class ReportAPMMetricGraphs : JobStepReportBase
private const string SHEET_ENTITIES_METRICS = "Entity.Metrics";
- private const string SHEET_PIVOT_GRAPH_METRICS_ALL_ENTITIES = "12.Graph.{0}";
+ private const string SHEET_PIVOT_GRAPH_METRICS_ALL_ENTITIES = "12.G.{0}";
private const string TABLE_CONTROLLERS = "t_Controllers";
@@ -421,13 +421,15 @@ public override bool ShouldExecute(ProgramOptions programOptions, JobConfigurati
logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics);
loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics);
+ logger.Trace("Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail={0}", jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail);
+ loggerConsole.Trace("Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail={0}", jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail);
logger.Trace("Output.EntityMetricGraphs={0}", jobConfiguration.Output.EntityMetricGraphs);
loggerConsole.Trace("Output.EntityMetricGraphs={0}", jobConfiguration.Output.EntityMetricGraphs);
- if (jobConfiguration.Input.Metrics == false || jobConfiguration.Output.EntityMetricGraphs == false)
+ if (jobConfiguration.Input.Metrics == false || jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail == false || jobConfiguration.Output.EntityMetricGraphs == false)
{
loggerConsole.Trace("Skipping report of entity metric graphs");
}
- return (jobConfiguration.Input.Metrics == true && jobConfiguration.Output.EntityMetricGraphs == true);
+ return (jobConfiguration.Input.Metrics == true && jobConfiguration.Input.MetricsSelectionCriteria.IncludeHourAndMinuteDetail == true && jobConfiguration.Output.EntityMetricGraphs == true);
}
private ExcelPackage createIndividualEntityMetricGraphsReportTemplate(ProgramOptions programOptions, JobConfiguration jobConfiguration, JobTarget jobTarget)
@@ -481,7 +483,7 @@ private ExcelPackage createIndividualEntityMetricGraphsReportTemplate(ProgramOpt
sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
- range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryIndexFilePath(jobTarget), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryIndexFilePath(jobTarget), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
if (range != null)
{
table = sheet.Tables.Add(range, TABLE_CONTROLLERS);
@@ -570,7 +572,7 @@ private void fillMetricValueTablesForEntityType(
string metricsValuesFilePath = FilePathMap.MetricValuesIndexFilePath(jobTarget, entityFolderName, metricExtractMapping.FolderName);
if (File.Exists(metricsValuesFilePath) == true)
{
- ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(metricsValuesFilePath, 0, sheetMetrics, fromRow, fromColumn);
+ ExcelRangeBase range = EPPlusCSVHelper.ReadCSVFileIntoExcelRange(metricsValuesFilePath, 0, typeof(MetricValue), sheetMetrics, fromRow, fromColumn);
if (range != null)
{
if (range.Rows == 1)
@@ -1497,8 +1499,8 @@ private void fillPivotGraphsForEntityType(
sheetGraphs.Cells[2, 1].Value = "See Data";
sheetGraphs.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_ENTITIES_METRICS);
sheetGraphs.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheetGraphs.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 3, 1);
- excelReportMetrics.Workbook.Worksheets.MoveBefore(worksheetName, SHEET_ENTITIES_METRICS);
+ sheetGraphs.View.FreezePanes(PIVOT_SHEET_START_PIVOT_AT + PIVOT_SHEET_CHART_HEIGHT + 4, 1);
+ excelReportMetrics.Workbook.Worksheets.MoveBefore(sheetGraphs.Name, SHEET_ENTITIES_METRICS);
sheetGraphs.Cells[1, 3].Value = metricExtractMapping.MetricName;
sheetGraphs.Cells[2, 3].Value = metricExtractMapping.MetricPath;
@@ -1514,6 +1516,7 @@ private void fillPivotGraphsForEntityType(
fieldR.Compact = false;
fieldR.Outline = false;
addColumnFieldToPivot(pivot, "EntityName", eSortType.Ascending);
+ addColumnFieldToPivot(pivot, "MetricName", eSortType.Ascending);
addDataFieldToPivot(pivot, "Value", DataFieldFunctions.Average);
ExcelChart chart = sheetGraphs.Drawings.AddChart(String.Format(GRAPH_METRICS_ALL_ENTITIES, metricExtractMapping.FolderName), eChartType.Line, pivot);
diff --git a/ProcessingSteps/Report/ReportAPMMetrics.cs b/ProcessingSteps/Report/ReportAPMMetrics.cs
index fcf7288..ef9ecdc 100644
--- a/ProcessingSteps/Report/ReportAPMMetrics.cs
+++ b/ProcessingSteps/Report/ReportAPMMetrics.cs
@@ -94,7 +94,7 @@ public class ReportAPMMetrics : JobStepReportBase
private const string GRAPH_INFORMATION_POINTS_FULL = "g_InformationPoints_Full_Scatter";
private const string GRAPH_INFORMATION_POINTS_HOURLY = "g_InformationPoints_Hourly_Scatter";
- private const int LIST_SHEET_START_TABLE_AT = 17;
+ private const int LIST_SHEET_START_TABLE_AT = 4;
private const int PIVOT_SHEET_START_PIVOT_AT = 7;
private const int PIVOT_SHEET_CHART_HEIGHT = 14;
@@ -172,7 +172,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[1, 1].Value = "Table of Contents";
sheet.Cells[1, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_TOC);
sheet.Cells[1, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT - 13 + 1, 1);
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_APPLICATIONS_FULL);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -373,7 +373,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Pivot";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_ERRORS_PERF_PIVOT);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT - 13 + 1, 1);
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_ERRORS_HOURLY);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -382,7 +382,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet.Cells[2, 1].Value = "See Pivot";
sheet.Cells[2, 2].Formula = String.Format(@"=HYPERLINK(""#'{0}'!A1"", """")", SHEET_ERRORS_PERF_PIVOT);
sheet.Cells[2, 2].StyleName = "HyperLinkStyle";
- sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT - 13 + 1, 1);
+ sheet.View.FreezePanes(LIST_SHEET_START_TABLE_AT + 1, 1);
sheet = excelReport.Workbook.Worksheets.Add(SHEET_ERRORS_PERF_PIVOT);
sheet.Cells[1, 1].Value = "Table of Contents";
@@ -436,7 +436,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -445,12 +445,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMApplication.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMApplication.ENTITY_FOLDER), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Applications (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMApplication.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMApplication.ENTITY_FOLDER), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -459,12 +459,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Tiers (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMTier.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMTier.ENTITY_FOLDER), 0, typeof(APMTier), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Tiers (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMTier.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMTier.ENTITY_FOLDER), 0, typeof(APMTier), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -473,12 +473,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Nodes (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMNode.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMNode.ENTITY_FOLDER), 0, typeof(APMNode), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Nodes (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMNode.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMNode.ENTITY_FOLDER), 0, typeof(APMNode), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -487,12 +487,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Backends (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_BACKENDS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMBackend.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMBackend.ENTITY_FOLDER), 0, typeof(APMBackend), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Backends (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_BACKENDS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMBackend.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMBackend.ENTITY_FOLDER), 0, typeof(APMBackend), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -501,12 +501,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Business Transactions (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMBusinessTransaction.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMBusinessTransaction.ENTITY_FOLDER), 0, typeof(APMBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Business Transactions (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMBusinessTransaction.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMBusinessTransaction.ENTITY_FOLDER), 0, typeof(APMBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -515,12 +515,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Service Endpoints (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINTS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMServiceEndpoint.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMServiceEndpoint.ENTITY_FOLDER), 0, typeof(APMServiceEndpoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Service Endpoints (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINTS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMServiceEndpoint.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMServiceEndpoint.ENTITY_FOLDER), 0, typeof(APMServiceEndpoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -529,12 +529,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Errors (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_ERRORS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMError.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMError.ENTITY_FOLDER), 0, typeof(APMError), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Errors (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_ERRORS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMError.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT - 13, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMError.ENTITY_FOLDER), 0, typeof(APMError), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -543,12 +543,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Information Points (Full)");
sheet = excelReport.Workbook.Worksheets[SHEET_INFORMATION_POINTS_FULL];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMInformationPoint.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesFullReportFilePath(APMInformationPoint.ENTITY_FOLDER), 0, typeof(APMInformationPoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Information Points (Hourly)");
sheet = excelReport.Workbook.Worksheets[SHEET_INFORMATION_POINTS_HOURLY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMInformationPoint.ENTITY_FOLDER), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EntitiesHourReportFilePath(APMInformationPoint.ENTITY_FOLDER), 0, typeof(APMInformationPoint), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -560,9 +560,9 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
- if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT - 13)
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
{
- range = sheet.Cells[LIST_SHEET_START_TABLE_AT - 13, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
table = sheet.Tables.Add(range, TABLE_CONTROLLERS);
table.ShowHeader = true;
table.TableStyle = TableStyles.Medium2;
@@ -593,7 +593,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
adjustColumnsOfEntityRowTableInMetricReport(APMApplication.ENTITY_TYPE, sheet, table);
addConditionalFormattingToTableInMetricReport(APMApplication.ENTITY_TYPE, sheet, table);
- addScatterChartToEntityMetricSheet(sheet, table, "ApplicationName", GRAPH_APPLICATIONS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "ApplicationName", GRAPH_APPLICATIONS_FULL);
}
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_HOURLY];
@@ -611,7 +611,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
adjustColumnsOfEntityRowTableInMetricReport(APMApplication.ENTITY_TYPE, sheet, table);
addConditionalFormattingToTableInMetricReport(APMApplication.ENTITY_TYPE, sheet, table);
- addScatterChartToEntityMetricSheet(sheet, table, "ApplicationName", GRAPH_APPLICATIONS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "ApplicationName", GRAPH_APPLICATIONS_HOURLY);
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_PERF_PIVOT];
ExcelPivotTable pivot = sheet.PivotTables.Add(sheet.Cells[PIVOT_SHEET_START_PIVOT_AT + 1, 1], range, PIVOT_APPLICATIONS);
@@ -658,7 +658,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "TierName", GRAPH_TIERS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "TierName", GRAPH_TIERS_FULL);
}
}
@@ -679,7 +679,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "TierName", GRAPH_TIERS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "TierName", GRAPH_TIERS_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_PERF_PIVOT];
@@ -752,7 +752,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "NodeName", GRAPH_NODES_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "NodeName", GRAPH_NODES_FULL);
}
}
@@ -773,7 +773,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "NodeName", GRAPH_NODES_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "NodeName", GRAPH_NODES_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_PERF_PIVOT];
@@ -850,7 +850,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "BackendName", GRAPH_BACKENDS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "BackendName", GRAPH_BACKENDS_FULL);
}
}
@@ -871,7 +871,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "BackendName", GRAPH_BACKENDS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "BackendName", GRAPH_BACKENDS_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_BACKENDS_PERF_PIVOT];
@@ -919,7 +919,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "BTName", GRAPH_BUSINESS_TRANSACTIONS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "BTName", GRAPH_BUSINESS_TRANSACTIONS_FULL);
}
}
@@ -940,7 +940,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "BTName", GRAPH_BUSINESS_TRANSACTIONS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "BTName", GRAPH_BUSINESS_TRANSACTIONS_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_PERF_PIVOT];
@@ -990,7 +990,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "SEPName", GRAPH_SERVICE_ENDPOINTS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "SEPName", GRAPH_SERVICE_ENDPOINTS_FULL);
}
}
@@ -1011,7 +1011,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "SEPName", GRAPH_SERVICE_ENDPOINTS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "SEPName", GRAPH_SERVICE_ENDPOINTS_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINTS_PERF_PIVOT];
@@ -1047,9 +1047,9 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet = excelReport.Workbook.Worksheets[SHEET_ERRORS_FULL];
logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
- if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT - 13)
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
{
- range = sheet.Cells[LIST_SHEET_START_TABLE_AT - 13, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
table = sheet.Tables.Add(range, TABLE_ERRORS_FULL);
table.ShowHeader = true;
table.TableStyle = TableStyles.Medium2;
@@ -1063,9 +1063,9 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
sheet = excelReport.Workbook.Worksheets[SHEET_ERRORS_HOURLY];
logger.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
loggerConsole.Info("{0} Sheet ({1} rows)", sheet.Name, sheet.Dimension.Rows);
- if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT - 13)
+ if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
{
- range = sheet.Cells[LIST_SHEET_START_TABLE_AT - 13, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
+ range = sheet.Cells[LIST_SHEET_START_TABLE_AT, 1, sheet.Dimension.Rows, sheet.Dimension.Columns];
table = sheet.Tables.Add(range, TABLE_ERRORS_HOURLY);
table.ShowHeader = true;
table.TableStyle = TableStyles.Medium2;
@@ -1117,7 +1117,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "IPName", GRAPH_INFORMATION_POINTS_FULL);
+ // addScatterChartToEntityMetricSheet(sheet, table, "IPName", GRAPH_INFORMATION_POINTS_FULL);
}
}
@@ -1138,7 +1138,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
if (sheet.Dimension.Rows < 2018)
{
- addScatterChartToEntityMetricSheet(sheet, table, "IPName", GRAPH_INFORMATION_POINTS_HOURLY);
+ // addScatterChartToEntityMetricSheet(sheet, table, "IPName", GRAPH_INFORMATION_POINTS_HOURLY);
}
sheet = excelReport.Workbook.Worksheets[SHEET_INFORMATION_POINTS_PERF_PIVOT];
@@ -1285,7 +1285,7 @@ private static void addConditionalFormattingToTableInMetricReport(string entityT
}
else if (entityType == APMError.ENTITY_TYPE)
{
- ExcelAddress cfAddressEPM = new ExcelAddress(LIST_SHEET_START_TABLE_AT - 13 + 1, table.Columns["EPM"].Position + 1, sheet.Dimension.Rows, table.Columns["EPM"].Position + 1);
+ ExcelAddress cfAddressEPM = new ExcelAddress(LIST_SHEET_START_TABLE_AT + 1, table.Columns["EPM"].Position + 1, sheet.Dimension.Rows, table.Columns["EPM"].Position + 1);
var cfEPM = sheet.ConditionalFormatting.AddThreeColorScale(cfAddressEPM);
cfEPM.LowValue.Color = colorGreenFor3ColorScales;
cfEPM.MiddleValue.Type = eExcelConditionalFormattingValueObjectType.Percentile;
diff --git a/ProcessingSteps/Report/ReportAPMSnapshots.cs b/ProcessingSteps/Report/ReportAPMSnapshots.cs
index 7ae4247..f2b8eb6 100644
--- a/ProcessingSteps/Report/ReportAPMSnapshots.cs
+++ b/ProcessingSteps/Report/ReportAPMSnapshots.cs
@@ -383,7 +383,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -392,7 +392,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationSnapshotsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationSnapshotsReportFilePath(), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -401,7 +401,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Snapshots");
sheet = excelReport.Workbook.Worksheets[SHEET_SNAPSHOTS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsReportFilePath(), 0, typeof(Snapshot), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -409,7 +409,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Segments");
sheet = excelReport.Workbook.Worksheets[SHEET_SEGMENTS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsSegmentsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsSegmentsReportFilePath(), 0, typeof(Segment), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -418,7 +418,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Exit Calls");
sheet = excelReport.Workbook.Worksheets[SHEET_EXIT_CALLS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsExitCallsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsExitCallsReportFilePath(), 0, typeof(ExitCall), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -427,7 +427,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Service Endpoint Calls");
sheet = excelReport.Workbook.Worksheets[SHEET_SERVICE_ENDPOINT_CALLS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsServiceEndpointCallsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsServiceEndpointCallsReportFilePath(), 0, typeof(ServiceEndpointCall), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -436,7 +436,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Detected Errors");
sheet = excelReport.Workbook.Worksheets[SHEET_DETECTED_ERRORS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsDetectedErrorsCallsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsDetectedErrorsReportFilePath(), 0, typeof(DetectedError), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -445,7 +445,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Business Data");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_DATA];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsBusinessDataReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsBusinessDataReportFilePath(), 0, typeof(BusinessData), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -1178,7 +1178,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
addColumnFieldToPivot(pivot, "DataType", eSortType.Ascending);
addDataFieldToPivot(pivot, "SegmentID", DataFieldFunctions.Count);
- chart = sheet.Drawings.AddChart(GRAPH_BUSINESS_DATA_TYPE, eChartType.Line, pivot);
+ chart = sheet.Drawings.AddChart(GRAPH_BUSINESS_DATA_TIMELINE, eChartType.Line, pivot);
chart.SetPosition(2, 0, 0, 0);
chart.SetSize(800, 300);
diff --git a/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs b/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs
index 4c1f13d..d14b427 100644
--- a/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs
+++ b/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs
@@ -183,7 +183,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -192,7 +192,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationSnapshotsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationSnapshotsReportFilePath(), 0, typeof(APMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -201,7 +201,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Method Call Lines");
sheet = excelReport.Workbook.Worksheets[SHEET_METHOD_CALL_LINES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsMethodCallLinesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT + 1, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SnapshotsMethodCallLinesReportFilePath(), 0, typeof(MethodCallLine),sheet, LIST_SHEET_START_TABLE_AT + 1, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs b/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs
index 7e76abc..1a1879c 100644
--- a/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs
+++ b/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs
@@ -255,7 +255,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -264,7 +264,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventsSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventsSummaryReportFilePath(), 0, typeof(ApplicationEventSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -273,14 +273,14 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Events");
sheet = excelReport.Workbook.Worksheets[SHEET_EVENTS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventsReportFilePath(), 0, typeof(Event), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
#region Event Details
sheet = excelReport.Workbook.Worksheets[SHEET_EVENT_DETAILS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventDetailsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationEventDetailsReportFilePath(), 0, typeof(EventDetail), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -289,7 +289,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Health Rule Violation Events");
sheet = excelReport.Workbook.Worksheets[SHEET_HEALTH_RULE_VIOLATIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationHealthRuleViolationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationHealthRuleViolationsReportFilePath(), 0, typeof(HealthRuleViolationEvent), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -298,7 +298,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Audit Events");
sheet = excelReport.Workbook.Worksheets[SHEET_AUDIT_EVENTS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.AuditEventsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.AuditEventsReportFilePath(), 0, typeof(AuditEvent), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -307,7 +307,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Notifications");
sheet = excelReport.Workbook.Worksheets[SHEET_NOTIFICATIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.NotificationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.NotificationsReportFilePath(), 0, typeof(Event), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportBIQEntities.cs b/ProcessingSteps/Report/ReportBIQEntities.cs
index 864333c..5a5d404 100644
--- a/ProcessingSteps/Report/ReportBIQEntities.cs
+++ b/ProcessingSteps/Report/ReportBIQEntities.cs
@@ -282,7 +282,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -291,7 +291,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -300,7 +300,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_BIQ_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQApplicationsReportFilePath(), 0, typeof(BIQApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -309,7 +309,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Searches");
sheet = excelReport.Workbook.Worksheets[SHEET_SEARCHES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSearchesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSearchesReportFilePath(), 0, typeof(BIQSearch), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -318,7 +318,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Widgets");
sheet = excelReport.Workbook.Worksheets[SHEET_WIDGETS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQWidgetsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQWidgetsReportFilePath(), 0, typeof(BIQWidget), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -327,7 +327,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Saved Metrics");
sheet = excelReport.Workbook.Worksheets[SHEET_SAVED_METRICS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQMetricsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQMetricsReportFilePath(), 0, typeof(BIQMetric), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -336,7 +336,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Business Journeys");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_JOURNEYS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQBusinessJourneysReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQBusinessJourneysReportFilePath(), 0, typeof(BIQBusinessJourney), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -345,7 +345,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Experience Levels");
sheet = excelReport.Workbook.Worksheets[SHEET_EXPERIENCE_LEVELS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQExperienceLevelsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQExperienceLevelsReportFilePath(), 0, typeof(BIQExperienceLevel), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -354,7 +354,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Schemas");
sheet = excelReport.Workbook.Worksheets[SHEET_SCHEMAS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSchemasReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSchemasReportFilePath(), 0, typeof(BIQSchema), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -363,7 +363,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Schema Fields");
sheet = excelReport.Workbook.Worksheets[SHEET_FIELDS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSchemaFieldsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.BIQSchemaFieldsReportFilePath(), 0, typeof(BIQSchema), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs b/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs
index 229c384..4d238b0 100644
--- a/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs
+++ b/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs
@@ -679,7 +679,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -688,7 +688,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -697,7 +697,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controller Settings");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLER_SETTINGS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSettingsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSettingsReportFilePath(), 0, typeof(ControllerSetting), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -706,7 +706,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Email Alert Templates");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLER_EMAIL_ALERT_TEMPLATES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EmailTemplatesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.EmailTemplatesReportFilePath(), 0, typeof(EmailAlertTemplate), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -715,7 +715,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of HTTP Alert Templates");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLER_HTTP_ALERT_TEMPLATES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.HTTPTemplatesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.HTTPTemplatesReportFilePath(), 0, typeof(HTTPAlertTemplate), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -724,7 +724,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Application Health Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APP_HEALTH_RULES_SUMMARY];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationConfigurationHealthRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationConfigurationHealthRulesReportFilePath(), 0, typeof(ApplicationConfigurationPolicy), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -733,7 +733,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Health Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APP_HEALTH_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationHealthRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationHealthRulesReportFilePath(), 0, typeof(HealthRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -742,7 +742,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Policies");
sheet = excelReport.Workbook.Worksheets[SHEET_APP_POLICIES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationPoliciesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationPoliciesReportFilePath(), 0, typeof(Policy), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -751,7 +751,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Actions");
sheet = excelReport.Workbook.Worksheets[SHEET_APP_ACTIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationActionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationActionsReportFilePath(), 0, typeof(ReportObjects.Action), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -760,7 +760,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Policy and Action Mappings");
sheet = excelReport.Workbook.Worksheets[SHEET_APP_POLICIES_TO_ACTIONS_MAPPING];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationPolicyActionMappingsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ApplicationPolicyActionMappingsReportFilePath(), 0, typeof(PolicyActionMapping), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -769,7 +769,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Application Config");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_APPLICATION_CONFIGURATION];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMApplicationConfigurationReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMApplicationConfigurationReportFilePath(), 0, typeof(APMApplicationConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -778,7 +778,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction Detection Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_DISCOVERY_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionDiscoveryRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionDiscoveryRulesReportFilePath(), 0, typeof(BusinessTransactionDiscoveryRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -787,7 +787,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction Entry Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_ENTRY_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryRulesReportFilePath(), 0, typeof(BusinessTransactionEntryRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -796,7 +796,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Service Endpoint Discovery Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_SERVICE_ENDPOINT_DISCOVERY_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointDiscoveryRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointDiscoveryRulesReportFilePath(), 0, typeof(ServiceEndpointDiscoveryRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -805,7 +805,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Service Endpoint Entry Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_SERVICE_ENDPOINT_ENTRY_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointEntryRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMServiceEndpointEntryRulesReportFilePath(), 0, typeof(ServiceEndpointEntryRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -814,7 +814,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction Scopes");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_SCOPES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryScopesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryScopesReportFilePath(), 0, typeof(BusinessTransactionEntryScope), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -823,7 +823,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction 2.0 Detection Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_DISCOVERY_RULES_20];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionDiscoveryRules20ReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionDiscoveryRules20ReportFilePath(), 0, typeof(BusinessTransactionDiscoveryRule20), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -832,7 +832,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction 2.0 Entry Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_ENTRY_RULES_20];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryRules20ReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionEntryRules20ReportFilePath(), 0, typeof(BusinessTransactionEntryRule20), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -841,7 +841,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Backend Detection Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BACKEND_DISCOVERY_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBackendDiscoveryRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBackendDiscoveryRulesReportFilePath(), 0, typeof(BackendDiscoveryRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -850,7 +850,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Custom Exit Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_CUSTOM_EXIT_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMCustomExitRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMCustomExitRulesReportFilePath(), 0, typeof(CustomExitRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -859,7 +859,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Information Point Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_INFORMATION_POINT_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMInformationPointRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMInformationPointRulesReportFilePath(), 0, typeof(InformationPointRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -868,7 +868,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Agent Configuration Properties");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_AGENT_CONFIGURATION_PROPERTIES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMAgentConfigurationPropertiesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMAgentConfigurationPropertiesReportFilePath(), 0, typeof(AgentConfigurationProperty), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -877,12 +877,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Method Invocation Data Collectors");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_METHOD_INVOCATION_DATA_COLLECTORS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMMethodInvocationDataCollectorsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMMethodInvocationDataCollectorsReportFilePath(), 0, typeof(MethodInvocationDataCollector), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of HTTP Data Collectors");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_HTTP_DATA_COLLECTORS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMHttpDataCollectorsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMHttpDataCollectorsReportFilePath(), 0, typeof(HTTPDataCollector), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -891,7 +891,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Tier Settings");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_TIER_SETTINGS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMTierConfigurationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMTierConfigurationsReportFilePath(), 0, typeof(TierConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -900,7 +900,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Business Transaction Configurations");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_BUSINESS_TRANSACTION_SETTINGS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionConfigurationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMBusinessTransactionConfigurationsReportFilePath(), 0, typeof(BusinessTransactionConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -909,7 +909,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Agent Call Graph Settings");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_AGENT_CALL_GRAPH_SETTINGS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMAgentCallGraphSettingsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMAgentCallGraphSettingsReportFilePath(), 0, typeof(AgentCallGraphSetting), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -918,7 +918,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of APM Developer Mode Nodes");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_DEVELOPER_MODE_NODES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMDeveloperModeNodesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMDeveloperModeNodesReportFilePath(), 0, typeof(DeveloperModeNode), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -927,32 +927,32 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Error Detection Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionRulesReportFilePath(), 0, typeof(ErrorDetectionRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Error Detection Ignore Messages");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_IGNORE_MESSAGES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionIgnoreMessagesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionIgnoreMessagesReportFilePath(), 0, typeof(ErrorDetectionIgnoreMessage), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Error Detection Ignore Loggers");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_IGNORE_LOGGERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionIgnoreLoggersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionIgnoreLoggersReportFilePath(), 0, typeof(ErrorDetectionIgnoreLogger), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Error Detection Loggers");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_LOGGERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionLoggersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionLoggersReportFilePath(), 0, typeof(ErrorDetectionLogger), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Error Detection HTTP Codes");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_HTTP_CODES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionHTTPCodesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionHTTPCodesReportFilePath(), 0, typeof(ErrorDetectionHTTPCode), sheet, LIST_SHEET_START_TABLE_AT, 1);
loggerConsole.Info("List of Error Detection Redirect Pages");
sheet = excelReport.Workbook.Worksheets[SHEET_APM_ERROR_DETECTION_REDIRECT_PAGES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionRedirectPagesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMErrorDetectionRedirectPagesReportFilePath(), 0, typeof(ErrorDetectionRedirectPage), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -961,7 +961,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of DB Application Config");
sheet = excelReport.Workbook.Worksheets[SHEET_DB_APPLICATION_CONFIGURATION];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBApplicationConfigurationReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBApplicationConfigurationReportFilePath(), 0, typeof(DBApplicationConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -970,7 +970,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of DB Collector Definitions");
sheet = excelReport.Workbook.Worksheets[SHEET_DB_COLLECTOR_DEFINITIONS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCollectorDefinitionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCollectorDefinitionsReportFilePath(), 0, typeof(DBCollectorDefinition), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -979,7 +979,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of DB Custom Metrics");
sheet = excelReport.Workbook.Worksheets[SHEET_DB_CUSTOM_METRICS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCustomMetricsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCustomMetricsReportFilePath(), 0, typeof(DBCustomMetric), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -988,7 +988,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of WEB Application Config");
sheet = excelReport.Workbook.Worksheets[SHEET_WEB_APPLICATION_CONFIGURATION];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBApplicationConfigurationReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBApplicationConfigurationReportFilePath(), 0, typeof(WEBApplicationConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -997,7 +997,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of WEB Pages and AJAX Request Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_WEB_PAGE_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageAjaxVirtualPageRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageAjaxVirtualPageRulesReportFilePath(), 0, typeof(WEBPageDetectionRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -1006,7 +1006,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of WEB Synthetic Jobs");
sheet = excelReport.Workbook.Worksheets[SHEET_WEB_SYNTHETIC_JOBS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBSyntheticJobsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBSyntheticJobsReportFilePath(), 0, typeof(WEBSyntheticJobDefinition), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -1015,7 +1015,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of MOBILE Application Config");
sheet = excelReport.Workbook.Worksheets[SHEET_MOBILE_APPLICATION_CONFIGURATION];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILEApplicationConfigurationReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILEApplicationConfigurationReportFilePath(), 0, typeof(MOBILEApplicationConfiguration), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -1024,7 +1024,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of MOBILE Network Request Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_MOBILE_NETWORK_REQUEST_RULES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestRulesReportFilePath(), 0, typeof(MOBILENetworkRequestRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -1033,7 +1033,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Configuration Differences");
sheet = excelReport.Workbook.Worksheets[SHEET_CONFIGURATION_DIFFERENCES];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ConfigurationComparisonReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ConfigurationComparisonReportFilePath(), 0, typeof(ConfigurationDifference), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs b/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs
index c7f29b3..2fc94f4 100644
--- a/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs
+++ b/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs
@@ -243,7 +243,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RBACControllerSummaryReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RBACControllerSummaryReportFilePath(), 0, typeof(RBACControllerSummary), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -252,7 +252,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Users");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_USERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.UsersReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.UsersReportFilePath(), 0, typeof(RBACUser), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -261,7 +261,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Groups");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_GROUPS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.GroupsReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.GroupsReportFilePath(), 0, typeof(RBACGroup), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -270,7 +270,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Roles");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_ROLES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RolesReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RolesReportFilePath(), 0, typeof(RBACRole), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -279,7 +279,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Permissions");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_PERMISSIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.PermissionsReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.PermissionsReportFilePath(), 0, typeof(RBACPermission), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -288,7 +288,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of User Permissions");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_USER_PERMISSIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.UserPermissionsReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.UserPermissionsReportFilePath(), 0, typeof(RBACUserPermission), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -297,7 +297,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Group Memberships");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_GROUP_MEMBERSHIPS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.GroupMembershipsReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.GroupMembershipsReportFilePath(), 0, typeof(RBACGroupMembership), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -306,7 +306,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Role Memberships");
sheet = excelReport.Workbook.Worksheets[REPORT_RBAC_SHEET_ROLE_MEMBERSHIPS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RoleMembershipsReportFilePath(), 0, sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.RoleMembershipsReportFilePath(), 0, typeof(RBACRoleMembership), sheet, REPORT_RBAC_LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportDBEntities.cs b/ProcessingSteps/Report/ReportDBEntities.cs
index 9ddbc8a..37262b5 100644
--- a/ProcessingSteps/Report/ReportDBEntities.cs
+++ b/ProcessingSteps/Report/ReportDBEntities.cs
@@ -361,7 +361,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -370,7 +370,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -379,7 +379,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_DB_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBApplicationsReportFilePath(), 0, typeof(DBApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -388,7 +388,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Collectors");
sheet = excelReport.Workbook.Worksheets[SHEET_COLLECTORS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCollectorsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBCollectorsReportFilePath(), 0, typeof(DBCollector), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -397,7 +397,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Queries");
sheet = excelReport.Workbook.Worksheets[SHEET_QUERIES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBQueriesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBQueriesReportFilePath(), 0, typeof(DBQuery), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -406,7 +406,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Users");
sheet = excelReport.Workbook.Worksheets[SHEET_USERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBUsersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBUsersReportFilePath(), 0, typeof(DBUser), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -415,7 +415,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Sessions");
sheet = excelReport.Workbook.Worksheets[SHEET_SESSIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBSessionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBSessionsReportFilePath(), 0, typeof(DBSession), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -424,7 +424,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Blocking Sessions");
sheet = excelReport.Workbook.Worksheets[SHEET_BLOCKING_SESSIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBBlockingSessionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBBlockingSessionsReportFilePath(), 0, typeof(DBBlockingSession), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -433,7 +433,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Clients");
sheet = excelReport.Workbook.Worksheets[SHEET_CLIENTS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBClientsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBClientsReportFilePath(), 0, typeof(DBClient), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -442,7 +442,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Databases");
sheet = excelReport.Workbook.Worksheets[SHEET_DATABASES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBDatabasesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBDatabasesReportFilePath(), 0, typeof(DBDatabase), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -451,7 +451,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Modules");
sheet = excelReport.Workbook.Worksheets[SHEET_MODULES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBModulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBModulesReportFilePath(), 0, typeof(DBModule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -460,7 +460,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Programs");
sheet = excelReport.Workbook.Worksheets[SHEET_PROGRAMS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBProgramsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBProgramsReportFilePath(), 0, typeof(DBProgram), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -469,7 +469,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Business Transactions");
sheet = excelReport.Workbook.Worksheets[SHEET_BUSINESS_TRANSACTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBBusinessTransactionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBBusinessTransactionsReportFilePath(), 0, typeof(DBBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -478,7 +478,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Wait States");
sheet = excelReport.Workbook.Worksheets[SHEET_WAITSTATES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBWaitStatesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DBWaitStatesReportFilePath(), 0, typeof(DBProgram), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportDashboards.cs b/ProcessingSteps/Report/ReportDashboards.cs
index afa9904..bc5a199 100644
--- a/ProcessingSteps/Report/ReportDashboards.cs
+++ b/ProcessingSteps/Report/ReportDashboards.cs
@@ -203,7 +203,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -212,7 +212,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -221,7 +221,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Dashboards");
sheet = excelReport.Workbook.Worksheets[SHEET_DASHBOARDS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardsReportFilePath(), 0, typeof(Dashboard), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -230,7 +230,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Widgets");
sheet = excelReport.Workbook.Worksheets[SHEET_WIDGETS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardWidgetsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardWidgetsReportFilePath(), 0, typeof(DashboardWidget), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -239,7 +239,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Widget Data Series");
sheet = excelReport.Workbook.Worksheets[SHEET_DATA_SERIES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardMetricSeriesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.DashboardMetricSeriesReportFilePath(), 0, typeof(DashboardMetricSeries), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportHealthCheck.cs b/ProcessingSteps/Report/ReportHealthCheck.cs
index b6283f4..c492f5b 100644
--- a/ProcessingSteps/Report/ReportHealthCheck.cs
+++ b/ProcessingSteps/Report/ReportHealthCheck.cs
@@ -165,7 +165,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -174,7 +174,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -183,14 +183,14 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Health Check Results");
sheet = excelReport.Workbook.Worksheets[SHEET_HEALTH_CHECK_RULE_RESULTS];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMHealthCheckRuleResultsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.APMHealthCheckRuleResultsReportFilePath(), 0, typeof(HealthCheckRuleResult), sheet, LIST_SHEET_START_TABLE_AT, 1);
if (sheet.Dimension.Rows > LIST_SHEET_START_TABLE_AT)
{
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerHealthCheckRuleResultsReportFilePath(), 1, sheet, sheet.Dimension.Rows + 1, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerHealthCheckRuleResultsReportFilePath(), 1, typeof(HealthCheckRuleResult), sheet, sheet.Dimension.Rows + 1, 1);
}
else
{
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerHealthCheckRuleResultsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerHealthCheckRuleResultsReportFilePath(), 0, typeof(HealthCheckRuleResult), sheet, LIST_SHEET_START_TABLE_AT, 1);
}
#endregion
diff --git a/ProcessingSteps/Report/ReportLicenses.cs b/ProcessingSteps/Report/ReportLicenses.cs
index 552d9c3..3de1cad 100644
--- a/ProcessingSteps/Report/ReportLicenses.cs
+++ b/ProcessingSteps/Report/ReportLicenses.cs
@@ -7,6 +7,7 @@
using OfficeOpenXml.Table.PivotTable;
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
@@ -243,7 +244,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -252,7 +253,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -261,7 +262,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Accounts");
sheet = excelReport.Workbook.Worksheets[SHEET_ACCOUNTS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseAccountReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseAccountReportFilePath(), 0, typeof(LicenseAccountSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -270,7 +271,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Licenses");
sheet = excelReport.Workbook.Worksheets[SHEET_LICENSES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicensesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicensesReportFilePath(), 0, typeof(ReportObjects.License), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -279,7 +280,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("License Usage");
sheet = excelReport.Workbook.Worksheets[SHEET_LICENSES_USAGE_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseUsageAccountReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseUsageAccountReportFilePath(), 0, typeof(LicenseValue), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -288,7 +289,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of License Rules");
sheet = excelReport.Workbook.Worksheets[SHEET_LICENSE_RULES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseRulesReportFilePath(), 0, typeof(LicenseRule), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -297,7 +298,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("License Rules Usage");
sheet = excelReport.Workbook.Worksheets[SHEET_LICENSE_RULES_USAGE_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseUsageRulesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseUsageRulesReportFilePath(), 0, typeof(LicenseValue), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -306,7 +307,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of License Rule Scopes");
sheet = excelReport.Workbook.Worksheets[SHEET_LICENSE_RULE_SCOPES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseRuleScopesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.LicenseRuleScopesReportFilePath(), 0, typeof(LicenseRuleScope), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportMOBILEEntities.cs b/ProcessingSteps/Report/ReportMOBILEEntities.cs
index 05dfb15..66323b9 100644
--- a/ProcessingSteps/Report/ReportMOBILEEntities.cs
+++ b/ProcessingSteps/Report/ReportMOBILEEntities.cs
@@ -182,7 +182,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -191,7 +191,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -200,7 +200,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_MOBILE_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILEApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILEApplicationsReportFilePath(), 0, typeof(MOBILEApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -209,7 +209,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Network Requests");
sheet = excelReport.Workbook.Worksheets[SHEET_NETWORK_REQUESTS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestsReportFilePath(), 0, typeof(MOBILENetworkRequest), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -218,7 +218,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Network Request Business Transactions");
sheet = excelReport.Workbook.Worksheets[SHEET_NETWORK_REQUESTS_BUSINESS_TRANSACTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestsBusinessTransactionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.MOBILENetworkRequestsBusinessTransactionsReportFilePath(), 0, typeof(MOBILENetworkRequestToBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportSIMEntities.cs b/ProcessingSteps/Report/ReportSIMEntities.cs
index 1769b0d..d4b12d8 100644
--- a/ProcessingSteps/Report/ReportSIMEntities.cs
+++ b/ProcessingSteps/Report/ReportSIMEntities.cs
@@ -298,7 +298,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -307,7 +307,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -316,7 +316,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_SIM_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMApplicationsReportFilePath(), 0, typeof(SIMApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -325,7 +325,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Tiers");
sheet = excelReport.Workbook.Worksheets[SHEET_TIERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMTiersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMTiersReportFilePath(), 0, typeof(SIMTier), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -334,7 +334,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Nodes");
sheet = excelReport.Workbook.Worksheets[SHEET_NODES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMNodesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMNodesReportFilePath(), 0, typeof(SIMNode), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -343,7 +343,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machines");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachinesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachinesReportFilePath(), 0, typeof(SIMMachine), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -352,7 +352,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine Properties");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_PROPERTIES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachinePropertiesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachinePropertiesReportFilePath(), 0, typeof(SIMMachineProperty), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -361,7 +361,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine Volumes");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_VOLUMES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineVolumesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineVolumesReportFilePath(), 0, typeof(SIMMachineVolume), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -370,7 +370,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine Networks");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_NETWORKS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineNetworksReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineNetworksReportFilePath(), 0, typeof(SIMMachineNetwork), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -379,7 +379,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine CPUs");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_CPUS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineCPUsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineCPUsReportFilePath(), 0, typeof(SIMMachineCPU), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -388,7 +388,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine Containers");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_CONTAINERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineContainersReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineContainersReportFilePath(), 0, typeof(SIMMachineContainer), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -397,7 +397,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Machine Processes");
sheet = excelReport.Workbook.Worksheets[SHEET_MACHINE_PROCESSES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineProcessesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.SIMMachineProcessesReportFilePath(), 0, typeof(SIMMachineProcess), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/ProcessingSteps/Report/ReportWEBEntities.cs b/ProcessingSteps/Report/ReportWEBEntities.cs
index f5ccf13..4336f0b 100644
--- a/ProcessingSteps/Report/ReportWEBEntities.cs
+++ b/ProcessingSteps/Report/ReportWEBEntities.cs
@@ -228,7 +228,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Controllers");
sheet = excelReport.Workbook.Worksheets[SHEET_CONTROLLERS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerSummaryReportFilePath(), 0, typeof(ControllerSummary), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -237,7 +237,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications - All");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_ALL_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.ControllerApplicationsReportFilePath(), 0, typeof(ControllerApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -246,7 +246,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Applications");
sheet = excelReport.Workbook.Worksheets[SHEET_APPLICATIONS_WEB_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBApplicationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBApplicationsReportFilePath(), 0, typeof(WEBApplication), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -255,7 +255,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Web Pages");
sheet = excelReport.Workbook.Worksheets[SHEET_WEB_PAGES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPagesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPagesReportFilePath(), 0, typeof(WEBPage), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -264,7 +264,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Web Page Resources");
sheet = excelReport.Workbook.Worksheets[SHEET_PAGE_RESOURCES_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageResourcesReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageResourcesReportFilePath(), 0, typeof(WEBPageToWebPage), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -273,7 +273,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Web Page Business Transactions");
sheet = excelReport.Workbook.Worksheets[SHEET_PAGE_BUSINESS_TRANSACTIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageBusinessTransactionsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBPageBusinessTransactionsReportFilePath(), 0, typeof(WEBPageToBusinessTransaction), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
@@ -282,7 +282,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job
loggerConsole.Info("List of Geo Locations");
sheet = excelReport.Workbook.Worksheets[SHEET_GEO_LOCATIONS_LIST];
- EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBGeoLocationsReportFilePath(), 0, sheet, LIST_SHEET_START_TABLE_AT, 1);
+ EPPlusCSVHelper.ReadCSVFileIntoExcelRange(FilePathMap.WEBGeoLocationsReportFilePath(), 0, typeof(WEBGeoLocation), sheet, LIST_SHEET_START_TABLE_AT, 1);
#endregion
diff --git a/Program.cs b/Program.cs
index dc71ed6..1581e15 100644
--- a/Program.cs
+++ b/Program.cs
@@ -135,6 +135,12 @@ public static void RunProgram(ProgramOptions programOptions)
RunProgramETL(programOptions);
}
+ else if (programOptions.RequestIDs != null && programOptions.ReportFolderPath.Length > 0)
+ {
+ loggerConsole.Info("Running Individual Snapshots workload");
+
+ RunProgramIndividualSnapshots(programOptions);
+ }
else if (programOptions.InputCompareJobFilePath != null && programOptions.InputCompareJobFilePath.Length > 0)
{
loggerConsole.Info("Running Compare workload");
@@ -143,7 +149,7 @@ public static void RunProgram(ProgramOptions programOptions)
}
}
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Compiler", "CS0168", Justification = "Hiding ArgumentOutOfRangeException and FormatException that may occur when dates")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Compiler", "CS0168", Justification = "Hiding ArgumentOutOfRangeException and FormatException that may occur when dates are parsed")]
public static void RunProgramETL(ProgramOptions programOptions)
{
#region Validate job file exists and load it
@@ -160,7 +166,7 @@ public static void RunProgramETL(ProgramOptions programOptions)
return;
}
-
+
// Load job configuration
JobConfiguration jobConfiguration = FileIOHelper.ReadJobConfigurationFromFile(programOptions.InputETLJobFilePath);
if (jobConfiguration == null)
@@ -505,7 +511,7 @@ public static void RunProgramETL(ProgramOptions programOptions)
}
if (markDate == DateTime.MinValue)
- {
+ {
loggerConsole.Error("Job File Problem: Input.TimeFrame.MarkDate={0} is not a valid Date or recognized token", jobConfiguration.Input.TimeFrame.MarkDate);
return;
}
@@ -740,9 +746,9 @@ public static void RunProgramETL(ProgramOptions programOptions)
#endregion
}
-
+
else
- {
+ {
// Either TimeFrame or TimeRange must be specified. TimeRange is older style for explicit saying, TimeFrame is for the newer one
logger.Error("Job File Problem: Input.TimeRange and Input.TimeFrame can not both be empty");
loggerConsole.Error("Job File Problem: Input.TimeRange and Input.TimeFrame can not both be empty");
@@ -793,7 +799,8 @@ public static void RunProgramETL(ProgramOptions programOptions)
// Validate Metrics selection criteria
if (jobConfiguration.Input.MetricsSelectionCriteria == null)
{
- jobConfiguration.Input.MetricsSelectionCriteria = new string[0];
+ jobConfiguration.Input.MetricsSelectionCriteria = new JobMetricSelectionCriteria();
+ jobConfiguration.Input.MetricsSelectionCriteria.MetricSets = new string[0];
}
// Validate Events selection criteria
@@ -830,6 +837,11 @@ public static void RunProgramETL(ProgramOptions programOptions)
jobConfiguration.Input.SnapshotSelectionCriteria.BusinessTransactionTypes[0] = "All";
}
+ if (jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs == null)
+ {
+ jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs = new string[0];
+ }
+
if (jobConfiguration.Input.SnapshotSelectionCriteria.UserExperience == null)
{
jobConfiguration.Input.SnapshotSelectionCriteria.UserExperience = new JobUserExperience();
@@ -1600,11 +1612,11 @@ public static void RunProgramETL(ProgramOptions programOptions)
}
// Also save a copy of the original file name
-
string copyOfJobFileInOriginalName = Path.Combine(
- programOptions.OutputJobFolderPath,
+ programOptions.OutputJobFolderPath,
Path.GetFileName(programOptions.InputETLJobFilePath));
-
+ // Remove the timeframe for later replay
+ jobConfiguration.Input.TimeFrame = null;
if (FileIOHelper.WriteJobConfigurationToFile(jobConfiguration, copyOfJobFileInOriginalName) == false)
{
loggerConsole.Error("Unable to write job input file {0}", programOptions.OutputJobFilePath);
@@ -1620,99 +1632,164 @@ public static void RunProgramETL(ProgramOptions programOptions)
#endregion
- #region Load and validate license
+ if (LoadAndValidateLicense(programOptions) == false) return;
- string programLicensePath = Path.Combine(
- programOptions.ProgramLocationFolderPath,
- "LicensedFeatures.json");
+ logger.Trace("Executing:\r\n{0}", programOptions);
+ loggerConsole.Trace("Executing:\r\n{0}", programOptions);
- JObject licenseFile = FileIOHelper.LoadJObjectFromFile(programLicensePath);
- JObject licensedFeatures = (JObject)licenseFile["LicensedFeatures"];
+ // Go to work on the expanded and validated job file
+ JobStepRouter.ExecuteJobThroughSteps(programOptions);
+ }
- string dataSigned = licensedFeatures.ToString(Newtonsoft.Json.Formatting.None);
- var bytesSigned = Encoding.UTF8.GetBytes(dataSigned);
+ public static void RunProgramIndividualSnapshots(ProgramOptions programOptions)
+ {
+ #region Validate report folder exits
- string dataSignature = licenseFile["Signature"].ToString();
- byte[] bytesSignature = Convert.FromBase64String(dataSignature);
+ programOptions.ReportFolderPath = Path.GetFullPath(programOptions.ReportFolderPath);
- string licenseCertificatePath = Path.Combine(
- programOptions.ProgramLocationFolderPath,
- "AppDynamics.DEXTER.public.cer");
+ if (Directory.Exists(programOptions.ReportFolderPath) == false)
+ {
+ logger.Error("Report folder {0} does not exist", programOptions.ReportFolderPath);
+ loggerConsole.Error("Report folder {0} does not exist", programOptions.ReportFolderPath);
- X509Certificate2 publicCert = new X509Certificate2(licenseCertificatePath);
+ return;
+ }
- var rsaPublicKey = publicCert.GetRSAPublicKey();
+ if (File.Exists(Path.Combine(programOptions.ReportFolderPath, "SNAP", "snapshots.csv")) == false)
+ {
+ logger.Error("Report folder {0} does not contain Snapshot data", programOptions.ReportFolderPath);
+ loggerConsole.Error("Report folder {0} does not contain Snapshot data", programOptions.ReportFolderPath);
- bool licenseValidationResult = rsaPublicKey.VerifyData(bytesSigned, bytesSignature, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
+ return;
+ }
- logger.Info(
-@"Validating license
-{0}
-with signature {1}
-from {2} containing
-{3} returned {4}",
- dataSigned, dataSignature, licenseCertificatePath, publicCert, licenseValidationResult);
+ #endregion
- JobOutput licensedReports = new JobOutput();
- licensedReports.ApplicationSummary = true;
- licensedReports.Configuration = true;
- licensedReports.Dashboards = true;
- licensedReports.DetectedEntities = true;
- licensedReports.EntityDashboards = true;
- licensedReports.EntityDetails = true;
- licensedReports.EntityMetricGraphs = true;
- licensedReports.EntityMetrics = true;
- licensedReports.Events = true;
- licensedReports.FlameGraphs = true;
- // Health check is not free
- licensedReports.HealthCheck = false;
- // Licenses are not free
- licensedReports.Licenses = false;
- licensedReports.Snapshots = true;
- licensedReports.UsersGroupsRolesPermissions = true;
-
- if (licenseValidationResult == true)
+ #region Read existing or create new Job File
+
+ // Parse the request IDs into the right list
+ string[] requestIDsTokens = programOptions.RequestIDs.Split(',');
+ for (int i = 0; i < requestIDsTokens.Length; i++)
{
- logger.Info("License validation signature check succeeded");
- loggerConsole.Info("License validation signature check succeeded");
+ requestIDsTokens[i] = requestIDsTokens[i].Trim();
+ }
+ logger.Info("Parsed {0} to {1} items {2}", programOptions.RequestIDs, requestIDsTokens.Length, String.Join(",", requestIDsTokens));
+ loggerConsole.Info("Parsed {0} to {1} items {2}", programOptions.RequestIDs, requestIDsTokens.Length, String.Join(",", requestIDsTokens));
+
+ // Reverse engineer it from the path
+ //
+ // D:\AppD.Dexter.Out\Demo\demodev.all.202005081500.2\Report
+ // ^^^^^^^^^^^^^^^^^^^^^^^^ Output folder path
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^ Job name
+ char pathSeparatorToken = '\\';
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) == true)
+ {
+ pathSeparatorToken = '\\';
+ }
+ // Mac/Linux: a child of %HOME% path
+ else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) == true || RuntimeInformation.IsOSPlatform(OSPlatform.OSX) == true)
+ {
+ pathSeparatorToken = '/';
+ }
- DateTime dateTimeLicenseExpiration = (DateTime)licensedFeatures["ExpirationDateTime"];
- if (dateTimeLicenseExpiration >= DateTime.Now)
+ string[] pathTokens = programOptions.ReportFolderPath.Split(pathSeparatorToken);
+ string[] pathTokensMinus1Folder = pathTokens.Take(pathTokens.Length - 1).ToArray();
+ string[] pathTokensMinus2Folder = pathTokens.Take(pathTokens.Length - 2).ToArray();
+
+ if (pathTokensMinus1Folder.Length == 0 || pathTokensMinus2Folder.Length == 0)
+ {
+ loggerConsole.Error("{0} needs to be at least 2 layers deep in the folder hierachy. Yes this is silly but it is how it works here", programOptions.ReportFolderPath);
+ return;
+ }
+
+ string reportFolderName = pathTokens[pathTokens.Length - 1];
+
+ programOptions.OutputFolderPath = Path.Combine(pathTokensMinus2Folder);
+ programOptions.JobName = pathTokens[pathTokens.Length - 2];
+ programOptions.OutputJobFolderPath = Path.Combine(programOptions.OutputFolderPath, programOptions.JobName);
+ programOptions.OutputJobFilePath = Path.Combine(programOptions.OutputJobFolderPath, "jobparameters.json");
+ programOptions.ProgramLocationFolderPath = AppDomain.CurrentDomain.BaseDirectory;
+
+ // Resume or create new job file
+ if (File.Exists(programOptions.OutputJobFilePath) == true)
+ {
+ // Let's update it with the right parameters and fast forward the job to the right
+
+ // Read job file from the location
+ JobConfiguration jobConfiguration = FileIOHelper.ReadJobConfigurationFromFile(programOptions.OutputJobFilePath);
+ if (jobConfiguration == null)
{
- logger.Trace("License expires on {0:o}, valid", dateTimeLicenseExpiration);
- loggerConsole.Info("License expires on {0:o}, valid", dateTimeLicenseExpiration);
+ loggerConsole.Error("Unable to load job input file {0}", programOptions.InputETLJobFilePath);
- licensedReports.ApplicationSummary = JobStepBase.getBoolValueFromJToken(licensedFeatures, "ApplicationSummary");
- licensedReports.Configuration = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Configuration");
- licensedReports.Dashboards = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Dashboards");
- licensedReports.DetectedEntities = JobStepBase.getBoolValueFromJToken(licensedFeatures, "DetectedEntities");
- licensedReports.EntityDashboards = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityDashboards");
- licensedReports.EntityDetails = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityDetails");
- licensedReports.EntityMetricGraphs = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityMetricGraphs");
- licensedReports.EntityMetrics = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityMetrics");
- licensedReports.Events = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Events");
- licensedReports.FlameGraphs = JobStepBase.getBoolValueFromJToken(licensedFeatures, "FlameGraphs");
- licensedReports.HealthCheck = JobStepBase.getBoolValueFromJToken(licensedFeatures, "HealthCheck");
- licensedReports.Licenses = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Licenses");
- licensedReports.Snapshots = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Snapshots");
- licensedReports.UsersGroupsRolesPermissions = JobStepBase.getBoolValueFromJToken(licensedFeatures, "UsersGroupsRolesPermissions");
+ return;
}
- else
+
+ // Specify request IDs that we want
+ jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs = requestIDsTokens;
+
+ // Set up the report to output
+ jobConfiguration.Output.IndividualSnapshots = true;
+
+ // Fast forward the status
+ jobConfiguration.Status = JobStatus.ReportAPMIndividualSnapshots;
+
+ // Save the resulting JSON file to the job target folder
+ if (FileIOHelper.WriteJobConfigurationToFile(jobConfiguration, programOptions.OutputJobFilePath) == false)
{
- logger.Trace("License expires on {0:o}, expired", dateTimeLicenseExpiration);
- loggerConsole.Info("License expires on {0:o}, expired", dateTimeLicenseExpiration);
+ loggerConsole.Error("Unable to write job input file {0}", programOptions.OutputJobFilePath);
+
+ return;
}
}
else
{
- logger.Warn("License validation signature check failed");
- loggerConsole.Warn("License validation signature check failed");
+ // We don't have the old jobparameters.json, so let's make a minimum one
+
+ string defaultJobFilePath = Path.Combine(
+ programOptions.ProgramLocationFolderPath,
+ "DefaultJob.json");
+ JobConfiguration jobConfiguration = FileIOHelper.ReadJobConfigurationFromFile(defaultJobFilePath);
+ if (jobConfiguration == null)
+ {
+ loggerConsole.Error("Unable to load job input file {0}", programOptions.InputETLJobFilePath);
+
+ return;
+ }
+
+ // These have to exist for application not to complain
+ jobConfiguration.Input.TimeRange = new JobTimeRange();
+ jobConfiguration.Input.HourlyTimeRanges = new List();
+
+ // Specify request IDs that we want
+ jobConfiguration.Input.SnapshotSelectionCriteria.RequestIDs = requestIDsTokens;
+
+ // Set up the report to output
+ jobConfiguration.Output = new JobOutput();
+ jobConfiguration.Output.IndividualSnapshots = true;
+
+ // Fast forward the status
+ jobConfiguration.Status = JobStatus.ReportAPMIndividualSnapshots;
+
+ // Save the resulting JSON file to the job target folder
+ if (FileIOHelper.WriteJobConfigurationToFile(jobConfiguration, programOptions.OutputJobFilePath) == false)
+ {
+ loggerConsole.Error("Unable to write job input file {0}", programOptions.OutputJobFilePath);
+
+ return;
+ }
}
- programOptions.LicensedReports = licensedReports;
+ // Finally, if the folder is not Report, check
+
+ if (String.Compare(reportFolderName, "Report", true) != 0)
+ {
+ programOptions.IndividualSnapshotsNonDefaultReportFolderName = reportFolderName;
+ }
#endregion
+ if (LoadAndValidateLicense(programOptions) == false) return;
+
logger.Trace("Executing:\r\n{0}", programOptions);
loggerConsole.Trace("Executing:\r\n{0}", programOptions);
@@ -1817,6 +1894,104 @@ public static void RunProgramCompare(ProgramOptions programOptions)
// Go to work on the expanded and validated compare file
}
+ public static bool LoadAndValidateLicense(ProgramOptions programOptions)
+ {
+ string programLicensePath = Path.Combine(
+ programOptions.ProgramLocationFolderPath,
+ "LicensedFeatures.json");
+
+ JObject licenseFile = FileIOHelper.LoadJObjectFromFile(programLicensePath);
+ JObject licensedFeatures = (JObject)licenseFile["LicensedFeatures"];
+
+ string dataSigned = licensedFeatures.ToString(Newtonsoft.Json.Formatting.None);
+ var bytesSigned = Encoding.UTF8.GetBytes(dataSigned);
+
+ string dataSignature = licenseFile["Signature"].ToString();
+ byte[] bytesSignature = Convert.FromBase64String(dataSignature);
+
+ string licenseCertificatePath = Path.Combine(
+ programOptions.ProgramLocationFolderPath,
+ "AppDynamics.DEXTER.public.cer");
+
+ X509Certificate2 publicCert = new X509Certificate2(licenseCertificatePath);
+
+ var rsaPublicKey = publicCert.GetRSAPublicKey();
+
+ bool licenseValidationResult = rsaPublicKey.VerifyData(bytesSigned, bytesSignature, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
+
+ logger.Info(
+@"Validating license
+{0}
+with signature {1}
+from {2} containing
+{3} returned {4}",
+ dataSigned, dataSignature, licenseCertificatePath, publicCert, licenseValidationResult);
+
+ JobOutput licensedReports = new JobOutput();
+ licensedReports.ApplicationSummary = true;
+ licensedReports.Configuration = true;
+ licensedReports.Dashboards = true;
+ licensedReports.DetectedEntities = true;
+ licensedReports.EntityDashboards = true;
+ licensedReports.EntityDetails = true;
+ licensedReports.EntityMetricGraphs = true;
+ licensedReports.EntityMetrics = true;
+ licensedReports.Events = true;
+ licensedReports.FlameGraphs = true;
+ // Health check is not free
+ licensedReports.HealthCheck = false;
+ // Licenses are not free
+ licensedReports.Licenses = false;
+ licensedReports.Snapshots = true;
+ licensedReports.UsersGroupsRolesPermissions = true;
+
+ if (licenseValidationResult == true)
+ {
+ logger.Info("License validation signature check succeeded");
+ loggerConsole.Info("License validation signature check succeeded");
+
+ DateTime dateTimeLicenseExpiration = (DateTime)licensedFeatures["ExpirationDateTime"];
+ if (dateTimeLicenseExpiration >= DateTime.Now)
+ {
+ logger.Trace("License expires on {0:o}, valid", dateTimeLicenseExpiration);
+ loggerConsole.Info("License expires on {0:o}, valid", dateTimeLicenseExpiration);
+
+ licensedReports.ApplicationSummary = JobStepBase.getBoolValueFromJToken(licensedFeatures, "ApplicationSummary");
+ licensedReports.Configuration = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Configuration");
+ licensedReports.Dashboards = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Dashboards");
+ licensedReports.DetectedEntities = JobStepBase.getBoolValueFromJToken(licensedFeatures, "DetectedEntities");
+ licensedReports.EntityDashboards = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityDashboards");
+ licensedReports.EntityDetails = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityDetails");
+ licensedReports.EntityMetricGraphs = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityMetricGraphs");
+ licensedReports.EntityMetrics = JobStepBase.getBoolValueFromJToken(licensedFeatures, "EntityMetrics");
+ licensedReports.Events = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Events");
+ licensedReports.FlameGraphs = JobStepBase.getBoolValueFromJToken(licensedFeatures, "FlameGraphs");
+ licensedReports.HealthCheck = JobStepBase.getBoolValueFromJToken(licensedFeatures, "HealthCheck");
+ licensedReports.Licenses = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Licenses");
+ licensedReports.Snapshots = JobStepBase.getBoolValueFromJToken(licensedFeatures, "Snapshots");
+ licensedReports.UsersGroupsRolesPermissions = JobStepBase.getBoolValueFromJToken(licensedFeatures, "UsersGroupsRolesPermissions");
+ }
+ else
+ {
+ logger.Trace("License expires on {0:o}, expired", dateTimeLicenseExpiration);
+ loggerConsole.Info("License expires on {0:o}, expired", dateTimeLicenseExpiration);
+
+ return false;
+ }
+ }
+ else
+ {
+ logger.Warn("License validation signature check failed");
+ loggerConsole.Warn("License validation signature check failed");
+
+ return false;
+ }
+
+ programOptions.LicensedReports = licensedReports;
+
+ return true;
+ }
+
public static string ReadPassword(char mask)
{
const int ENTER = 13, BACKSP = 8, CTRLBACKSP = 127;
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
index c163b0c..330fad7 100644
--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("20.6.0.0")]
-[assembly: AssemblyFileVersion("20.6.0.0")]
+[assembly: AssemblyVersion("20.7.0.0")]
+[assembly: AssemblyFileVersion("20.7.0.0")]
diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json
index 4cea870..5735b88 100644
--- a/Properties/launchSettings.json
+++ b/Properties/launchSettings.json
@@ -2,7 +2,7 @@
"profiles": {
"AppDynamics.Dexter.Core": {
"commandName": "Project",
- "commandLineArgs": "-j \"D:\\AppD.Dexter.Out\\Shaw\\shaw.db.json\" -o D:\\AppD.Dexter.Out\\Shaw -v -s"
+ "commandLineArgs": "-j \"D:\\AppD.Dexter.Out\\Demo\\demodev.all.202005081500.2\\demodev.all.json\" -o D:\\AppD.Dexter.Out\\Demo\\ -v"
}
}
}
\ No newline at end of file
diff --git a/ReportObjects/EntityAPM/APMNode.cs b/ReportObjects/EntityAPM/APMNode.cs
index 27a1b56..4a9a11d 100644
--- a/ReportObjects/EntityAPM/APMNode.cs
+++ b/ReportObjects/EntityAPM/APMNode.cs
@@ -44,6 +44,80 @@ public class APMNode : APMEntityBase
public bool IsAPMAgentUsed { get; set; }
public bool IsMachineAgentUsed { get; set; }
+ // IIS, Self-hosted, Tomcat, JBoss, WebSphere, WebLogic, GlassFish, Jetty
+ public string WebHostContainerType { get; set; }
+ // AWS, Azure, GCP, OnPrem
+ public string CloudHostType { get; set; }
+ public string CloudRegion { get; set; }
+ // Kubernetes, Openshift, Pivotal
+ public string ContainerRuntimeType { get; set; }
+
+ //java.class.path
+ public string ClassPath { get; set; }
+ //java.class.version
+ public string ClassVersion { get; set; }
+
+ //java.home
+ public string Home { get; set; }
+
+ //java.runtime.name
+ public string RuntimeName { get; set; }
+ //java.runtime.version
+ public string RuntimeVersion { get; set; }
+
+ //java.vendor
+ //or Microsoft for CLR
+ public string Vendor { get; set; }
+ //java.vendor.version
+ public string VendorVersion { get; set; }
+ //java.version
+ //CLR Version
+ public string Version { get; set; }
+
+ //java.vm.info
+ public string VMInfo { get; set; }
+ //java.vm.name
+ public string VMName { get; set; }
+ //java.vm.vendor
+ //or Microsoft for CLR
+ public string VMVendor { get; set; }
+ //java.vm.version
+ public string VMVersion { get; set; }
+
+ //os.arch
+ //PROCESSOR_ARCHITECTURE
+ public string OSArchitecture { get; set; }
+ //os.name
+ //OS
+ public string OSName { get; set; }
+ //os.version
+ public string OSVersion { get; set; }
+ //COMPUTERNAME, HOSTNAME, HOST_NAME
+ public string OSComputerName { get; set; }
+
+ //PROCESSOR_IDENTIFIER
+ public string OSProcessorType { get; set; }
+ //PROCESSOR_REVISION
+ public string OSProcessorRevision { get; set; }
+ // NUMBER_OF_PROCESSORS
+ public int? OSNumberOfProcs { get; set; }
+
+ //USER, USERNAME
+ public string UserName { get; set; }
+ //DOMAIN, DOMAINNAME
+ public string Domain { get; set; }
+
+ // -Xmnsize
+ // -XX:NewSize
+ public double? HeapYoungInitialSizeMB { get; set; }
+ // -XX:MaxNewSize
+ public double? HeapYoungMaxSizeMB { get; set; }
+ // -Xmssize
+ public double? HeapInitialSizeMB { get; set; }
+ // -XX:MaxHeapSize
+ // -Xmxsize
+ public double? HeapMaxSizeMB { get; set; }
+
public override long EntityID
{
get
diff --git a/ReportObjects/EntityAPM/Maps/APMNodeReportMap.cs b/ReportObjects/EntityAPM/Maps/APMNodeReportMap.cs
index 298baf0..85d1f64 100644
--- a/ReportObjects/EntityAPM/Maps/APMNodeReportMap.cs
+++ b/ReportObjects/EntityAPM/Maps/APMNodeReportMap.cs
@@ -31,6 +31,41 @@ public APMNodeReportMap()
Map(m => m.IsDisabled).Index(i); i++;
Map(m => m.IsMonitoringDisabled).Index(i); i++;
+ Map(m => m.WebHostContainerType).Index(i); i++;
+ Map(m => m.CloudHostType).Index(i); i++;
+ Map(m => m.CloudRegion).Index(i); i++;
+ Map(m => m.ContainerRuntimeType).Index(i); i++;
+
+ Map(m => m.HeapInitialSizeMB).Index(i); i++;
+ Map(m => m.HeapMaxSizeMB).Index(i); i++;
+ Map(m => m.HeapYoungInitialSizeMB).Index(i); i++;
+ Map(m => m.HeapYoungMaxSizeMB).Index(i); i++;
+
+ Map(m => m.ClassPath).Index(i); i++;
+ Map(m => m.ClassVersion).Index(i); i++;
+ Map(m => m.Home).Index(i); i++;
+ Map(m => m.RuntimeName).Index(i); i++;
+ Map(m => m.RuntimeVersion).Index(i); i++;
+ Map(m => m.Vendor).Index(i); i++;
+ Map(m => m.VendorVersion).Index(i); i++;
+ Map(m => m.Version).Index(i); i++;
+ Map(m => m.VMInfo).Index(i); i++;
+ Map(m => m.VMName).Index(i); i++;
+ Map(m => m.VMVendor).Index(i); i++;
+ Map(m => m.VMVersion).Index(i); i++;
+
+ Map(m => m.OSArchitecture).Index(i); i++;
+ Map(m => m.OSName).Index(i); i++;
+ Map(m => m.OSVersion).Index(i); i++;
+ Map(m => m.OSComputerName).Index(i); i++;
+
+ Map(m => m.OSProcessorType).Index(i); i++;
+ Map(m => m.OSProcessorRevision).Index(i); i++;
+ Map(m => m.OSNumberOfProcs).Index(i); i++;
+
+ Map(m => m.UserName).Index(i); i++;
+ Map(m => m.Domain).Index(i); i++;
+
Map(m => m.NumStartupOptions).Index(i); i++;
Map(m => m.NumProperties).Index(i); i++;
Map(m => m.NumEnvVariables).Index(i); i++;
diff --git a/VisualAnalytics/PowerBI/Design/DBEntitiesDesign.pbix b/VisualAnalytics/PowerBI/Design/DBEntitiesDesign.pbix
index 8d8bee7..da24169 100644
Binary files a/VisualAnalytics/PowerBI/Design/DBEntitiesDesign.pbix and b/VisualAnalytics/PowerBI/Design/DBEntitiesDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/DetectedEntitiesDesign.pbix b/VisualAnalytics/PowerBI/Design/DetectedEntitiesDesign.pbix
index 14c7470..708fbb5 100644
Binary files a/VisualAnalytics/PowerBI/Design/DetectedEntitiesDesign.pbix and b/VisualAnalytics/PowerBI/Design/DetectedEntitiesDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/EntityFlowmapsDesign.pbix b/VisualAnalytics/PowerBI/Design/EntityFlowmapsDesign.pbix
index 9645dee..ad87e14 100644
Binary files a/VisualAnalytics/PowerBI/Design/EntityFlowmapsDesign.pbix and b/VisualAnalytics/PowerBI/Design/EntityFlowmapsDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/EntityMetricsDesign.pbix b/VisualAnalytics/PowerBI/Design/EntityMetricsDesign.pbix
index 43a1858..f447570 100644
Binary files a/VisualAnalytics/PowerBI/Design/EntityMetricsDesign.pbix and b/VisualAnalytics/PowerBI/Design/EntityMetricsDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/EventsAndHealthRuleViolationsDesign.pbix b/VisualAnalytics/PowerBI/Design/EventsAndHealthRuleViolationsDesign.pbix
index 202b0ab..1b42c01 100644
Binary files a/VisualAnalytics/PowerBI/Design/EventsAndHealthRuleViolationsDesign.pbix and b/VisualAnalytics/PowerBI/Design/EventsAndHealthRuleViolationsDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/SnapshotMethodCallsDesign.pbix b/VisualAnalytics/PowerBI/Design/SnapshotMethodCallsDesign.pbix
index 9078ade..3fbb62b 100644
Binary files a/VisualAnalytics/PowerBI/Design/SnapshotMethodCallsDesign.pbix and b/VisualAnalytics/PowerBI/Design/SnapshotMethodCallsDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Design/SnapshotsDesign.pbix b/VisualAnalytics/PowerBI/Design/SnapshotsDesign.pbix
index 79de454..423f4c1 100644
Binary files a/VisualAnalytics/PowerBI/Design/SnapshotsDesign.pbix and b/VisualAnalytics/PowerBI/Design/SnapshotsDesign.pbix differ
diff --git a/VisualAnalytics/PowerBI/Templates/DBEntities.pbit b/VisualAnalytics/PowerBI/Templates/DBEntities.pbit
index c6a671a..df4b68d 100644
Binary files a/VisualAnalytics/PowerBI/Templates/DBEntities.pbit and b/VisualAnalytics/PowerBI/Templates/DBEntities.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/DetectedEntities.pbit b/VisualAnalytics/PowerBI/Templates/DetectedEntities.pbit
index 130bac6..1c161fd 100644
Binary files a/VisualAnalytics/PowerBI/Templates/DetectedEntities.pbit and b/VisualAnalytics/PowerBI/Templates/DetectedEntities.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/EntityFlowmaps.pbit b/VisualAnalytics/PowerBI/Templates/EntityFlowmaps.pbit
index 54d340a..52a2587 100644
Binary files a/VisualAnalytics/PowerBI/Templates/EntityFlowmaps.pbit and b/VisualAnalytics/PowerBI/Templates/EntityFlowmaps.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/EntityMetrics.pbit b/VisualAnalytics/PowerBI/Templates/EntityMetrics.pbit
index 7fd83a6..f051202 100644
Binary files a/VisualAnalytics/PowerBI/Templates/EntityMetrics.pbit and b/VisualAnalytics/PowerBI/Templates/EntityMetrics.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/EventsAndHealthRuleViolations.pbit b/VisualAnalytics/PowerBI/Templates/EventsAndHealthRuleViolations.pbit
index 0dfdd01..e32ff10 100644
Binary files a/VisualAnalytics/PowerBI/Templates/EventsAndHealthRuleViolations.pbit and b/VisualAnalytics/PowerBI/Templates/EventsAndHealthRuleViolations.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/SnapshotMethodCalls.pbit b/VisualAnalytics/PowerBI/Templates/SnapshotMethodCalls.pbit
index 9af2f9f..6e228fd 100644
Binary files a/VisualAnalytics/PowerBI/Templates/SnapshotMethodCalls.pbit and b/VisualAnalytics/PowerBI/Templates/SnapshotMethodCalls.pbit differ
diff --git a/VisualAnalytics/PowerBI/Templates/Snapshots.pbit b/VisualAnalytics/PowerBI/Templates/Snapshots.pbit
index 0fc8cf5..0d0da04 100644
Binary files a/VisualAnalytics/PowerBI/Templates/Snapshots.pbit and b/VisualAnalytics/PowerBI/Templates/Snapshots.pbit differ
diff --git a/VisualAnalytics/Tableau/Design/MetricsDesign.twb b/VisualAnalytics/Tableau/Design/MetricsDesign.twb
index 0d5a6fa..3ed945b 100644
--- a/VisualAnalytics/Tableau/Design/MetricsDesign.twb
+++ b/VisualAnalytics/Tableau/Design/MetricsDesign.twb
@@ -1,7 +1,7 @@
-
-
+
+
@@ -1146,7 +1146,7 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -2975,66 +2970,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
0
- [nodes.csv]
+ [businesstransactions.csv]
Count
true
@@ -3052,7 +3032,7 @@
Controller
129
[Controller]
- [nodes.csv]
+ [businesstransactions.csv]
Controller
0
string
@@ -3066,7 +3046,7 @@
ApplicationName
129
[ApplicationName]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationName
1
string
@@ -3080,7 +3060,7 @@
TierName
129
[TierName]
- [nodes.csv]
+ [businesstransactions.csv]
TierName
2
string
@@ -3091,11 +3071,11 @@
- NodeName
+ BTName
129
- [NodeName]
- [nodes.csv]
- NodeName
+ [BTName]
+ [businesstransactions.csv]
+ BTName
3
string
Count
@@ -3105,11 +3085,11 @@
- AgentType
+ BTNameOriginal
129
- [AgentType]
- [nodes.csv]
- AgentType
+ [BTNameOriginal]
+ [businesstransactions.csv]
+ BTNameOriginal
4
string
Count
@@ -3119,25 +3099,22 @@
- AgentVersion
- 129
- [AgentVersion]
- [nodes.csv]
- AgentVersion
+ IsRenamed
+ 11
+ [IsRenamed]
+ [businesstransactions.csv]
+ IsRenamed
5
- string
+ boolean
Count
- 1
- 1073741823
true
-
- AgentVersionRaw
+ BTType
129
- [AgentVersionRaw]
- [nodes.csv]
- AgentVersionRaw
+ [BTType]
+ [businesstransactions.csv]
+ BTType
6
string
Count
@@ -3147,22 +3124,22 @@
- AgentPresent
+ IsExplicitRule
11
- [AgentPresent]
- [nodes.csv]
- AgentPresent
+ [IsExplicitRule]
+ [businesstransactions.csv]
+ IsExplicitRule
7
boolean
Count
true
- MachineName
+ RuleName
129
- [MachineName]
- [nodes.csv]
- MachineName
+ [RuleName]
+ [businesstransactions.csv]
+ RuleName
8
string
Count
@@ -3171,185 +3148,13 @@
true
-
- MachineAgentVersion
- 129
- [MachineAgentVersion]
- [nodes.csv]
- MachineAgentVersion
- 9
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineAgentVersionRaw
- 129
- [MachineAgentVersionRaw]
- [nodes.csv]
- MachineAgentVersionRaw
- 10
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineAgentPresent
- 11
- [MachineAgentPresent]
- [nodes.csv]
- MachineAgentPresent
- 11
- boolean
- Count
- true
-
-
- MachineOSType
- 129
- [MachineOSType]
- [nodes.csv]
- MachineOSType
- 12
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineType
- 129
- [MachineType]
- [nodes.csv]
- MachineType
- 13
- string
- Count
- 1
- 1073741823
- true
-
-
-
- AgentRuntime
- 129
- [AgentRuntime]
- [nodes.csv]
- AgentRuntime
- 14
- string
- Count
- 1
- 1073741823
- true
-
-
-
- InstallDirectory
- 129
- [InstallDirectory]
- [nodes.csv]
- InstallDirectory
- 15
- string
- Count
- 1
- 1073741823
- true
-
-
-
- InstallTime
- 135
- [InstallTime]
- [nodes.csv]
- InstallTime
- 16
- datetime
- Year
- true
-
-
- LastStartTime
- 135
- [LastStartTime]
- [nodes.csv]
- LastStartTime
- 17
- datetime
- Year
- true
-
-
- IsDisabled
- 11
- [IsDisabled]
- [nodes.csv]
- IsDisabled
- 18
- boolean
- Count
- true
-
-
- IsMonitoringDisabled
- 11
- [IsMonitoringDisabled]
- [nodes.csv]
- IsMonitoringDisabled
- 19
- boolean
- Count
- true
-
-
- NumStartupOptions
- 20
- [NumStartupOptions]
- [nodes.csv]
- NumStartupOptions
- 20
- integer
- Sum
- true
-
-
- NumProperties
- 20
- [NumProperties]
- [nodes.csv]
- NumProperties
- 21
- integer
- Sum
- true
-
-
- NumEnvVariables
- 20
- [NumEnvVariables]
- [nodes.csv]
- NumEnvVariables
- 22
- integer
- Sum
- true
-
ApplicationID
20
[ApplicationID]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationID
- 23
+ 9
integer
Sum
true
@@ -3358,31 +3163,20 @@
TierID
20
[TierID]
- [nodes.csv]
+ [businesstransactions.csv]
TierID
- 24
- integer
- Sum
- true
-
-
- NodeID
- 20
- [NodeID]
- [nodes.csv]
- NodeID
- 25
+ 10
integer
Sum
true
- MachineID
+ BTID
20
- [MachineID]
- [nodes.csv]
- MachineID
- 26
+ [BTID]
+ [businesstransactions.csv]
+ BTID
+ 11
integer
Sum
true
@@ -3391,9 +3185,9 @@
DetailLink
129
[DetailLink]
- [nodes.csv]
+ [businesstransactions.csv]
DetailLink
- 27
+ 12
string
Count
1
@@ -3405,9 +3199,9 @@
MetricGraphLink
129
[MetricGraphLink]
- [nodes.csv]
+ [businesstransactions.csv]
MetricGraphLink
- 28
+ 13
string
Count
1
@@ -3419,9 +3213,9 @@
FlameGraphLink
129
[FlameGraphLink]
- [nodes.csv]
+ [businesstransactions.csv]
FlameGraphLink
- 29
+ 14
string
Count
1
@@ -3433,9 +3227,9 @@
FlameChartLink
129
[FlameChartLink]
- [nodes.csv]
+ [businesstransactions.csv]
FlameChartLink
- 30
+ 15
string
Count
1
@@ -3447,9 +3241,9 @@
ControllerLink
129
[ControllerLink]
- [nodes.csv]
+ [businesstransactions.csv]
ControllerLink
- 31
+ 16
string
Count
1
@@ -3461,9 +3255,9 @@
ApplicationLink
129
[ApplicationLink]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationLink
- 32
+ 17
string
Count
1
@@ -3475,9 +3269,9 @@
TierLink
129
[TierLink]
- [nodes.csv]
+ [businesstransactions.csv]
TierLink
- 33
+ 18
string
Count
1
@@ -3486,12 +3280,12 @@
- NodeLink
+ BTLink
129
- [NodeLink]
- [nodes.csv]
- NodeLink
- 34
+ [BTLink]
+ [businesstransactions.csv]
+ BTLink
+ 19
string
Count
1
@@ -3502,7 +3296,7 @@
0
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
true
@@ -3510,10 +3304,10 @@
Controller
129
- [Controller (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
Controller
- 35
+ 20
string
Count
true
@@ -3522,10 +3316,10 @@
ApplicationName
129
- [ApplicationName (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationName
- 36
+ 21
string
Count
true
@@ -3535,9 +3329,9 @@
EntityName
129
[EntityName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityName
- 37
+ 22
string
Count
true
@@ -3547,9 +3341,9 @@
EntityType
129
[EntityType]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityType
- 38
+ 23
string
Count
true
@@ -3559,9 +3353,9 @@
MetricName
129
[MetricName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricName
- 39
+ 24
string
Count
true
@@ -3571,9 +3365,9 @@
EventTimeStamp
135
[EventTimeStamp]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStamp
- 40
+ 25
datetime
Year
true
@@ -3582,9 +3376,9 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStampUtc
- 41
+ 26
datetime
Year
true
@@ -3593,9 +3387,9 @@
EventTime
135
[EventTime]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTime
- 42
+ 27
datetime
Year
true
@@ -3604,9 +3398,9 @@
Value
20
[Value]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Value
- 43
+ 28
integer
Sum
true
@@ -3615,9 +3409,9 @@
Count
20
[Count]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
- 44
+ 29
integer
Sum
true
@@ -3626,9 +3420,9 @@
Min
20
[Min]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Min
- 45
+ 30
integer
Sum
true
@@ -3637,9 +3431,9 @@
Max
20
[Max]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Max
- 46
+ 31
integer
Sum
true
@@ -3648,9 +3442,9 @@
Occurrences
20
[Occurrences]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Occurrences
- 47
+ 32
integer
Sum
true
@@ -3659,9 +3453,9 @@
Sum
20
[Sum]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Sum
- 48
+ 33
integer
Sum
true
@@ -3670,9 +3464,9 @@
MetricResolution
20
[MetricResolution]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricResolution
- 49
+ 34
integer
Sum
true
@@ -3680,10 +3474,10 @@
ApplicationID
20
- [ApplicationID (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationID (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationID
- 50
+ 35
integer
Sum
true
@@ -3692,9 +3486,9 @@
EntityID
20
[EntityID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityID
- 51
+ 36
integer
Sum
true
@@ -3703,9 +3497,9 @@
MetricID
20
[MetricID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricID
- 52
+ 37
integer
Sum
true
@@ -3714,9 +3508,9 @@
Path
129
[Path]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Path
- 53
+ 38
string
Count
true
@@ -3725,184 +3519,100 @@
-
+
-
-
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[Controller]
[ApplicationName]
[TierName]
- [NodeName]
+ [BTName]
- [Controller (NODE.*.metricvalues.csv)]
- [ApplicationName (NODE.*.metricvalues.csv)]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
[EntityName]
-
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
Controller
129
[Controller]
- [nodes.csv]
+ [businesstransactions.csv]
Controller
0
- nodes.csv
+ businesstransactions.csv
string
Count
1
@@ -3913,13 +3623,13 @@
ApplicationName
129
[ApplicationName]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationName
1
- nodes.csv
+ businesstransactions.csv
string
Count
- 16
+ 38
true
@@ -3927,459 +3637,257 @@
TierName
129
[TierName]
- [nodes.csv]
+ [businesstransactions.csv]
TierName
2
- nodes.csv
+ businesstransactions.csv
string
Count
- 67
+ 110
true
- NodeName
+ BTName
129
- [NodeName]
- [nodes.csv]
- NodeName
+ [BTName]
+ [businesstransactions.csv]
+ BTName
3
- nodes.csv
+ businesstransactions.csv
string
Count
- 88
+ 560
true
- AgentType
+ BTNameOriginal
129
- [AgentType]
- [nodes.csv]
- AgentType
+ [BTNameOriginal]
+ [businesstransactions.csv]
+ BTNameOriginal
4
- nodes.csv
+ businesstransactions.csv
string
Count
- 10
+ 542
true
- AgentVersion
- 129
- [AgentVersion]
- [nodes.csv]
- AgentVersion
+ IsRenamed
+ 11
+ [IsRenamed]
+ [businesstransactions.csv]
+ IsRenamed
5
- nodes.csv
- string
+ businesstransactions.csv
+ boolean
Count
- 17
+ 2
true
-
- AgentVersionRaw
+ BTType
129
- [AgentVersionRaw]
- [nodes.csv]
- AgentVersionRaw
+ [BTType]
+ [businesstransactions.csv]
+ BTType
6
- nodes.csv
+ businesstransactions.csv
string
Count
- 17
+ 16
true
- AgentPresent
+ IsExplicitRule
11
- [AgentPresent]
- [nodes.csv]
- AgentPresent
+ [IsExplicitRule]
+ [businesstransactions.csv]
+ IsExplicitRule
7
- nodes.csv
+ businesstransactions.csv
boolean
Count
2
true
- MachineName
+ RuleName
129
- [MachineName]
- [nodes.csv]
- MachineName
+ [RuleName]
+ [businesstransactions.csv]
+ RuleName
8
- nodes.csv
+ businesstransactions.csv
string
Count
- 82
+ 35
true
- MachineAgentVersion
- 129
- [MachineAgentVersion]
- [nodes.csv]
- MachineAgentVersion
+ ApplicationID
+ 20
+ [ApplicationID]
+ [businesstransactions.csv]
+ ApplicationID
9
- nodes.csv
- string
- Count
- 7
+ businesstransactions.csv
+ integer
+ Sum
+ 38
true
-
- MachineAgentVersionRaw
- 129
- [MachineAgentVersionRaw]
- [nodes.csv]
- MachineAgentVersionRaw
+ TierID
+ 20
+ [TierID]
+ [businesstransactions.csv]
+ TierID
10
- nodes.csv
- string
- Count
- 7
+ businesstransactions.csv
+ integer
+ Sum
+ 234
true
-
- MachineAgentPresent
- 11
- [MachineAgentPresent]
- [nodes.csv]
- MachineAgentPresent
+ BTID
+ 20
+ [BTID]
+ [businesstransactions.csv]
+ BTID
11
- nodes.csv
- boolean
- Count
- 2
+ businesstransactions.csv
+ integer
+ Sum
+ 1009
true
- MachineOSType
+ DetailLink
129
- [MachineOSType]
- [nodes.csv]
- MachineOSType
+ [DetailLink]
+ [businesstransactions.csv]
+ DetailLink
12
- nodes.csv
+ businesstransactions.csv
string
Count
- 2
+ 1009
true
- MachineType
+ MetricGraphLink
129
- [MachineType]
- [nodes.csv]
- MachineType
+ [MetricGraphLink]
+ [businesstransactions.csv]
+ MetricGraphLink
13
- nodes.csv
+ businesstransactions.csv
string
Count
- 1
+ 38
true
- AgentRuntime
+ FlameGraphLink
129
- [AgentRuntime]
- [nodes.csv]
- AgentRuntime
+ [FlameGraphLink]
+ [businesstransactions.csv]
+ FlameGraphLink
14
- nodes.csv
+ businesstransactions.csv
string
Count
- 16
+ 1009
true
- InstallDirectory
+ FlameChartLink
129
- [InstallDirectory]
- [nodes.csv]
- InstallDirectory
+ [FlameChartLink]
+ [businesstransactions.csv]
+ FlameChartLink
15
- nodes.csv
+ businesstransactions.csv
string
Count
- 33
+ 1009
true
- InstallTime
- 135
- [InstallTime]
- [nodes.csv]
- InstallTime
+ ControllerLink
+ 129
+ [ControllerLink]
+ [businesstransactions.csv]
+ ControllerLink
16
- nodes.csv
- datetime
- Year
- 97
+ businesstransactions.csv
+ string
+ Count
+ 1
true
+
- LastStartTime
- 135
- [LastStartTime]
- [nodes.csv]
- LastStartTime
+ ApplicationLink
+ 129
+ [ApplicationLink]
+ [businesstransactions.csv]
+ ApplicationLink
17
- nodes.csv
- datetime
- Year
- 90
+ businesstransactions.csv
+ string
+ Count
+ 38
true
+
- IsDisabled
- 11
- [IsDisabled]
- [nodes.csv]
- IsDisabled
+ TierLink
+ 129
+ [TierLink]
+ [businesstransactions.csv]
+ TierLink
18
- nodes.csv
- boolean
+ businesstransactions.csv
+ string
Count
- 1
+ 234
true
+
- IsMonitoringDisabled
- 11
- [IsMonitoringDisabled]
- [nodes.csv]
- IsMonitoringDisabled
- 19
- nodes.csv
- boolean
- Count
- 1
- true
-
-
- NumStartupOptions
- 20
- [NumStartupOptions]
- [nodes.csv]
- NumStartupOptions
- 20
- nodes.csv
- integer
- Sum
- 14
- true
-
-
- NumProperties
- 20
- [NumProperties]
- [nodes.csv]
- NumProperties
- 21
- nodes.csv
- integer
- Sum
- 20
- true
-
-
- NumEnvVariables
- 20
- [NumEnvVariables]
- [nodes.csv]
- NumEnvVariables
- 22
- nodes.csv
- integer
- Sum
- 40
- true
-
-
- ApplicationID
- 20
- [ApplicationID]
- [nodes.csv]
- ApplicationID
- 23
- nodes.csv
- integer
- Sum
- 16
- true
-
-
- TierID
- 20
- [TierID]
- [nodes.csv]
- TierID
- 24
- nodes.csv
- integer
- Sum
- 96
- true
-
-
- NodeID
- 20
- [NodeID]
- [nodes.csv]
- NodeID
- 25
- nodes.csv
- integer
- Sum
- 115
- true
-
-
- MachineID
- 20
- [MachineID]
- [nodes.csv]
- MachineID
- 26
- nodes.csv
- integer
- Sum
- 82
- true
-
-
- DetailLink
- 129
- [DetailLink]
- [nodes.csv]
- DetailLink
- 27
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- MetricGraphLink
- 129
- [MetricGraphLink]
- [nodes.csv]
- MetricGraphLink
- 28
- nodes.csv
- string
- Count
- 16
- true
-
-
-
- FlameGraphLink
- 129
- [FlameGraphLink]
- [nodes.csv]
- FlameGraphLink
- 29
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- FlameChartLink
- 129
- [FlameChartLink]
- [nodes.csv]
- FlameChartLink
- 30
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- ControllerLink
- 129
- [ControllerLink]
- [nodes.csv]
- ControllerLink
- 31
- nodes.csv
- string
- Count
- 1
- true
-
-
-
- ApplicationLink
- 129
- [ApplicationLink]
- [nodes.csv]
- ApplicationLink
- 32
- nodes.csv
- string
- Count
- 16
- true
-
-
-
- TierLink
- 129
- [TierLink]
- [nodes.csv]
- TierLink
- 33
- nodes.csv
- string
- Count
- 96
- true
-
-
-
- NodeLink
+ BTLink
129
- [NodeLink]
- [nodes.csv]
- NodeLink
- 34
- nodes.csv
+ [BTLink]
+ [businesstransactions.csv]
+ BTLink
+ 19
+ businesstransactions.csv
string
Count
- 115
+ 1009
true
Controller
129
- [Controller (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
Controller
- 35
- NODE.*.metricvalues.csv
+ 20
+ BT.*.metricvalues.csv
string
Count
1
@@ -4389,14 +3897,14 @@
ApplicationName
129
- [ApplicationName (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationName
- 36
- NODE.*.metricvalues.csv
+ 21
+ BT.*.metricvalues.csv
string
Count
- 26
+ 14
true
@@ -4404,13 +3912,13 @@
EntityName
129
[EntityName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityName
- 37
- NODE.*.metricvalues.csv
+ 22
+ BT.*.metricvalues.csv
string
Count
- 124
+ 94
true
@@ -4418,10 +3926,10 @@
EntityType
129
[EntityType]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityType
- 38
- NODE.*.metricvalues.csv
+ 23
+ BT.*.metricvalues.csv
string
Count
1
@@ -4432,13 +3940,13 @@
MetricName
129
[MetricName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricName
- 39
- NODE.*.metricvalues.csv
+ 24
+ BT.*.metricvalues.csv
string
Count
- 82
+ 4
true
@@ -4446,10 +3954,10 @@
EventTimeStamp
135
[EventTimeStamp]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStamp
- 40
- NODE.*.metricvalues.csv
+ 25
+ BT.*.metricvalues.csv
datetime
Year
120
@@ -4459,11 +3967,11 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStampUtc
- 41
- NODE.*.metricvalues.csv
- datetime
+ 26
+ BT.*.metricvalues.csv
+ datetime
Year
120
true
@@ -4472,10 +3980,10 @@
EventTime
135
[EventTime]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTime
- 42
- NODE.*.metricvalues.csv
+ 27
+ BT.*.metricvalues.csv
datetime
Year
120
@@ -4485,62 +3993,62 @@
Value
20
[Value]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Value
- 43
- NODE.*.metricvalues.csv
+ 28
+ BT.*.metricvalues.csv
integer
Sum
- 2698
+ 3277
true
Count
20
[Count]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
- 44
- NODE.*.metricvalues.csv
+ 29
+ BT.*.metricvalues.csv
integer
Sum
- 176
+ 127
true
Min
20
[Min]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Min
- 45
- NODE.*.metricvalues.csv
+ 30
+ BT.*.metricvalues.csv
integer
Sum
- 2612
+ 1929
true
Max
20
[Max]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Max
- 46
- NODE.*.metricvalues.csv
+ 31
+ BT.*.metricvalues.csv
integer
Sum
- 3312
+ 4223
true
Occurrences
20
[Occurrences]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Occurrences
- 47
- NODE.*.metricvalues.csv
+ 32
+ BT.*.metricvalues.csv
integer
Sum
1
@@ -4550,23 +4058,23 @@
Sum
20
[Sum]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Sum
- 48
- NODE.*.metricvalues.csv
+ 33
+ BT.*.metricvalues.csv
integer
Sum
- 3271
+ 5130
true
MetricResolution
20
[MetricResolution]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricResolution
- 49
- NODE.*.metricvalues.csv
+ 34
+ BT.*.metricvalues.csv
integer
Sum
1
@@ -4575,472 +4083,364 @@
ApplicationID
20
- [ApplicationID (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationID (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationID
- 50
- NODE.*.metricvalues.csv
+ 35
+ BT.*.metricvalues.csv
integer
Sum
- 26
+ 14
true
EntityID
20
[EntityID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityID
- 51
- NODE.*.metricvalues.csv
+ 36
+ BT.*.metricvalues.csv
integer
Sum
- 152
+ 115
true
MetricID
20
[MetricID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricID
- 52
- NODE.*.metricvalues.csv
+ 37
+ BT.*.metricvalues.csv
integer
Sum
- 2045
+ 711
true
Path
129
[Path]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Path
- 53
- NODE.*.metricvalues.csv
+ 38
+ BT.*.metricvalues.csv
string
Count
- 82
+ 4
true
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -6683,63 +6147,95 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
0
- [backends.csv]
+ [nodes.csv]
Count
true
@@ -6757,7 +6253,7 @@
Controller
129
[Controller]
- [backends.csv]
+ [nodes.csv]
Controller
0
string
@@ -6771,7 +6267,7 @@
ApplicationName
129
[ApplicationName]
- [backends.csv]
+ [nodes.csv]
ApplicationName
1
string
@@ -6782,11 +6278,11 @@
- BackendName
+ TierName
129
- [BackendName]
- [backends.csv]
- BackendName
+ [TierName]
+ [nodes.csv]
+ TierName
2
string
Count
@@ -6796,11 +6292,11 @@
- BackendType
+ NodeName
129
- [BackendType]
- [backends.csv]
- BackendType
+ [NodeName]
+ [nodes.csv]
+ NodeName
3
string
Count
@@ -6810,22 +6306,25 @@
- IsExplicitRule
- 11
- [IsExplicitRule]
- [backends.csv]
- IsExplicitRule
+ AgentType
+ 129
+ [AgentType]
+ [nodes.csv]
+ AgentType
4
- boolean
+ string
Count
+ 1
+ 1073741823
true
+
- RuleName
+ AgentVersion
129
- [RuleName]
- [backends.csv]
- RuleName
+ [AgentVersion]
+ [nodes.csv]
+ AgentVersion
5
string
Count
@@ -6835,23 +6334,12 @@
- NumProps
- 20
- [NumProps]
- [backends.csv]
- NumProps
- 6
- integer
- Sum
- true
-
-
- Prop1Name
+ AgentVersionRaw
129
- [Prop1Name]
- [backends.csv]
- Prop1Name
- 7
+ [AgentVersionRaw]
+ [nodes.csv]
+ AgentVersionRaw
+ 6
string
Count
1
@@ -6860,11 +6348,22 @@
- Prop1Value
+ AgentPresent
+ 11
+ [AgentPresent]
+ [nodes.csv]
+ AgentPresent
+ 7
+ boolean
+ Count
+ true
+
+
+ MachineName
129
- [Prop1Value]
- [backends.csv]
- Prop1Value
+ [MachineName]
+ [nodes.csv]
+ MachineName
8
string
Count
@@ -6874,11 +6373,11 @@
- Prop2Name
+ MachineAgentVersion
129
- [Prop2Name]
- [backends.csv]
- Prop2Name
+ [MachineAgentVersion]
+ [nodes.csv]
+ MachineAgentVersion
9
string
Count
@@ -6888,11 +6387,11 @@
- Prop2Value
+ MachineAgentVersionRaw
129
- [Prop2Value]
- [backends.csv]
- Prop2Value
+ [MachineAgentVersionRaw]
+ [nodes.csv]
+ MachineAgentVersionRaw
10
string
Count
@@ -6902,25 +6401,22 @@
- Prop3Name
- 129
- [Prop3Name]
- [backends.csv]
- Prop3Name
+ MachineAgentPresent
+ 11
+ [MachineAgentPresent]
+ [nodes.csv]
+ MachineAgentPresent
11
- string
+ boolean
Count
- 1
- 1073741823
true
-
- Prop3Value
+ MachineOSType
129
- [Prop3Value]
- [backends.csv]
- Prop3Value
+ [MachineOSType]
+ [nodes.csv]
+ MachineOSType
12
string
Count
@@ -6930,11 +6426,11 @@
- Prop4Name
+ MachineType
129
- [Prop4Name]
- [backends.csv]
- Prop4Name
+ [MachineType]
+ [nodes.csv]
+ MachineType
13
string
Count
@@ -6944,11 +6440,11 @@
- Prop4Value
+ AgentRuntime
129
- [Prop4Value]
- [backends.csv]
- Prop4Value
+ [AgentRuntime]
+ [nodes.csv]
+ AgentRuntime
14
string
Count
@@ -6958,11 +6454,11 @@
- Prop5Name
+ InstallDirectory
129
- [Prop5Name]
- [backends.csv]
- Prop5Name
+ [InstallDirectory]
+ [nodes.csv]
+ InstallDirectory
15
string
Count
@@ -6972,83 +6468,69 @@
- Prop5Value
- 129
- [Prop5Value]
- [backends.csv]
- Prop5Value
+ InstallTime
+ 135
+ [InstallTime]
+ [nodes.csv]
+ InstallTime
16
- string
- Count
- 1
- 1073741823
+ datetime
+ Year
true
-
- Prop6Name
- 129
- [Prop6Name]
- [backends.csv]
- Prop6Name
+ LastStartTime
+ 135
+ [LastStartTime]
+ [nodes.csv]
+ LastStartTime
17
- string
- Count
- 1
- 1073741823
+ datetime
+ Year
true
-
- Prop6Value
- 129
- [Prop6Value]
- [backends.csv]
- Prop6Value
+ IsDisabled
+ 11
+ [IsDisabled]
+ [nodes.csv]
+ IsDisabled
18
- string
+ boolean
Count
- 1
- 1073741823
true
-
- Prop7Name
- 129
- [Prop7Name]
- [backends.csv]
- Prop7Name
+ IsMonitoringDisabled
+ 11
+ [IsMonitoringDisabled]
+ [nodes.csv]
+ IsMonitoringDisabled
19
- string
+ boolean
Count
- 1
- 1
- 1073741823
true
-
- Prop7Value
+ WebHostContainerType
129
- [Prop7Value]
- [backends.csv]
- Prop7Value
+ [WebHostContainerType]
+ [nodes.csv]
+ WebHostContainerType
20
string
Count
- 1
1
1073741823
true
- DBMonCollectorName
+ CloudHostType
129
- [DBMonCollectorName]
- [backends.csv]
- DBMonCollectorName
+ [CloudHostType]
+ [nodes.csv]
+ CloudHostType
21
string
Count
@@ -7058,11 +6540,11 @@
- DBMonCollectorType
+ CloudRegion
129
- [DBMonCollectorType]
- [backends.csv]
- DBMonCollectorType
+ [CloudRegion]
+ [nodes.csv]
+ CloudRegion
22
string
Count
@@ -7072,72 +6554,77 @@
- ApplicationID
- 20
- [ApplicationID]
- [backends.csv]
- ApplicationID
+ ContainerRuntimeType
+ 129
+ [ContainerRuntimeType]
+ [nodes.csv]
+ ContainerRuntimeType
23
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- BackendID
+ HeapInitialSizeMB
20
- [BackendID]
- [backends.csv]
- BackendID
+ [HeapInitialSizeMB]
+ [nodes.csv]
+ HeapInitialSizeMB
24
integer
Sum
true
- DBMonCollectorConfigID
+ HeapMaxSizeMB
20
- [DBMonCollectorConfigID]
- [backends.csv]
- DBMonCollectorConfigID
+ [HeapMaxSizeMB]
+ [nodes.csv]
+ HeapMaxSizeMB
25
integer
Sum
true
- MetricGraphLink
+ HeapYoungInitialSizeMB
129
- [MetricGraphLink]
- [backends.csv]
- MetricGraphLink
+ [HeapYoungInitialSizeMB]
+ [nodes.csv]
+ HeapYoungInitialSizeMB
26
string
Count
+ 1
1
1073741823
true
- DetailLink
+ HeapYoungMaxSizeMB
129
- [DetailLink]
- [backends.csv]
- DetailLink
+ [HeapYoungMaxSizeMB]
+ [nodes.csv]
+ HeapYoungMaxSizeMB
27
string
Count
+ 1
1
1073741823
true
- ControllerLink
+ ClassPath
129
- [ControllerLink]
- [backends.csv]
- ControllerLink
+ [ClassPath]
+ [nodes.csv]
+ ClassPath
28
string
Count
@@ -7147,25 +6634,22 @@
- ApplicationLink
- 129
- [ApplicationLink]
- [backends.csv]
- ApplicationLink
+ ClassVersion
+ 5
+ [ClassVersion]
+ [nodes.csv]
+ ClassVersion
29
- string
- Count
- 1
- 1073741823
+ real
+ Sum
true
-
- BackendLink
+ Home
129
- [BackendLink]
- [backends.csv]
- BackendLink
+ [Home]
+ [nodes.csv]
+ Home
30
string
Count
@@ -7174,540 +6658,1383 @@
true
-
-
- 0
- [BACK.*.metricvalues.csv]
-
- Count
- true
-
- Controller
+ RuntimeName
129
- [Controller (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- Controller
+ [RuntimeName]
+ [nodes.csv]
+ RuntimeName
31
string
Count
+ 1
+ 1073741823
true
- ApplicationName
+ RuntimeVersion
129
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- ApplicationName
+ [RuntimeVersion]
+ [nodes.csv]
+ RuntimeVersion
32
string
Count
+ 1
+ 1073741823
true
- EntityName
+ Vendor
129
- [EntityName]
- [BACK.*.metricvalues.csv]
- EntityName
+ [Vendor]
+ [nodes.csv]
+ Vendor
33
string
Count
+ 1
+ 1073741823
true
- EntityType
+ VendorVersion
129
- [EntityType]
- [BACK.*.metricvalues.csv]
- EntityType
+ [VendorVersion]
+ [nodes.csv]
+ VendorVersion
34
string
Count
+ 1
+ 1
+ 1073741823
true
- MetricName
+ Version
129
- [MetricName]
- [BACK.*.metricvalues.csv]
- MetricName
+ [Version]
+ [nodes.csv]
+ Version
35
string
Count
+ 1
+ 1073741823
true
- EventTimeStamp
- 135
- [EventTimeStamp]
- [BACK.*.metricvalues.csv]
- EventTimeStamp
+ VMInfo
+ 129
+ [VMInfo]
+ [nodes.csv]
+ VMInfo
36
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- EventTimeStampUtc
- 135
- [EventTimeStampUtc]
- [BACK.*.metricvalues.csv]
- EventTimeStampUtc
+ VMName
+ 129
+ [VMName]
+ [nodes.csv]
+ VMName
37
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- EventTime
- 135
- [EventTime]
- [BACK.*.metricvalues.csv]
- EventTime
+ VMVendor
+ 129
+ [VMVendor]
+ [nodes.csv]
+ VMVendor
38
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- Value
- 20
- [Value]
- [BACK.*.metricvalues.csv]
- Value
+ VMVersion
+ 129
+ [VMVersion]
+ [nodes.csv]
+ VMVersion
39
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Count
- 20
- [Count]
- [BACK.*.metricvalues.csv]
- Count
+ OSArchitecture
+ 129
+ [OSArchitecture]
+ [nodes.csv]
+ OSArchitecture
40
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Min
- 20
- [Min]
- [BACK.*.metricvalues.csv]
- Min
+ OSName
+ 129
+ [OSName]
+ [nodes.csv]
+ OSName
41
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Max
- 20
- [Max]
- [BACK.*.metricvalues.csv]
- Max
+ OSVersion
+ 129
+ [OSVersion]
+ [nodes.csv]
+ OSVersion
42
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Occurrences
- 20
- [Occurrences]
- [BACK.*.metricvalues.csv]
- Occurrences
+ OSComputerName
+ 129
+ [OSComputerName]
+ [nodes.csv]
+ OSComputerName
43
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Sum
- 20
- [Sum]
- [BACK.*.metricvalues.csv]
- Sum
+ OSProcessorType
+ 129
+ [OSProcessorType]
+ [nodes.csv]
+ OSProcessorType
44
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- MetricResolution
- 20
- [MetricResolution]
- [BACK.*.metricvalues.csv]
- MetricResolution
+ OSProcessorRevision
+ 129
+ [OSProcessorRevision]
+ [nodes.csv]
+ OSProcessorRevision
45
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ OSNumberOfProcs
+ 20
+ [OSNumberOfProcs]
+ [nodes.csv]
+ OSNumberOfProcs
+ 46
integer
Sum
true
- ApplicationID
+ UserName
+ 129
+ [UserName]
+ [nodes.csv]
+ UserName
+ 47
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ Domain
+ 129
+ [Domain]
+ [nodes.csv]
+ Domain
+ 48
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ NumStartupOptions
20
- [ApplicationID (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- ApplicationID
- 46
+ [NumStartupOptions]
+ [nodes.csv]
+ NumStartupOptions
+ 49
integer
Sum
true
- EntityID
+ NumProperties
20
- [EntityID]
- [BACK.*.metricvalues.csv]
- EntityID
- 47
+ [NumProperties]
+ [nodes.csv]
+ NumProperties
+ 50
integer
Sum
true
- MetricID
+ NumEnvVariables
20
- [MetricID]
- [BACK.*.metricvalues.csv]
- MetricID
- 48
+ [NumEnvVariables]
+ [nodes.csv]
+ NumEnvVariables
+ 51
integer
Sum
true
- Path
+ ApplicationID
+ 20
+ [ApplicationID]
+ [nodes.csv]
+ ApplicationID
+ 52
+ integer
+ Sum
+ true
+
+
+ TierID
+ 20
+ [TierID]
+ [nodes.csv]
+ TierID
+ 53
+ integer
+ Sum
+ true
+
+
+ NodeID
+ 20
+ [NodeID]
+ [nodes.csv]
+ NodeID
+ 54
+ integer
+ Sum
+ true
+
+
+ MachineID
+ 20
+ [MachineID]
+ [nodes.csv]
+ MachineID
+ 55
+ integer
+ Sum
+ true
+
+
+ DetailLink
129
- [Path]
- [BACK.*.metricvalues.csv]
- Path
- 49
+ [DetailLink]
+ [nodes.csv]
+ DetailLink
+ 56
string
Count
+ 1
+ 1073741823
true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [Controller]
- [ApplicationName]
- [BackendName]
-
-
- [Controller (BACK.CPM.metricvalues.csv+)]
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [EntityName]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Controller
- 129
- [Controller]
- [backends.csv]
- Controller
- 0
- backends.csv
- string
- Count
- 1
- true
-
-
-
- ApplicationName
- 129
- [ApplicationName]
- [backends.csv]
- ApplicationName
- 1
- backends.csv
- string
- Count
- 30
- true
-
-
-
- BackendName
- 129
- [BackendName]
- [backends.csv]
- BackendName
- 2
- backends.csv
- string
- Count
- 149
- true
-
-
-
- BackendType
- 129
- [BackendType]
- [backends.csv]
- BackendType
- 3
- backends.csv
- string
- Count
- 16
- true
-
-
-
- IsExplicitRule
- 11
- [IsExplicitRule]
- [backends.csv]
- IsExplicitRule
- 4
- backends.csv
- boolean
- Count
- 2
- true
-
-
- RuleName
- 129
- [RuleName]
- [backends.csv]
- RuleName
- 5
- backends.csv
- string
- Count
- 11
- true
-
-
-
- NumProps
- 20
- [NumProps]
- [backends.csv]
- NumProps
- 6
- backends.csv
- integer
- Sum
- 5
- true
-
-
- Prop1Name
- 129
- [Prop1Name]
- [backends.csv]
- Prop1Name
- 7
- backends.csv
- string
- Count
- 17
- true
-
+
+ MetricGraphLink
+ 129
+ [MetricGraphLink]
+ [nodes.csv]
+ MetricGraphLink
+ 57
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ FlameGraphLink
+ 129
+ [FlameGraphLink]
+ [nodes.csv]
+ FlameGraphLink
+ 58
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ FlameChartLink
+ 129
+ [FlameChartLink]
+ [nodes.csv]
+ FlameChartLink
+ 59
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ ControllerLink
+ 129
+ [ControllerLink]
+ [nodes.csv]
+ ControllerLink
+ 60
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ ApplicationLink
+ 129
+ [ApplicationLink]
+ [nodes.csv]
+ ApplicationLink
+ 61
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ TierLink
+ 129
+ [TierLink]
+ [nodes.csv]
+ TierLink
+ 62
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ NodeLink
+ 129
+ [NodeLink]
+ [nodes.csv]
+ NodeLink
+ 63
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+
+ 0
+ [NODE.*.metricvalues.csv]
+
+ Count
+ true
+
+
+ Controller
+ 129
+ [Controller (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ Controller
+ 64
+ string
+ Count
+ true
+
+
+
+ ApplicationName
+ 129
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ ApplicationName
+ 65
+ string
+ Count
+ true
+
+
+
+ EntityName
+ 129
+ [EntityName]
+ [NODE.*.metricvalues.csv]
+ EntityName
+ 66
+ string
+ Count
+ true
+
+
+
+ EntityType
+ 129
+ [EntityType]
+ [NODE.*.metricvalues.csv]
+ EntityType
+ 67
+ string
+ Count
+ true
+
+
+
+ MetricName
+ 129
+ [MetricName]
+ [NODE.*.metricvalues.csv]
+ MetricName
+ 68
+ string
+ Count
+ true
+
+
+
+ EventTimeStamp
+ 135
+ [EventTimeStamp]
+ [NODE.*.metricvalues.csv]
+ EventTimeStamp
+ 69
+ datetime
+ Year
+ true
+
+
+ EventTimeStampUtc
+ 135
+ [EventTimeStampUtc]
+ [NODE.*.metricvalues.csv]
+ EventTimeStampUtc
+ 70
+ datetime
+ Year
+ true
+
+
+ EventTime
+ 135
+ [EventTime]
+ [NODE.*.metricvalues.csv]
+ EventTime
+ 71
+ datetime
+ Year
+ true
+
+
+ Value
+ 20
+ [Value]
+ [NODE.*.metricvalues.csv]
+ Value
+ 72
+ integer
+ Sum
+ true
+
+
+ Count
+ 20
+ [Count]
+ [NODE.*.metricvalues.csv]
+ Count
+ 73
+ integer
+ Sum
+ true
+
+
+ Min
+ 20
+ [Min]
+ [NODE.*.metricvalues.csv]
+ Min
+ 74
+ integer
+ Sum
+ true
+
+
+ Max
+ 20
+ [Max]
+ [NODE.*.metricvalues.csv]
+ Max
+ 75
+ integer
+ Sum
+ true
+
+
+ Occurrences
+ 20
+ [Occurrences]
+ [NODE.*.metricvalues.csv]
+ Occurrences
+ 76
+ integer
+ Sum
+ true
+
+
+ Sum
+ 20
+ [Sum]
+ [NODE.*.metricvalues.csv]
+ Sum
+ 77
+ integer
+ Sum
+ true
+
+
+ MetricResolution
+ 20
+ [MetricResolution]
+ [NODE.*.metricvalues.csv]
+ MetricResolution
+ 78
+ integer
+ Sum
+ true
+
+
+ ApplicationID
+ 20
+ [ApplicationID (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ ApplicationID
+ 79
+ integer
+ Sum
+ true
+
+
+ EntityID
+ 20
+ [EntityID]
+ [NODE.*.metricvalues.csv]
+ EntityID
+ 80
+ integer
+ Sum
+ true
+
+
+ MetricID
+ 20
+ [MetricID]
+ [NODE.*.metricvalues.csv]
+ MetricID
+ 81
+ integer
+ Sum
+ true
+
+
+ Path
+ 129
+ [Path]
+ [NODE.*.metricvalues.csv]
+ Path
+ 82
+ string
+ Count
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Controller]
+ [ApplicationName]
+ [TierName]
+ [NodeName]
+
+
+ [Controller (NODE.*.metricvalues.csv)]
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [EntityName]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Controller
+ 129
+ [Controller]
+ [nodes.csv]
+ Controller
+ 0
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ ApplicationName
+ 129
+ [ApplicationName]
+ [nodes.csv]
+ ApplicationName
+ 1
+ nodes.csv
+ string
+ Count
+ 16
+ true
+
+
+
+ TierName
+ 129
+ [TierName]
+ [nodes.csv]
+ TierName
+ 2
+ nodes.csv
+ string
+ Count
+ 67
+ true
+
+
+
+ NodeName
+ 129
+ [NodeName]
+ [nodes.csv]
+ NodeName
+ 3
+ nodes.csv
+ string
+ Count
+ 88
+ true
+
+
+
+ AgentType
+ 129
+ [AgentType]
+ [nodes.csv]
+ AgentType
+ 4
+ nodes.csv
+ string
+ Count
+ 10
+ true
+
+
+
+ AgentVersion
+ 129
+ [AgentVersion]
+ [nodes.csv]
+ AgentVersion
+ 5
+ nodes.csv
+ string
+ Count
+ 17
+ true
+
+
+
+ AgentVersionRaw
+ 129
+ [AgentVersionRaw]
+ [nodes.csv]
+ AgentVersionRaw
+ 6
+ nodes.csv
+ string
+ Count
+ 17
+ true
+
+
+
+ AgentPresent
+ 11
+ [AgentPresent]
+ [nodes.csv]
+ AgentPresent
+ 7
+ nodes.csv
+ boolean
+ Count
+ 2
+ true
+
+
+ MachineName
+ 129
+ [MachineName]
+ [nodes.csv]
+ MachineName
+ 8
+ nodes.csv
+ string
+ Count
+ 82
+ true
+
+
+
+ MachineAgentVersion
+ 129
+ [MachineAgentVersion]
+ [nodes.csv]
+ MachineAgentVersion
+ 9
+ nodes.csv
+ string
+ Count
+ 7
+ true
+
+
+
+ MachineAgentVersionRaw
+ 129
+ [MachineAgentVersionRaw]
+ [nodes.csv]
+ MachineAgentVersionRaw
+ 10
+ nodes.csv
+ string
+ Count
+ 7
+ true
+
+
+
+ MachineAgentPresent
+ 11
+ [MachineAgentPresent]
+ [nodes.csv]
+ MachineAgentPresent
+ 11
+ nodes.csv
+ boolean
+ Count
+ 2
+ true
+
+
+ MachineOSType
+ 129
+ [MachineOSType]
+ [nodes.csv]
+ MachineOSType
+ 12
+ nodes.csv
+ string
+ Count
+ 2
+ true
+
+
+
+ MachineType
+ 129
+ [MachineType]
+ [nodes.csv]
+ MachineType
+ 13
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ AgentRuntime
+ 129
+ [AgentRuntime]
+ [nodes.csv]
+ AgentRuntime
+ 14
+ nodes.csv
+ string
+ Count
+ 16
+ true
+
+
+
+ InstallDirectory
+ 129
+ [InstallDirectory]
+ [nodes.csv]
+ InstallDirectory
+ 15
+ nodes.csv
+ string
+ Count
+ 33
+ true
+
+
+
+ InstallTime
+ 135
+ [InstallTime]
+ [nodes.csv]
+ InstallTime
+ 16
+ nodes.csv
+ datetime
+ Year
+ 97
+ true
+
+
+ LastStartTime
+ 135
+ [LastStartTime]
+ [nodes.csv]
+ LastStartTime
+ 17
+ nodes.csv
+ datetime
+ Year
+ 90
+ true
+
+
+ IsDisabled
+ 11
+ [IsDisabled]
+ [nodes.csv]
+ IsDisabled
+ 18
+ nodes.csv
+ boolean
+ Count
+ 1
+ true
+
+
+ IsMonitoringDisabled
+ 11
+ [IsMonitoringDisabled]
+ [nodes.csv]
+ IsMonitoringDisabled
+ 19
+ nodes.csv
+ boolean
+ Count
+ 1
+ true
- Prop1Value
+ WebHostContainerType
129
- [Prop1Value]
- [backends.csv]
- Prop1Value
- 8
- backends.csv
+ [WebHostContainerType]
+ [nodes.csv]
+ WebHostContainerType
+ 20
+ nodes.csv
string
Count
- 111
+ 7
true
- Prop2Name
+ CloudHostType
129
- [Prop2Name]
- [backends.csv]
- Prop2Name
- 9
- backends.csv
+ [CloudHostType]
+ [nodes.csv]
+ CloudHostType
+ 21
+ nodes.csv
string
Count
- 12
+ 3
true
- Prop2Value
+ CloudRegion
129
- [Prop2Value]
- [backends.csv]
- Prop2Value
- 10
- backends.csv
+ [CloudRegion]
+ [nodes.csv]
+ CloudRegion
+ 22
+ nodes.csv
string
Count
- 46
+ 3
true
- Prop3Name
+ ContainerRuntimeType
129
- [Prop3Name]
- [backends.csv]
- Prop3Name
- 11
- backends.csv
+ [ContainerRuntimeType]
+ [nodes.csv]
+ ContainerRuntimeType
+ 23
+ nodes.csv
string
Count
+ 2
+ true
+
+
+
+ HeapInitialSizeMB
+ 20
+ [HeapInitialSizeMB]
+ [nodes.csv]
+ HeapInitialSizeMB
+ 24
+ nodes.csv
+ integer
+ Sum
+ 5
+ true
+
+
+ HeapMaxSizeMB
+ 20
+ [HeapMaxSizeMB]
+ [nodes.csv]
+ HeapMaxSizeMB
+ 25
+ nodes.csv
+ integer
+ Sum
8
true
+
+
+ HeapYoungInitialSizeMB
+ 129
+ [HeapYoungInitialSizeMB]
+ [nodes.csv]
+ HeapYoungInitialSizeMB
+ 26
+ nodes.csv
+ string
+ Count
+ 1
+ true
- Prop3Value
+ HeapYoungMaxSizeMB
129
- [Prop3Value]
- [backends.csv]
- Prop3Value
- 12
- backends.csv
+ [HeapYoungMaxSizeMB]
+ [nodes.csv]
+ HeapYoungMaxSizeMB
+ 27
+ nodes.csv
string
Count
- 15
+ 1
true
- Prop4Name
+ ClassPath
129
- [Prop4Name]
- [backends.csv]
- Prop4Name
- 13
- backends.csv
+ [ClassPath]
+ [nodes.csv]
+ ClassPath
+ 28
+ nodes.csv
string
Count
+ 17
+ true
+
+
+
+ ClassVersion
+ 5
+ [ClassVersion]
+ [nodes.csv]
+ ClassVersion
+ 29
+ nodes.csv
+ real
+ Sum
3
true
+
+
+ Home
+ 129
+ [Home]
+ [nodes.csv]
+ Home
+ 30
+ nodes.csv
+ string
+ Count
+ 15
+ true
- Prop4Value
+ RuntimeName
129
- [Prop4Value]
- [backends.csv]
- Prop4Value
- 14
- backends.csv
+ [RuntimeName]
+ [nodes.csv]
+ RuntimeName
+ 31
+ nodes.csv
string
Count
- 9
+ 4
true
- Prop5Name
+ RuntimeVersion
129
- [Prop5Name]
- [backends.csv]
- Prop5Name
- 15
- backends.csv
+ [RuntimeVersion]
+ [nodes.csv]
+ RuntimeVersion
+ 32
+ nodes.csv
+ string
+ Count
+ 14
+ true
+
+
+
+ Vendor
+ 129
+ [Vendor]
+ [nodes.csv]
+ Vendor
+ 33
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ VendorVersion
+ 129
+ [VendorVersion]
+ [nodes.csv]
+ VendorVersion
+ 34
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ Version
+ 129
+ [Version]
+ [nodes.csv]
+ Version
+ 35
+ nodes.csv
+ string
+ Count
+ 12
+ true
+
+
+
+ VMInfo
+ 129
+ [VMInfo]
+ [nodes.csv]
+ VMInfo
+ 36
+ nodes.csv
string
Count
2
@@ -7715,167 +8042,316 @@
- Prop5Value
+ VMName
129
- [Prop5Value]
- [backends.csv]
- Prop5Value
- 16
- backends.csv
+ [VMName]
+ [nodes.csv]
+ VMName
+ 37
+ nodes.csv
string
Count
- 7
+ 4
true
- Prop6Name
+ VMVendor
129
- [Prop6Name]
- [backends.csv]
- Prop6Name
- 17
- backends.csv
+ [VMVendor]
+ [nodes.csv]
+ VMVendor
+ 38
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ VMVersion
+ 129
+ [VMVersion]
+ [nodes.csv]
+ VMVersion
+ 39
+ nodes.csv
+ string
+ Count
+ 14
+ true
+
+
+
+ OSArchitecture
+ 129
+ [OSArchitecture]
+ [nodes.csv]
+ OSArchitecture
+ 40
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ OSName
+ 129
+ [OSName]
+ [nodes.csv]
+ OSName
+ 41
+ nodes.csv
+ string
+ Count
+ 3
+ true
+
+
+
+ OSVersion
+ 129
+ [OSVersion]
+ [nodes.csv]
+ OSVersion
+ 42
+ nodes.csv
+ string
+ Count
+ 9
+ true
+
+
+
+ OSComputerName
+ 129
+ [OSComputerName]
+ [nodes.csv]
+ OSComputerName
+ 43
+ nodes.csv
string
Count
- 2
+ 89
true
- Prop6Value
+ OSProcessorType
129
- [Prop6Value]
- [backends.csv]
- Prop6Value
- 18
- backends.csv
+ [OSProcessorType]
+ [nodes.csv]
+ OSProcessorType
+ 44
+ nodes.csv
string
Count
- 5
+ 3
true
- Prop7Name
+ OSProcessorRevision
129
- [Prop7Name]
- [backends.csv]
- Prop7Name
- 19
- backends.csv
+ [OSProcessorRevision]
+ [nodes.csv]
+ OSProcessorRevision
+ 45
+ nodes.csv
string
Count
- 1
+ 3
true
- Prop7Value
- 129
- [Prop7Value]
- [backends.csv]
- Prop7Value
- 20
- backends.csv
- string
- Count
- 1
+ OSNumberOfProcs
+ 20
+ [OSNumberOfProcs]
+ [nodes.csv]
+ OSNumberOfProcs
+ 46
+ nodes.csv
+ integer
+ Sum
+ 4
true
-
- DBMonCollectorName
+ UserName
129
- [DBMonCollectorName]
- [backends.csv]
- DBMonCollectorName
- 21
- backends.csv
+ [UserName]
+ [nodes.csv]
+ UserName
+ 47
+ nodes.csv
string
Count
- 7
+ 10
true
- DBMonCollectorType
+ Domain
129
- [DBMonCollectorType]
- [backends.csv]
- DBMonCollectorType
- 22
- backends.csv
+ [Domain]
+ [nodes.csv]
+ Domain
+ 48
+ nodes.csv
string
Count
- 5
+ 3
true
+
+ NumStartupOptions
+ 20
+ [NumStartupOptions]
+ [nodes.csv]
+ NumStartupOptions
+ 49
+ nodes.csv
+ integer
+ Sum
+ 14
+ true
+
+
+ NumProperties
+ 20
+ [NumProperties]
+ [nodes.csv]
+ NumProperties
+ 50
+ nodes.csv
+ integer
+ Sum
+ 20
+ true
+
+
+ NumEnvVariables
+ 20
+ [NumEnvVariables]
+ [nodes.csv]
+ NumEnvVariables
+ 51
+ nodes.csv
+ integer
+ Sum
+ 40
+ true
+
ApplicationID
20
[ApplicationID]
- [backends.csv]
+ [nodes.csv]
ApplicationID
- 23
- backends.csv
+ 52
+ nodes.csv
integer
Sum
- 30
+ 16
true
- BackendID
+ TierID
20
- [BackendID]
- [backends.csv]
- BackendID
- 24
- backends.csv
+ [TierID]
+ [nodes.csv]
+ TierID
+ 53
+ nodes.csv
integer
Sum
- 216
+ 96
true
- DBMonCollectorConfigID
+ NodeID
20
- [DBMonCollectorConfigID]
- [backends.csv]
- DBMonCollectorConfigID
- 25
- backends.csv
+ [NodeID]
+ [nodes.csv]
+ NodeID
+ 54
+ nodes.csv
integer
Sum
- 7
+ 115
+ true
+
+
+ MachineID
+ 20
+ [MachineID]
+ [nodes.csv]
+ MachineID
+ 55
+ nodes.csv
+ integer
+ Sum
+ 82
+ true
+
+
+ DetailLink
+ 129
+ [DetailLink]
+ [nodes.csv]
+ DetailLink
+ 56
+ nodes.csv
+ string
+ Count
+ 115
true
+
MetricGraphLink
129
[MetricGraphLink]
- [backends.csv]
+ [nodes.csv]
MetricGraphLink
- 26
- backends.csv
+ 57
+ nodes.csv
string
Count
- 30
+ 16
true
- DetailLink
+ FlameGraphLink
129
- [DetailLink]
- [backends.csv]
- DetailLink
- 27
- backends.csv
+ [FlameGraphLink]
+ [nodes.csv]
+ FlameGraphLink
+ 58
+ nodes.csv
string
Count
- 216
+ 115
+ true
+
+
+
+ FlameChartLink
+ 129
+ [FlameChartLink]
+ [nodes.csv]
+ FlameChartLink
+ 59
+ nodes.csv
+ string
+ Count
+ 115
true
@@ -7883,10 +8359,10 @@
ControllerLink
129
[ControllerLink]
- [backends.csv]
+ [nodes.csv]
ControllerLink
- 28
- backends.csv
+ 60
+ nodes.csv
string
Count
1
@@ -7897,38 +8373,52 @@
ApplicationLink
129
[ApplicationLink]
- [backends.csv]
+ [nodes.csv]
ApplicationLink
- 29
- backends.csv
+ 61
+ nodes.csv
string
Count
- 30
+ 16
true
- BackendLink
+ TierLink
129
- [BackendLink]
- [backends.csv]
- BackendLink
- 30
- backends.csv
+ [TierLink]
+ [nodes.csv]
+ TierLink
+ 62
+ nodes.csv
string
Count
- 216
+ 96
+ true
+
+
+
+ NodeLink
+ 129
+ [NodeLink]
+ [nodes.csv]
+ NodeLink
+ 63
+ nodes.csv
+ string
+ Count
+ 115
true
Controller
129
- [Controller (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [Controller (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
Controller
- 31
- BACK.*.metricvalues.csv
+ 64
+ NODE.*.metricvalues.csv
string
Count
1
@@ -7938,14 +8428,14 @@
ApplicationName
129
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
ApplicationName
- 32
- BACK.*.metricvalues.csv
+ 65
+ NODE.*.metricvalues.csv
string
Count
- 10
+ 3
true
@@ -7953,13 +8443,13 @@
EntityName
129
[EntityName]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityName
- 33
- BACK.*.metricvalues.csv
+ 66
+ NODE.*.metricvalues.csv
string
Count
- 58
+ 23
true
@@ -7967,10 +8457,10 @@
EntityType
129
[EntityType]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityType
- 34
- BACK.*.metricvalues.csv
+ 67
+ NODE.*.metricvalues.csv
string
Count
1
@@ -7981,13 +8471,13 @@
MetricName
129
[MetricName]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricName
- 35
- BACK.*.metricvalues.csv
+ 68
+ NODE.*.metricvalues.csv
string
Count
- 3
+ 25
true
@@ -7995,10 +8485,10 @@
EventTimeStamp
135
[EventTimeStamp]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTimeStamp
- 36
- BACK.*.metricvalues.csv
+ 69
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8008,10 +8498,10 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTimeStampUtc
- 37
- BACK.*.metricvalues.csv
+ 70
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8021,10 +8511,10 @@
EventTime
135
[EventTime]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTime
- 38
- BACK.*.metricvalues.csv
+ 71
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8034,62 +8524,62 @@
Value
20
[Value]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Value
- 39
- BACK.*.metricvalues.csv
+ 72
+ NODE.*.metricvalues.csv
integer
Sum
- 878
+ 790
true
Count
20
[Count]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Count
- 40
- BACK.*.metricvalues.csv
+ 73
+ NODE.*.metricvalues.csv
integer
Sum
- 332
+ 199
true
Min
20
[Min]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Min
- 41
- BACK.*.metricvalues.csv
+ 74
+ NODE.*.metricvalues.csv
integer
Sum
- 359
+ 529
true
Max
20
[Max]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Max
- 42
- BACK.*.metricvalues.csv
+ 75
+ NODE.*.metricvalues.csv
integer
Sum
- 786
+ 737
true
Occurrences
20
[Occurrences]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Occurrences
- 43
- BACK.*.metricvalues.csv
+ 76
+ NODE.*.metricvalues.csv
integer
Sum
1
@@ -8099,23 +8589,23 @@
Sum
20
[Sum]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Sum
- 44
- BACK.*.metricvalues.csv
+ 77
+ NODE.*.metricvalues.csv
integer
Sum
- 1480
+ 898
true
MetricResolution
20
[MetricResolution]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricResolution
- 45
- BACK.*.metricvalues.csv
+ 78
+ NODE.*.metricvalues.csv
integer
Sum
1
@@ -8124,60 +8614,476 @@
ApplicationID
20
- [ApplicationID (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [ApplicationID (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
ApplicationID
- 46
- BACK.*.metricvalues.csv
+ 79
+ NODE.*.metricvalues.csv
integer
Sum
- 10
+ 3
true
EntityID
20
[EntityID]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityID
- 47
- BACK.*.metricvalues.csv
+ 80
+ NODE.*.metricvalues.csv
integer
Sum
- 60
+ 23
true
MetricID
20
[MetricID]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricID
- 48
- BACK.*.metricvalues.csv
+ 81
+ NODE.*.metricvalues.csv
integer
Sum
- 133
+ 125
true
Path
129
[Path]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Path
- 49
- BACK.*.metricvalues.csv
+ 82
+ NODE.*.metricvalues.csv
string
Count
- 3
+ 25
true
-
+
+
@@ -9676,1212 +10582,891 @@
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
- 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
+ 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
+ aMv5efPQVS4AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAYAAAAFSCAYAAAD7MQibAAAACXBIWXMAABJ0AAASdAHeZh94
@@ -11216,229 +11801,180 @@
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
- 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
- V0VvSro5eBYAAAAASUVORK5CYII=
+ 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
+ woPzHI/MKR8AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94
@@ -12731,165 +13267,146 @@
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
- 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
+ AAAdb0lEQVR4nO3dfXAU953n8c9oZjQS6AEQT5JAwmAMAiuWBTZg82jHGNs4JE7i3Xjv9rLr
+ zaVqU8nt1lUe9rJ1udrK7qVur7K3u8kmqUr2krtc5eKcHduBYGRjLB6MeBLC6MGSkJCENAI9
+ INBIGs30zPT9IQwSNgKBehrr935VUSXNT9PzZaiaN909PfLYtm0LAGCcFLcHAAC4gwAAgKEI
+ AAAYigAAgKEIAAAYigAAgKEIAAAYigAAgKEIAAAYigAAgKEIAAAYigAAgKEIAAAYigDcpYLB
+ oNsjAJjiCAAAGIoAAIChCAAAGIoAAIChCAAAGIoAAIChCAAAGIoAAIChCAAAGIoAAIChCAAA
+ GIoAAIChCAAAGIoAAIChCAAAGIoAAIChCAAAGIoAAIChCAAAGMpj27Z9O3fkd9Y6KxQKKTMz
+ 0+0xAExhtx0AOCsYDCovL8/tMQBMYRwCAgBDEQAAMBQBAABDEQAAMBQBSIKh3ladauj80O3x
+ cK/2vbFLR2raXJgKgOkIgMM6G0/qYE2NWuqvD4CtfXv2qnjzNuVcOqWj5wZdmQ+AuXxuDzDV
+ 5S59ULlLc/X7311/3USPEmn3anaaV7PXrVbZW03Swk+Muy07EVfzsR8pMnDBuYEnyL7y59Z5
+ nBkEwIQRANfE5fOlj3yZki5/SkySZFnWyGo8rkgkMuYeQ6FL8sRaNSNrOKmTApiaCIBrshWx
+ 6iQVKd4XVHR6jiTJ7/dLkrxerwKBwJh7BALzNHP23yd7UABTFAFwWP2JcjUEg2psCCleFtGT
+ W1epurJepaXFWjYnod+8+rriEVtbP7PD7VEBGIaPgrhL8VEQAJzGu4AAwFAEAAAMRQAAwFAE
AAAMRQAAwFAEAAAMRQAAwFAEAAAMRQAAwFAEAAAMRQAAwFAEAAAMRQAAwFAEAAAMRQAAwFAE
- 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
+ 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
@@ -14169,895 +14686,732 @@
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
- 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
- SUVORK5CYII=
+ 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
@@ -15335,838 +15689,715 @@
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
- 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
+ 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
+ IyYbwTIXAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAAYAAAAD+CAYAAAAzmNK6AAAACXBIWXMAABJ0AAASdAHeZh94
diff --git a/VisualAnalytics/Tableau/Design/SnapshotsExitsDesign.twb b/VisualAnalytics/Tableau/Design/SnapshotsExitsDesign.twb
index ed47a36..6fdae5b 100644
--- a/VisualAnalytics/Tableau/Design/SnapshotsExitsDesign.twb
+++ b/VisualAnalytics/Tableau/Design/SnapshotsExitsDesign.twb
@@ -1,7 +1,7 @@
-
-
+
+
@@ -2185,7 +2185,7 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -2974,66 +2969,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
0
- [nodes.csv]
+ [businesstransactions.csv]
Count
true
@@ -3051,7 +3031,7 @@
Controller
129
[Controller]
- [nodes.csv]
+ [businesstransactions.csv]
Controller
0
string
@@ -3065,7 +3045,7 @@
ApplicationName
129
[ApplicationName]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationName
1
string
@@ -3079,7 +3059,7 @@
TierName
129
[TierName]
- [nodes.csv]
+ [businesstransactions.csv]
TierName
2
string
@@ -3090,11 +3070,11 @@
- NodeName
+ BTName
129
- [NodeName]
- [nodes.csv]
- NodeName
+ [BTName]
+ [businesstransactions.csv]
+ BTName
3
string
Count
@@ -3104,11 +3084,11 @@
- AgentType
+ BTNameOriginal
129
- [AgentType]
- [nodes.csv]
- AgentType
+ [BTNameOriginal]
+ [businesstransactions.csv]
+ BTNameOriginal
4
string
Count
@@ -3118,25 +3098,22 @@
- AgentVersion
- 129
- [AgentVersion]
- [nodes.csv]
- AgentVersion
+ IsRenamed
+ 11
+ [IsRenamed]
+ [businesstransactions.csv]
+ IsRenamed
5
- string
+ boolean
Count
- 1
- 1073741823
true
-
- AgentVersionRaw
+ BTType
129
- [AgentVersionRaw]
- [nodes.csv]
- AgentVersionRaw
+ [BTType]
+ [businesstransactions.csv]
+ BTType
6
string
Count
@@ -3146,22 +3123,22 @@
- AgentPresent
+ IsExplicitRule
11
- [AgentPresent]
- [nodes.csv]
- AgentPresent
+ [IsExplicitRule]
+ [businesstransactions.csv]
+ IsExplicitRule
7
boolean
Count
true
- MachineName
+ RuleName
129
- [MachineName]
- [nodes.csv]
- MachineName
+ [RuleName]
+ [businesstransactions.csv]
+ RuleName
8
string
Count
@@ -3170,185 +3147,13 @@
true
-
- MachineAgentVersion
- 129
- [MachineAgentVersion]
- [nodes.csv]
- MachineAgentVersion
- 9
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineAgentVersionRaw
- 129
- [MachineAgentVersionRaw]
- [nodes.csv]
- MachineAgentVersionRaw
- 10
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineAgentPresent
- 11
- [MachineAgentPresent]
- [nodes.csv]
- MachineAgentPresent
- 11
- boolean
- Count
- true
-
-
- MachineOSType
- 129
- [MachineOSType]
- [nodes.csv]
- MachineOSType
- 12
- string
- Count
- 1
- 1073741823
- true
-
-
-
- MachineType
- 129
- [MachineType]
- [nodes.csv]
- MachineType
- 13
- string
- Count
- 1
- 1073741823
- true
-
-
-
- AgentRuntime
- 129
- [AgentRuntime]
- [nodes.csv]
- AgentRuntime
- 14
- string
- Count
- 1
- 1073741823
- true
-
-
-
- InstallDirectory
- 129
- [InstallDirectory]
- [nodes.csv]
- InstallDirectory
- 15
- string
- Count
- 1
- 1073741823
- true
-
-
-
- InstallTime
- 135
- [InstallTime]
- [nodes.csv]
- InstallTime
- 16
- datetime
- Year
- true
-
-
- LastStartTime
- 135
- [LastStartTime]
- [nodes.csv]
- LastStartTime
- 17
- datetime
- Year
- true
-
-
- IsDisabled
- 11
- [IsDisabled]
- [nodes.csv]
- IsDisabled
- 18
- boolean
- Count
- true
-
-
- IsMonitoringDisabled
- 11
- [IsMonitoringDisabled]
- [nodes.csv]
- IsMonitoringDisabled
- 19
- boolean
- Count
- true
-
-
- NumStartupOptions
- 20
- [NumStartupOptions]
- [nodes.csv]
- NumStartupOptions
- 20
- integer
- Sum
- true
-
-
- NumProperties
- 20
- [NumProperties]
- [nodes.csv]
- NumProperties
- 21
- integer
- Sum
- true
-
-
- NumEnvVariables
- 20
- [NumEnvVariables]
- [nodes.csv]
- NumEnvVariables
- 22
- integer
- Sum
- true
-
ApplicationID
20
[ApplicationID]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationID
- 23
+ 9
integer
Sum
true
@@ -3357,31 +3162,20 @@
TierID
20
[TierID]
- [nodes.csv]
+ [businesstransactions.csv]
TierID
- 24
- integer
- Sum
- true
-
-
- NodeID
- 20
- [NodeID]
- [nodes.csv]
- NodeID
- 25
+ 10
integer
Sum
true
- MachineID
+ BTID
20
- [MachineID]
- [nodes.csv]
- MachineID
- 26
+ [BTID]
+ [businesstransactions.csv]
+ BTID
+ 11
integer
Sum
true
@@ -3390,9 +3184,9 @@
DetailLink
129
[DetailLink]
- [nodes.csv]
+ [businesstransactions.csv]
DetailLink
- 27
+ 12
string
Count
1
@@ -3404,9 +3198,9 @@
MetricGraphLink
129
[MetricGraphLink]
- [nodes.csv]
+ [businesstransactions.csv]
MetricGraphLink
- 28
+ 13
string
Count
1
@@ -3418,9 +3212,9 @@
FlameGraphLink
129
[FlameGraphLink]
- [nodes.csv]
+ [businesstransactions.csv]
FlameGraphLink
- 29
+ 14
string
Count
1
@@ -3432,9 +3226,9 @@
FlameChartLink
129
[FlameChartLink]
- [nodes.csv]
+ [businesstransactions.csv]
FlameChartLink
- 30
+ 15
string
Count
1
@@ -3446,9 +3240,9 @@
ControllerLink
129
[ControllerLink]
- [nodes.csv]
+ [businesstransactions.csv]
ControllerLink
- 31
+ 16
string
Count
1
@@ -3460,9 +3254,9 @@
ApplicationLink
129
[ApplicationLink]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationLink
- 32
+ 17
string
Count
1
@@ -3474,9 +3268,9 @@
TierLink
129
[TierLink]
- [nodes.csv]
+ [businesstransactions.csv]
TierLink
- 33
+ 18
string
Count
1
@@ -3485,12 +3279,12 @@
- NodeLink
+ BTLink
129
- [NodeLink]
- [nodes.csv]
- NodeLink
- 34
+ [BTLink]
+ [businesstransactions.csv]
+ BTLink
+ 19
string
Count
1
@@ -3501,7 +3295,7 @@
0
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
true
@@ -3509,10 +3303,10 @@
Controller
129
- [Controller (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
Controller
- 35
+ 20
string
Count
true
@@ -3521,10 +3315,10 @@
ApplicationName
129
- [ApplicationName (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationName
- 36
+ 21
string
Count
true
@@ -3534,9 +3328,9 @@
EntityName
129
[EntityName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityName
- 37
+ 22
string
Count
true
@@ -3546,9 +3340,9 @@
EntityType
129
[EntityType]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityType
- 38
+ 23
string
Count
true
@@ -3558,9 +3352,9 @@
MetricName
129
[MetricName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricName
- 39
+ 24
string
Count
true
@@ -3570,9 +3364,9 @@
EventTimeStamp
135
[EventTimeStamp]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStamp
- 40
+ 25
datetime
Year
true
@@ -3581,9 +3375,9 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStampUtc
- 41
+ 26
datetime
Year
true
@@ -3592,9 +3386,9 @@
EventTime
135
[EventTime]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTime
- 42
+ 27
datetime
Year
true
@@ -3603,9 +3397,9 @@
Value
20
[Value]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Value
- 43
+ 28
integer
Sum
true
@@ -3614,9 +3408,9 @@
Count
20
[Count]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
- 44
+ 29
integer
Sum
true
@@ -3625,9 +3419,9 @@
Min
20
[Min]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Min
- 45
+ 30
integer
Sum
true
@@ -3636,9 +3430,9 @@
Max
20
[Max]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Max
- 46
+ 31
integer
Sum
true
@@ -3647,9 +3441,9 @@
Occurrences
20
[Occurrences]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Occurrences
- 47
+ 32
integer
Sum
true
@@ -3658,9 +3452,9 @@
Sum
20
[Sum]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Sum
- 48
+ 33
integer
Sum
true
@@ -3669,9 +3463,9 @@
MetricResolution
20
[MetricResolution]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricResolution
- 49
+ 34
integer
Sum
true
@@ -3679,10 +3473,10 @@
ApplicationID
20
- [ApplicationID (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationID (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationID
- 50
+ 35
integer
Sum
true
@@ -3691,9 +3485,9 @@
EntityID
20
[EntityID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityID
- 51
+ 36
integer
Sum
true
@@ -3702,9 +3496,9 @@
MetricID
20
[MetricID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricID
- 52
+ 37
integer
Sum
true
@@ -3713,9 +3507,9 @@
Path
129
[Path]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Path
- 53
+ 38
string
Count
true
@@ -3724,184 +3518,100 @@
-
+
-
-
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[Controller]
[ApplicationName]
[TierName]
- [NodeName]
+ [BTName]
- [Controller (NODE.*.metricvalues.csv)]
- [ApplicationName (NODE.*.metricvalues.csv)]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
[EntityName]
-
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
Controller
129
[Controller]
- [nodes.csv]
+ [businesstransactions.csv]
Controller
0
- nodes.csv
+ businesstransactions.csv
string
Count
1
@@ -3912,13 +3622,13 @@
ApplicationName
129
[ApplicationName]
- [nodes.csv]
+ [businesstransactions.csv]
ApplicationName
1
- nodes.csv
+ businesstransactions.csv
string
Count
- 16
+ 38
true
@@ -3926,459 +3636,257 @@
TierName
129
[TierName]
- [nodes.csv]
+ [businesstransactions.csv]
TierName
2
- nodes.csv
+ businesstransactions.csv
string
Count
- 67
+ 110
true
- NodeName
+ BTName
129
- [NodeName]
- [nodes.csv]
- NodeName
+ [BTName]
+ [businesstransactions.csv]
+ BTName
3
- nodes.csv
+ businesstransactions.csv
string
Count
- 88
+ 560
true
- AgentType
+ BTNameOriginal
129
- [AgentType]
- [nodes.csv]
- AgentType
+ [BTNameOriginal]
+ [businesstransactions.csv]
+ BTNameOriginal
4
- nodes.csv
+ businesstransactions.csv
string
Count
- 10
+ 542
true
- AgentVersion
- 129
- [AgentVersion]
- [nodes.csv]
- AgentVersion
+ IsRenamed
+ 11
+ [IsRenamed]
+ [businesstransactions.csv]
+ IsRenamed
5
- nodes.csv
- string
+ businesstransactions.csv
+ boolean
Count
- 17
+ 2
true
-
- AgentVersionRaw
+ BTType
129
- [AgentVersionRaw]
- [nodes.csv]
- AgentVersionRaw
+ [BTType]
+ [businesstransactions.csv]
+ BTType
6
- nodes.csv
+ businesstransactions.csv
string
Count
- 17
+ 16
true
- AgentPresent
+ IsExplicitRule
11
- [AgentPresent]
- [nodes.csv]
- AgentPresent
+ [IsExplicitRule]
+ [businesstransactions.csv]
+ IsExplicitRule
7
- nodes.csv
+ businesstransactions.csv
boolean
Count
2
true
- MachineName
+ RuleName
129
- [MachineName]
- [nodes.csv]
- MachineName
+ [RuleName]
+ [businesstransactions.csv]
+ RuleName
8
- nodes.csv
+ businesstransactions.csv
string
Count
- 82
+ 35
true
- MachineAgentVersion
- 129
- [MachineAgentVersion]
- [nodes.csv]
- MachineAgentVersion
+ ApplicationID
+ 20
+ [ApplicationID]
+ [businesstransactions.csv]
+ ApplicationID
9
- nodes.csv
- string
- Count
- 7
+ businesstransactions.csv
+ integer
+ Sum
+ 38
true
-
- MachineAgentVersionRaw
- 129
- [MachineAgentVersionRaw]
- [nodes.csv]
- MachineAgentVersionRaw
+ TierID
+ 20
+ [TierID]
+ [businesstransactions.csv]
+ TierID
10
- nodes.csv
- string
- Count
- 7
+ businesstransactions.csv
+ integer
+ Sum
+ 234
true
-
- MachineAgentPresent
- 11
- [MachineAgentPresent]
- [nodes.csv]
- MachineAgentPresent
+ BTID
+ 20
+ [BTID]
+ [businesstransactions.csv]
+ BTID
11
- nodes.csv
- boolean
- Count
- 2
+ businesstransactions.csv
+ integer
+ Sum
+ 1009
true
- MachineOSType
+ DetailLink
129
- [MachineOSType]
- [nodes.csv]
- MachineOSType
+ [DetailLink]
+ [businesstransactions.csv]
+ DetailLink
12
- nodes.csv
+ businesstransactions.csv
string
Count
- 2
+ 1009
true
- MachineType
+ MetricGraphLink
129
- [MachineType]
- [nodes.csv]
- MachineType
+ [MetricGraphLink]
+ [businesstransactions.csv]
+ MetricGraphLink
13
- nodes.csv
+ businesstransactions.csv
string
Count
- 1
+ 38
true
- AgentRuntime
+ FlameGraphLink
129
- [AgentRuntime]
- [nodes.csv]
- AgentRuntime
+ [FlameGraphLink]
+ [businesstransactions.csv]
+ FlameGraphLink
14
- nodes.csv
+ businesstransactions.csv
string
Count
- 16
+ 1009
true
- InstallDirectory
+ FlameChartLink
129
- [InstallDirectory]
- [nodes.csv]
- InstallDirectory
+ [FlameChartLink]
+ [businesstransactions.csv]
+ FlameChartLink
15
- nodes.csv
+ businesstransactions.csv
string
Count
- 33
+ 1009
true
- InstallTime
- 135
- [InstallTime]
- [nodes.csv]
- InstallTime
+ ControllerLink
+ 129
+ [ControllerLink]
+ [businesstransactions.csv]
+ ControllerLink
16
- nodes.csv
- datetime
- Year
- 97
+ businesstransactions.csv
+ string
+ Count
+ 1
true
+
- LastStartTime
- 135
- [LastStartTime]
- [nodes.csv]
- LastStartTime
+ ApplicationLink
+ 129
+ [ApplicationLink]
+ [businesstransactions.csv]
+ ApplicationLink
17
- nodes.csv
- datetime
- Year
- 90
+ businesstransactions.csv
+ string
+ Count
+ 38
true
+
- IsDisabled
- 11
- [IsDisabled]
- [nodes.csv]
- IsDisabled
+ TierLink
+ 129
+ [TierLink]
+ [businesstransactions.csv]
+ TierLink
18
- nodes.csv
- boolean
+ businesstransactions.csv
+ string
Count
- 1
+ 234
true
+
- IsMonitoringDisabled
- 11
- [IsMonitoringDisabled]
- [nodes.csv]
- IsMonitoringDisabled
- 19
- nodes.csv
- boolean
- Count
- 1
- true
-
-
- NumStartupOptions
- 20
- [NumStartupOptions]
- [nodes.csv]
- NumStartupOptions
- 20
- nodes.csv
- integer
- Sum
- 14
- true
-
-
- NumProperties
- 20
- [NumProperties]
- [nodes.csv]
- NumProperties
- 21
- nodes.csv
- integer
- Sum
- 20
- true
-
-
- NumEnvVariables
- 20
- [NumEnvVariables]
- [nodes.csv]
- NumEnvVariables
- 22
- nodes.csv
- integer
- Sum
- 40
- true
-
-
- ApplicationID
- 20
- [ApplicationID]
- [nodes.csv]
- ApplicationID
- 23
- nodes.csv
- integer
- Sum
- 16
- true
-
-
- TierID
- 20
- [TierID]
- [nodes.csv]
- TierID
- 24
- nodes.csv
- integer
- Sum
- 96
- true
-
-
- NodeID
- 20
- [NodeID]
- [nodes.csv]
- NodeID
- 25
- nodes.csv
- integer
- Sum
- 115
- true
-
-
- MachineID
- 20
- [MachineID]
- [nodes.csv]
- MachineID
- 26
- nodes.csv
- integer
- Sum
- 82
- true
-
-
- DetailLink
- 129
- [DetailLink]
- [nodes.csv]
- DetailLink
- 27
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- MetricGraphLink
- 129
- [MetricGraphLink]
- [nodes.csv]
- MetricGraphLink
- 28
- nodes.csv
- string
- Count
- 16
- true
-
-
-
- FlameGraphLink
- 129
- [FlameGraphLink]
- [nodes.csv]
- FlameGraphLink
- 29
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- FlameChartLink
- 129
- [FlameChartLink]
- [nodes.csv]
- FlameChartLink
- 30
- nodes.csv
- string
- Count
- 115
- true
-
-
-
- ControllerLink
- 129
- [ControllerLink]
- [nodes.csv]
- ControllerLink
- 31
- nodes.csv
- string
- Count
- 1
- true
-
-
-
- ApplicationLink
- 129
- [ApplicationLink]
- [nodes.csv]
- ApplicationLink
- 32
- nodes.csv
- string
- Count
- 16
- true
-
-
-
- TierLink
- 129
- [TierLink]
- [nodes.csv]
- TierLink
- 33
- nodes.csv
- string
- Count
- 96
- true
-
-
-
- NodeLink
+ BTLink
129
- [NodeLink]
- [nodes.csv]
- NodeLink
- 34
- nodes.csv
+ [BTLink]
+ [businesstransactions.csv]
+ BTLink
+ 19
+ businesstransactions.csv
string
Count
- 115
+ 1009
true
Controller
129
- [Controller (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [Controller (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
Controller
- 35
- NODE.*.metricvalues.csv
+ 20
+ BT.*.metricvalues.csv
string
Count
1
@@ -4388,14 +3896,14 @@
ApplicationName
129
- [ApplicationName (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationName (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationName
- 36
- NODE.*.metricvalues.csv
+ 21
+ BT.*.metricvalues.csv
string
Count
- 26
+ 14
true
@@ -4403,13 +3911,13 @@
EntityName
129
[EntityName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityName
- 37
- NODE.*.metricvalues.csv
+ 22
+ BT.*.metricvalues.csv
string
Count
- 124
+ 94
true
@@ -4417,10 +3925,10 @@
EntityType
129
[EntityType]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityType
- 38
- NODE.*.metricvalues.csv
+ 23
+ BT.*.metricvalues.csv
string
Count
1
@@ -4431,13 +3939,13 @@
MetricName
129
[MetricName]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricName
- 39
- NODE.*.metricvalues.csv
+ 24
+ BT.*.metricvalues.csv
string
Count
- 82
+ 4
true
@@ -4445,10 +3953,10 @@
EventTimeStamp
135
[EventTimeStamp]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStamp
- 40
- NODE.*.metricvalues.csv
+ 25
+ BT.*.metricvalues.csv
datetime
Year
120
@@ -4458,11 +3966,11 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTimeStampUtc
- 41
- NODE.*.metricvalues.csv
- datetime
+ 26
+ BT.*.metricvalues.csv
+ datetime
Year
120
true
@@ -4471,10 +3979,10 @@
EventTime
135
[EventTime]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EventTime
- 42
- NODE.*.metricvalues.csv
+ 27
+ BT.*.metricvalues.csv
datetime
Year
120
@@ -4484,62 +3992,62 @@
Value
20
[Value]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Value
- 43
- NODE.*.metricvalues.csv
+ 28
+ BT.*.metricvalues.csv
integer
Sum
- 2698
+ 3277
true
Count
20
[Count]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Count
- 44
- NODE.*.metricvalues.csv
+ 29
+ BT.*.metricvalues.csv
integer
Sum
- 176
+ 127
true
Min
20
[Min]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Min
- 45
- NODE.*.metricvalues.csv
+ 30
+ BT.*.metricvalues.csv
integer
Sum
- 2612
+ 1929
true
Max
20
[Max]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Max
- 46
- NODE.*.metricvalues.csv
+ 31
+ BT.*.metricvalues.csv
integer
Sum
- 3312
+ 4223
true
Occurrences
20
[Occurrences]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Occurrences
- 47
- NODE.*.metricvalues.csv
+ 32
+ BT.*.metricvalues.csv
integer
Sum
1
@@ -4549,23 +4057,23 @@
Sum
20
[Sum]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Sum
- 48
- NODE.*.metricvalues.csv
+ 33
+ BT.*.metricvalues.csv
integer
Sum
- 3271
+ 5130
true
MetricResolution
20
[MetricResolution]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricResolution
- 49
- NODE.*.metricvalues.csv
+ 34
+ BT.*.metricvalues.csv
integer
Sum
1
@@ -4574,472 +4082,364 @@
ApplicationID
20
- [ApplicationID (NODE.*.metricvalues.csv)]
- [NODE.*.metricvalues.csv]
+ [ApplicationID (BT.CPM.metricvalues.csv+)]
+ [BT.*.metricvalues.csv]
ApplicationID
- 50
- NODE.*.metricvalues.csv
+ 35
+ BT.*.metricvalues.csv
integer
Sum
- 26
+ 14
true
EntityID
20
[EntityID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
EntityID
- 51
- NODE.*.metricvalues.csv
+ 36
+ BT.*.metricvalues.csv
integer
Sum
- 152
+ 115
true
MetricID
20
[MetricID]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
MetricID
- 52
- NODE.*.metricvalues.csv
+ 37
+ BT.*.metricvalues.csv
integer
Sum
- 2045
+ 711
true
Path
129
[Path]
- [NODE.*.metricvalues.csv]
+ [BT.*.metricvalues.csv]
Path
- 53
- NODE.*.metricvalues.csv
+ 38
+ BT.*.metricvalues.csv
string
Count
- 82
+ 4
true
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -6682,63 +6146,95 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
0
- [backends.csv]
+ [nodes.csv]
Count
true
@@ -6756,7 +6252,7 @@
Controller
129
[Controller]
- [backends.csv]
+ [nodes.csv]
Controller
0
string
@@ -6770,7 +6266,7 @@
ApplicationName
129
[ApplicationName]
- [backends.csv]
+ [nodes.csv]
ApplicationName
1
string
@@ -6781,11 +6277,11 @@
- BackendName
+ TierName
129
- [BackendName]
- [backends.csv]
- BackendName
+ [TierName]
+ [nodes.csv]
+ TierName
2
string
Count
@@ -6795,11 +6291,11 @@
- BackendType
+ NodeName
129
- [BackendType]
- [backends.csv]
- BackendType
+ [NodeName]
+ [nodes.csv]
+ NodeName
3
string
Count
@@ -6809,22 +6305,25 @@
- IsExplicitRule
- 11
- [IsExplicitRule]
- [backends.csv]
- IsExplicitRule
+ AgentType
+ 129
+ [AgentType]
+ [nodes.csv]
+ AgentType
4
- boolean
+ string
Count
+ 1
+ 1073741823
true
+
- RuleName
+ AgentVersion
129
- [RuleName]
- [backends.csv]
- RuleName
+ [AgentVersion]
+ [nodes.csv]
+ AgentVersion
5
string
Count
@@ -6834,23 +6333,12 @@
- NumProps
- 20
- [NumProps]
- [backends.csv]
- NumProps
- 6
- integer
- Sum
- true
-
-
- Prop1Name
+ AgentVersionRaw
129
- [Prop1Name]
- [backends.csv]
- Prop1Name
- 7
+ [AgentVersionRaw]
+ [nodes.csv]
+ AgentVersionRaw
+ 6
string
Count
1
@@ -6859,11 +6347,22 @@
- Prop1Value
+ AgentPresent
+ 11
+ [AgentPresent]
+ [nodes.csv]
+ AgentPresent
+ 7
+ boolean
+ Count
+ true
+
+
+ MachineName
129
- [Prop1Value]
- [backends.csv]
- Prop1Value
+ [MachineName]
+ [nodes.csv]
+ MachineName
8
string
Count
@@ -6873,11 +6372,11 @@
- Prop2Name
+ MachineAgentVersion
129
- [Prop2Name]
- [backends.csv]
- Prop2Name
+ [MachineAgentVersion]
+ [nodes.csv]
+ MachineAgentVersion
9
string
Count
@@ -6887,11 +6386,11 @@
- Prop2Value
+ MachineAgentVersionRaw
129
- [Prop2Value]
- [backends.csv]
- Prop2Value
+ [MachineAgentVersionRaw]
+ [nodes.csv]
+ MachineAgentVersionRaw
10
string
Count
@@ -6901,25 +6400,22 @@
- Prop3Name
- 129
- [Prop3Name]
- [backends.csv]
- Prop3Name
+ MachineAgentPresent
+ 11
+ [MachineAgentPresent]
+ [nodes.csv]
+ MachineAgentPresent
11
- string
+ boolean
Count
- 1
- 1073741823
true
-
- Prop3Value
+ MachineOSType
129
- [Prop3Value]
- [backends.csv]
- Prop3Value
+ [MachineOSType]
+ [nodes.csv]
+ MachineOSType
12
string
Count
@@ -6929,11 +6425,11 @@
- Prop4Name
+ MachineType
129
- [Prop4Name]
- [backends.csv]
- Prop4Name
+ [MachineType]
+ [nodes.csv]
+ MachineType
13
string
Count
@@ -6943,11 +6439,11 @@
- Prop4Value
+ AgentRuntime
129
- [Prop4Value]
- [backends.csv]
- Prop4Value
+ [AgentRuntime]
+ [nodes.csv]
+ AgentRuntime
14
string
Count
@@ -6957,11 +6453,11 @@
- Prop5Name
+ InstallDirectory
129
- [Prop5Name]
- [backends.csv]
- Prop5Name
+ [InstallDirectory]
+ [nodes.csv]
+ InstallDirectory
15
string
Count
@@ -6971,83 +6467,69 @@
- Prop5Value
- 129
- [Prop5Value]
- [backends.csv]
- Prop5Value
+ InstallTime
+ 135
+ [InstallTime]
+ [nodes.csv]
+ InstallTime
16
- string
- Count
- 1
- 1073741823
+ datetime
+ Year
true
-
- Prop6Name
- 129
- [Prop6Name]
- [backends.csv]
- Prop6Name
+ LastStartTime
+ 135
+ [LastStartTime]
+ [nodes.csv]
+ LastStartTime
17
- string
- Count
- 1
- 1073741823
+ datetime
+ Year
true
-
- Prop6Value
- 129
- [Prop6Value]
- [backends.csv]
- Prop6Value
+ IsDisabled
+ 11
+ [IsDisabled]
+ [nodes.csv]
+ IsDisabled
18
- string
+ boolean
Count
- 1
- 1073741823
true
-
- Prop7Name
- 129
- [Prop7Name]
- [backends.csv]
- Prop7Name
+ IsMonitoringDisabled
+ 11
+ [IsMonitoringDisabled]
+ [nodes.csv]
+ IsMonitoringDisabled
19
- string
+ boolean
Count
- 1
- 1
- 1073741823
true
-
- Prop7Value
+ WebHostContainerType
129
- [Prop7Value]
- [backends.csv]
- Prop7Value
+ [WebHostContainerType]
+ [nodes.csv]
+ WebHostContainerType
20
string
Count
- 1
1
1073741823
true
- DBMonCollectorName
+ CloudHostType
129
- [DBMonCollectorName]
- [backends.csv]
- DBMonCollectorName
+ [CloudHostType]
+ [nodes.csv]
+ CloudHostType
21
string
Count
@@ -7057,11 +6539,11 @@
- DBMonCollectorType
+ CloudRegion
129
- [DBMonCollectorType]
- [backends.csv]
- DBMonCollectorType
+ [CloudRegion]
+ [nodes.csv]
+ CloudRegion
22
string
Count
@@ -7071,72 +6553,77 @@
- ApplicationID
- 20
- [ApplicationID]
- [backends.csv]
- ApplicationID
+ ContainerRuntimeType
+ 129
+ [ContainerRuntimeType]
+ [nodes.csv]
+ ContainerRuntimeType
23
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- BackendID
+ HeapInitialSizeMB
20
- [BackendID]
- [backends.csv]
- BackendID
+ [HeapInitialSizeMB]
+ [nodes.csv]
+ HeapInitialSizeMB
24
integer
Sum
true
- DBMonCollectorConfigID
+ HeapMaxSizeMB
20
- [DBMonCollectorConfigID]
- [backends.csv]
- DBMonCollectorConfigID
+ [HeapMaxSizeMB]
+ [nodes.csv]
+ HeapMaxSizeMB
25
integer
Sum
true
- MetricGraphLink
+ HeapYoungInitialSizeMB
129
- [MetricGraphLink]
- [backends.csv]
- MetricGraphLink
+ [HeapYoungInitialSizeMB]
+ [nodes.csv]
+ HeapYoungInitialSizeMB
26
string
Count
+ 1
1
1073741823
true
- DetailLink
+ HeapYoungMaxSizeMB
129
- [DetailLink]
- [backends.csv]
- DetailLink
+ [HeapYoungMaxSizeMB]
+ [nodes.csv]
+ HeapYoungMaxSizeMB
27
string
Count
+ 1
1
1073741823
true
- ControllerLink
+ ClassPath
129
- [ControllerLink]
- [backends.csv]
- ControllerLink
+ [ClassPath]
+ [nodes.csv]
+ ClassPath
28
string
Count
@@ -7146,25 +6633,22 @@
- ApplicationLink
- 129
- [ApplicationLink]
- [backends.csv]
- ApplicationLink
+ ClassVersion
+ 5
+ [ClassVersion]
+ [nodes.csv]
+ ClassVersion
29
- string
- Count
- 1
- 1073741823
+ real
+ Sum
true
-
- BackendLink
+ Home
129
- [BackendLink]
- [backends.csv]
- BackendLink
+ [Home]
+ [nodes.csv]
+ Home
30
string
Count
@@ -7173,540 +6657,1383 @@
true
-
-
- 0
- [BACK.*.metricvalues.csv]
-
- Count
- true
-
- Controller
+ RuntimeName
129
- [Controller (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- Controller
+ [RuntimeName]
+ [nodes.csv]
+ RuntimeName
31
string
Count
+ 1
+ 1073741823
true
- ApplicationName
+ RuntimeVersion
129
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- ApplicationName
+ [RuntimeVersion]
+ [nodes.csv]
+ RuntimeVersion
32
string
Count
+ 1
+ 1073741823
true
- EntityName
+ Vendor
129
- [EntityName]
- [BACK.*.metricvalues.csv]
- EntityName
+ [Vendor]
+ [nodes.csv]
+ Vendor
33
string
Count
+ 1
+ 1073741823
true
- EntityType
+ VendorVersion
129
- [EntityType]
- [BACK.*.metricvalues.csv]
- EntityType
+ [VendorVersion]
+ [nodes.csv]
+ VendorVersion
34
string
Count
+ 1
+ 1
+ 1073741823
true
- MetricName
+ Version
129
- [MetricName]
- [BACK.*.metricvalues.csv]
- MetricName
+ [Version]
+ [nodes.csv]
+ Version
35
string
Count
+ 1
+ 1073741823
true
- EventTimeStamp
- 135
- [EventTimeStamp]
- [BACK.*.metricvalues.csv]
- EventTimeStamp
+ VMInfo
+ 129
+ [VMInfo]
+ [nodes.csv]
+ VMInfo
36
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- EventTimeStampUtc
- 135
- [EventTimeStampUtc]
- [BACK.*.metricvalues.csv]
- EventTimeStampUtc
+ VMName
+ 129
+ [VMName]
+ [nodes.csv]
+ VMName
37
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- EventTime
- 135
- [EventTime]
- [BACK.*.metricvalues.csv]
- EventTime
+ VMVendor
+ 129
+ [VMVendor]
+ [nodes.csv]
+ VMVendor
38
- datetime
- Year
+ string
+ Count
+ 1
+ 1073741823
true
+
- Value
- 20
- [Value]
- [BACK.*.metricvalues.csv]
- Value
+ VMVersion
+ 129
+ [VMVersion]
+ [nodes.csv]
+ VMVersion
39
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Count
- 20
- [Count]
- [BACK.*.metricvalues.csv]
- Count
+ OSArchitecture
+ 129
+ [OSArchitecture]
+ [nodes.csv]
+ OSArchitecture
40
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Min
- 20
- [Min]
- [BACK.*.metricvalues.csv]
- Min
+ OSName
+ 129
+ [OSName]
+ [nodes.csv]
+ OSName
41
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Max
- 20
- [Max]
- [BACK.*.metricvalues.csv]
- Max
+ OSVersion
+ 129
+ [OSVersion]
+ [nodes.csv]
+ OSVersion
42
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Occurrences
- 20
- [Occurrences]
- [BACK.*.metricvalues.csv]
- Occurrences
+ OSComputerName
+ 129
+ [OSComputerName]
+ [nodes.csv]
+ OSComputerName
43
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- Sum
- 20
- [Sum]
- [BACK.*.metricvalues.csv]
- Sum
+ OSProcessorType
+ 129
+ [OSProcessorType]
+ [nodes.csv]
+ OSProcessorType
44
- integer
- Sum
+ string
+ Count
+ 1
+ 1073741823
true
+
- MetricResolution
- 20
- [MetricResolution]
- [BACK.*.metricvalues.csv]
- MetricResolution
+ OSProcessorRevision
+ 129
+ [OSProcessorRevision]
+ [nodes.csv]
+ OSProcessorRevision
45
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ OSNumberOfProcs
+ 20
+ [OSNumberOfProcs]
+ [nodes.csv]
+ OSNumberOfProcs
+ 46
integer
Sum
true
- ApplicationID
+ UserName
+ 129
+ [UserName]
+ [nodes.csv]
+ UserName
+ 47
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ Domain
+ 129
+ [Domain]
+ [nodes.csv]
+ Domain
+ 48
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ NumStartupOptions
20
- [ApplicationID (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
- ApplicationID
- 46
+ [NumStartupOptions]
+ [nodes.csv]
+ NumStartupOptions
+ 49
integer
Sum
true
- EntityID
+ NumProperties
20
- [EntityID]
- [BACK.*.metricvalues.csv]
- EntityID
- 47
+ [NumProperties]
+ [nodes.csv]
+ NumProperties
+ 50
integer
Sum
true
- MetricID
+ NumEnvVariables
20
- [MetricID]
- [BACK.*.metricvalues.csv]
- MetricID
- 48
+ [NumEnvVariables]
+ [nodes.csv]
+ NumEnvVariables
+ 51
integer
Sum
true
- Path
+ ApplicationID
+ 20
+ [ApplicationID]
+ [nodes.csv]
+ ApplicationID
+ 52
+ integer
+ Sum
+ true
+
+
+ TierID
+ 20
+ [TierID]
+ [nodes.csv]
+ TierID
+ 53
+ integer
+ Sum
+ true
+
+
+ NodeID
+ 20
+ [NodeID]
+ [nodes.csv]
+ NodeID
+ 54
+ integer
+ Sum
+ true
+
+
+ MachineID
+ 20
+ [MachineID]
+ [nodes.csv]
+ MachineID
+ 55
+ integer
+ Sum
+ true
+
+
+ DetailLink
129
- [Path]
- [BACK.*.metricvalues.csv]
- Path
- 49
+ [DetailLink]
+ [nodes.csv]
+ DetailLink
+ 56
string
Count
+ 1
+ 1073741823
true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [Controller]
- [ApplicationName]
- [BackendName]
-
-
- [Controller (BACK.CPM.metricvalues.csv+)]
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [EntityName]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Controller
- 129
- [Controller]
- [backends.csv]
- Controller
- 0
- backends.csv
- string
- Count
- 1
- true
-
-
-
- ApplicationName
- 129
- [ApplicationName]
- [backends.csv]
- ApplicationName
- 1
- backends.csv
- string
- Count
- 30
- true
-
-
-
- BackendName
- 129
- [BackendName]
- [backends.csv]
- BackendName
- 2
- backends.csv
- string
- Count
- 149
- true
-
-
-
- BackendType
- 129
- [BackendType]
- [backends.csv]
- BackendType
- 3
- backends.csv
- string
- Count
- 16
- true
-
-
-
- IsExplicitRule
- 11
- [IsExplicitRule]
- [backends.csv]
- IsExplicitRule
- 4
- backends.csv
- boolean
- Count
- 2
- true
-
-
- RuleName
- 129
- [RuleName]
- [backends.csv]
- RuleName
- 5
- backends.csv
- string
- Count
- 11
- true
-
-
-
- NumProps
- 20
- [NumProps]
- [backends.csv]
- NumProps
- 6
- backends.csv
- integer
- Sum
- 5
- true
-
-
- Prop1Name
- 129
- [Prop1Name]
- [backends.csv]
- Prop1Name
- 7
- backends.csv
- string
- Count
- 17
- true
-
+
+ MetricGraphLink
+ 129
+ [MetricGraphLink]
+ [nodes.csv]
+ MetricGraphLink
+ 57
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ FlameGraphLink
+ 129
+ [FlameGraphLink]
+ [nodes.csv]
+ FlameGraphLink
+ 58
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ FlameChartLink
+ 129
+ [FlameChartLink]
+ [nodes.csv]
+ FlameChartLink
+ 59
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ ControllerLink
+ 129
+ [ControllerLink]
+ [nodes.csv]
+ ControllerLink
+ 60
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ ApplicationLink
+ 129
+ [ApplicationLink]
+ [nodes.csv]
+ ApplicationLink
+ 61
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ TierLink
+ 129
+ [TierLink]
+ [nodes.csv]
+ TierLink
+ 62
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+ NodeLink
+ 129
+ [NodeLink]
+ [nodes.csv]
+ NodeLink
+ 63
+ string
+ Count
+ 1
+ 1073741823
+ true
+
+
+
+
+ 0
+ [NODE.*.metricvalues.csv]
+
+ Count
+ true
+
+
+ Controller
+ 129
+ [Controller (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ Controller
+ 64
+ string
+ Count
+ true
+
+
+
+ ApplicationName
+ 129
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ ApplicationName
+ 65
+ string
+ Count
+ true
+
+
+
+ EntityName
+ 129
+ [EntityName]
+ [NODE.*.metricvalues.csv]
+ EntityName
+ 66
+ string
+ Count
+ true
+
+
+
+ EntityType
+ 129
+ [EntityType]
+ [NODE.*.metricvalues.csv]
+ EntityType
+ 67
+ string
+ Count
+ true
+
+
+
+ MetricName
+ 129
+ [MetricName]
+ [NODE.*.metricvalues.csv]
+ MetricName
+ 68
+ string
+ Count
+ true
+
+
+
+ EventTimeStamp
+ 135
+ [EventTimeStamp]
+ [NODE.*.metricvalues.csv]
+ EventTimeStamp
+ 69
+ datetime
+ Year
+ true
+
+
+ EventTimeStampUtc
+ 135
+ [EventTimeStampUtc]
+ [NODE.*.metricvalues.csv]
+ EventTimeStampUtc
+ 70
+ datetime
+ Year
+ true
+
+
+ EventTime
+ 135
+ [EventTime]
+ [NODE.*.metricvalues.csv]
+ EventTime
+ 71
+ datetime
+ Year
+ true
+
+
+ Value
+ 20
+ [Value]
+ [NODE.*.metricvalues.csv]
+ Value
+ 72
+ integer
+ Sum
+ true
+
+
+ Count
+ 20
+ [Count]
+ [NODE.*.metricvalues.csv]
+ Count
+ 73
+ integer
+ Sum
+ true
+
+
+ Min
+ 20
+ [Min]
+ [NODE.*.metricvalues.csv]
+ Min
+ 74
+ integer
+ Sum
+ true
+
+
+ Max
+ 20
+ [Max]
+ [NODE.*.metricvalues.csv]
+ Max
+ 75
+ integer
+ Sum
+ true
+
+
+ Occurrences
+ 20
+ [Occurrences]
+ [NODE.*.metricvalues.csv]
+ Occurrences
+ 76
+ integer
+ Sum
+ true
+
+
+ Sum
+ 20
+ [Sum]
+ [NODE.*.metricvalues.csv]
+ Sum
+ 77
+ integer
+ Sum
+ true
+
+
+ MetricResolution
+ 20
+ [MetricResolution]
+ [NODE.*.metricvalues.csv]
+ MetricResolution
+ 78
+ integer
+ Sum
+ true
+
+
+ ApplicationID
+ 20
+ [ApplicationID (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
+ ApplicationID
+ 79
+ integer
+ Sum
+ true
+
+
+ EntityID
+ 20
+ [EntityID]
+ [NODE.*.metricvalues.csv]
+ EntityID
+ 80
+ integer
+ Sum
+ true
+
+
+ MetricID
+ 20
+ [MetricID]
+ [NODE.*.metricvalues.csv]
+ MetricID
+ 81
+ integer
+ Sum
+ true
+
+
+ Path
+ 129
+ [Path]
+ [NODE.*.metricvalues.csv]
+ Path
+ 82
+ string
+ Count
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Controller]
+ [ApplicationName]
+ [TierName]
+ [NodeName]
+
+
+ [Controller (NODE.*.metricvalues.csv)]
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [EntityName]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Controller
+ 129
+ [Controller]
+ [nodes.csv]
+ Controller
+ 0
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ ApplicationName
+ 129
+ [ApplicationName]
+ [nodes.csv]
+ ApplicationName
+ 1
+ nodes.csv
+ string
+ Count
+ 16
+ true
+
+
+
+ TierName
+ 129
+ [TierName]
+ [nodes.csv]
+ TierName
+ 2
+ nodes.csv
+ string
+ Count
+ 67
+ true
+
+
+
+ NodeName
+ 129
+ [NodeName]
+ [nodes.csv]
+ NodeName
+ 3
+ nodes.csv
+ string
+ Count
+ 88
+ true
+
+
+
+ AgentType
+ 129
+ [AgentType]
+ [nodes.csv]
+ AgentType
+ 4
+ nodes.csv
+ string
+ Count
+ 10
+ true
+
+
+
+ AgentVersion
+ 129
+ [AgentVersion]
+ [nodes.csv]
+ AgentVersion
+ 5
+ nodes.csv
+ string
+ Count
+ 17
+ true
+
+
+
+ AgentVersionRaw
+ 129
+ [AgentVersionRaw]
+ [nodes.csv]
+ AgentVersionRaw
+ 6
+ nodes.csv
+ string
+ Count
+ 17
+ true
+
+
+
+ AgentPresent
+ 11
+ [AgentPresent]
+ [nodes.csv]
+ AgentPresent
+ 7
+ nodes.csv
+ boolean
+ Count
+ 2
+ true
+
+
+ MachineName
+ 129
+ [MachineName]
+ [nodes.csv]
+ MachineName
+ 8
+ nodes.csv
+ string
+ Count
+ 82
+ true
+
+
+
+ MachineAgentVersion
+ 129
+ [MachineAgentVersion]
+ [nodes.csv]
+ MachineAgentVersion
+ 9
+ nodes.csv
+ string
+ Count
+ 7
+ true
+
+
+
+ MachineAgentVersionRaw
+ 129
+ [MachineAgentVersionRaw]
+ [nodes.csv]
+ MachineAgentVersionRaw
+ 10
+ nodes.csv
+ string
+ Count
+ 7
+ true
+
+
+
+ MachineAgentPresent
+ 11
+ [MachineAgentPresent]
+ [nodes.csv]
+ MachineAgentPresent
+ 11
+ nodes.csv
+ boolean
+ Count
+ 2
+ true
+
+
+ MachineOSType
+ 129
+ [MachineOSType]
+ [nodes.csv]
+ MachineOSType
+ 12
+ nodes.csv
+ string
+ Count
+ 2
+ true
+
+
+
+ MachineType
+ 129
+ [MachineType]
+ [nodes.csv]
+ MachineType
+ 13
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ AgentRuntime
+ 129
+ [AgentRuntime]
+ [nodes.csv]
+ AgentRuntime
+ 14
+ nodes.csv
+ string
+ Count
+ 16
+ true
+
+
+
+ InstallDirectory
+ 129
+ [InstallDirectory]
+ [nodes.csv]
+ InstallDirectory
+ 15
+ nodes.csv
+ string
+ Count
+ 33
+ true
+
+
+
+ InstallTime
+ 135
+ [InstallTime]
+ [nodes.csv]
+ InstallTime
+ 16
+ nodes.csv
+ datetime
+ Year
+ 97
+ true
+
+
+ LastStartTime
+ 135
+ [LastStartTime]
+ [nodes.csv]
+ LastStartTime
+ 17
+ nodes.csv
+ datetime
+ Year
+ 90
+ true
+
+
+ IsDisabled
+ 11
+ [IsDisabled]
+ [nodes.csv]
+ IsDisabled
+ 18
+ nodes.csv
+ boolean
+ Count
+ 1
+ true
+
+
+ IsMonitoringDisabled
+ 11
+ [IsMonitoringDisabled]
+ [nodes.csv]
+ IsMonitoringDisabled
+ 19
+ nodes.csv
+ boolean
+ Count
+ 1
+ true
- Prop1Value
+ WebHostContainerType
129
- [Prop1Value]
- [backends.csv]
- Prop1Value
- 8
- backends.csv
+ [WebHostContainerType]
+ [nodes.csv]
+ WebHostContainerType
+ 20
+ nodes.csv
string
Count
- 111
+ 7
true
- Prop2Name
+ CloudHostType
129
- [Prop2Name]
- [backends.csv]
- Prop2Name
- 9
- backends.csv
+ [CloudHostType]
+ [nodes.csv]
+ CloudHostType
+ 21
+ nodes.csv
string
Count
- 12
+ 3
true
- Prop2Value
+ CloudRegion
129
- [Prop2Value]
- [backends.csv]
- Prop2Value
- 10
- backends.csv
+ [CloudRegion]
+ [nodes.csv]
+ CloudRegion
+ 22
+ nodes.csv
string
Count
- 46
+ 3
true
- Prop3Name
+ ContainerRuntimeType
129
- [Prop3Name]
- [backends.csv]
- Prop3Name
- 11
- backends.csv
+ [ContainerRuntimeType]
+ [nodes.csv]
+ ContainerRuntimeType
+ 23
+ nodes.csv
string
Count
+ 2
+ true
+
+
+
+ HeapInitialSizeMB
+ 20
+ [HeapInitialSizeMB]
+ [nodes.csv]
+ HeapInitialSizeMB
+ 24
+ nodes.csv
+ integer
+ Sum
+ 5
+ true
+
+
+ HeapMaxSizeMB
+ 20
+ [HeapMaxSizeMB]
+ [nodes.csv]
+ HeapMaxSizeMB
+ 25
+ nodes.csv
+ integer
+ Sum
8
true
+
+
+ HeapYoungInitialSizeMB
+ 129
+ [HeapYoungInitialSizeMB]
+ [nodes.csv]
+ HeapYoungInitialSizeMB
+ 26
+ nodes.csv
+ string
+ Count
+ 1
+ true
- Prop3Value
+ HeapYoungMaxSizeMB
129
- [Prop3Value]
- [backends.csv]
- Prop3Value
- 12
- backends.csv
+ [HeapYoungMaxSizeMB]
+ [nodes.csv]
+ HeapYoungMaxSizeMB
+ 27
+ nodes.csv
string
Count
- 15
+ 1
true
- Prop4Name
+ ClassPath
129
- [Prop4Name]
- [backends.csv]
- Prop4Name
- 13
- backends.csv
+ [ClassPath]
+ [nodes.csv]
+ ClassPath
+ 28
+ nodes.csv
string
Count
+ 17
+ true
+
+
+
+ ClassVersion
+ 5
+ [ClassVersion]
+ [nodes.csv]
+ ClassVersion
+ 29
+ nodes.csv
+ real
+ Sum
3
true
+
+
+ Home
+ 129
+ [Home]
+ [nodes.csv]
+ Home
+ 30
+ nodes.csv
+ string
+ Count
+ 15
+ true
- Prop4Value
+ RuntimeName
129
- [Prop4Value]
- [backends.csv]
- Prop4Value
- 14
- backends.csv
+ [RuntimeName]
+ [nodes.csv]
+ RuntimeName
+ 31
+ nodes.csv
string
Count
- 9
+ 4
true
- Prop5Name
+ RuntimeVersion
129
- [Prop5Name]
- [backends.csv]
- Prop5Name
- 15
- backends.csv
+ [RuntimeVersion]
+ [nodes.csv]
+ RuntimeVersion
+ 32
+ nodes.csv
+ string
+ Count
+ 14
+ true
+
+
+
+ Vendor
+ 129
+ [Vendor]
+ [nodes.csv]
+ Vendor
+ 33
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ VendorVersion
+ 129
+ [VendorVersion]
+ [nodes.csv]
+ VendorVersion
+ 34
+ nodes.csv
+ string
+ Count
+ 1
+ true
+
+
+
+ Version
+ 129
+ [Version]
+ [nodes.csv]
+ Version
+ 35
+ nodes.csv
+ string
+ Count
+ 12
+ true
+
+
+
+ VMInfo
+ 129
+ [VMInfo]
+ [nodes.csv]
+ VMInfo
+ 36
+ nodes.csv
string
Count
2
@@ -7714,167 +8041,316 @@
- Prop5Value
+ VMName
129
- [Prop5Value]
- [backends.csv]
- Prop5Value
- 16
- backends.csv
+ [VMName]
+ [nodes.csv]
+ VMName
+ 37
+ nodes.csv
string
Count
- 7
+ 4
true
- Prop6Name
+ VMVendor
129
- [Prop6Name]
- [backends.csv]
- Prop6Name
- 17
- backends.csv
+ [VMVendor]
+ [nodes.csv]
+ VMVendor
+ 38
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ VMVersion
+ 129
+ [VMVersion]
+ [nodes.csv]
+ VMVersion
+ 39
+ nodes.csv
+ string
+ Count
+ 14
+ true
+
+
+
+ OSArchitecture
+ 129
+ [OSArchitecture]
+ [nodes.csv]
+ OSArchitecture
+ 40
+ nodes.csv
+ string
+ Count
+ 4
+ true
+
+
+
+ OSName
+ 129
+ [OSName]
+ [nodes.csv]
+ OSName
+ 41
+ nodes.csv
+ string
+ Count
+ 3
+ true
+
+
+
+ OSVersion
+ 129
+ [OSVersion]
+ [nodes.csv]
+ OSVersion
+ 42
+ nodes.csv
+ string
+ Count
+ 9
+ true
+
+
+
+ OSComputerName
+ 129
+ [OSComputerName]
+ [nodes.csv]
+ OSComputerName
+ 43
+ nodes.csv
string
Count
- 2
+ 89
true
- Prop6Value
+ OSProcessorType
129
- [Prop6Value]
- [backends.csv]
- Prop6Value
- 18
- backends.csv
+ [OSProcessorType]
+ [nodes.csv]
+ OSProcessorType
+ 44
+ nodes.csv
string
Count
- 5
+ 3
true
- Prop7Name
+ OSProcessorRevision
129
- [Prop7Name]
- [backends.csv]
- Prop7Name
- 19
- backends.csv
+ [OSProcessorRevision]
+ [nodes.csv]
+ OSProcessorRevision
+ 45
+ nodes.csv
string
Count
- 1
+ 3
true
- Prop7Value
- 129
- [Prop7Value]
- [backends.csv]
- Prop7Value
- 20
- backends.csv
- string
- Count
- 1
+ OSNumberOfProcs
+ 20
+ [OSNumberOfProcs]
+ [nodes.csv]
+ OSNumberOfProcs
+ 46
+ nodes.csv
+ integer
+ Sum
+ 4
true
-
- DBMonCollectorName
+ UserName
129
- [DBMonCollectorName]
- [backends.csv]
- DBMonCollectorName
- 21
- backends.csv
+ [UserName]
+ [nodes.csv]
+ UserName
+ 47
+ nodes.csv
string
Count
- 7
+ 10
true
- DBMonCollectorType
+ Domain
129
- [DBMonCollectorType]
- [backends.csv]
- DBMonCollectorType
- 22
- backends.csv
+ [Domain]
+ [nodes.csv]
+ Domain
+ 48
+ nodes.csv
string
Count
- 5
+ 3
true
+
+ NumStartupOptions
+ 20
+ [NumStartupOptions]
+ [nodes.csv]
+ NumStartupOptions
+ 49
+ nodes.csv
+ integer
+ Sum
+ 14
+ true
+
+
+ NumProperties
+ 20
+ [NumProperties]
+ [nodes.csv]
+ NumProperties
+ 50
+ nodes.csv
+ integer
+ Sum
+ 20
+ true
+
+
+ NumEnvVariables
+ 20
+ [NumEnvVariables]
+ [nodes.csv]
+ NumEnvVariables
+ 51
+ nodes.csv
+ integer
+ Sum
+ 40
+ true
+
ApplicationID
20
[ApplicationID]
- [backends.csv]
+ [nodes.csv]
ApplicationID
- 23
- backends.csv
+ 52
+ nodes.csv
integer
Sum
- 30
+ 16
true
- BackendID
+ TierID
20
- [BackendID]
- [backends.csv]
- BackendID
- 24
- backends.csv
+ [TierID]
+ [nodes.csv]
+ TierID
+ 53
+ nodes.csv
integer
Sum
- 216
+ 96
true
- DBMonCollectorConfigID
+ NodeID
20
- [DBMonCollectorConfigID]
- [backends.csv]
- DBMonCollectorConfigID
- 25
- backends.csv
+ [NodeID]
+ [nodes.csv]
+ NodeID
+ 54
+ nodes.csv
integer
Sum
- 7
+ 115
+ true
+
+
+ MachineID
+ 20
+ [MachineID]
+ [nodes.csv]
+ MachineID
+ 55
+ nodes.csv
+ integer
+ Sum
+ 82
+ true
+
+
+ DetailLink
+ 129
+ [DetailLink]
+ [nodes.csv]
+ DetailLink
+ 56
+ nodes.csv
+ string
+ Count
+ 115
true
+
MetricGraphLink
129
[MetricGraphLink]
- [backends.csv]
+ [nodes.csv]
MetricGraphLink
- 26
- backends.csv
+ 57
+ nodes.csv
string
Count
- 30
+ 16
true
- DetailLink
+ FlameGraphLink
129
- [DetailLink]
- [backends.csv]
- DetailLink
- 27
- backends.csv
+ [FlameGraphLink]
+ [nodes.csv]
+ FlameGraphLink
+ 58
+ nodes.csv
string
Count
- 216
+ 115
+ true
+
+
+
+ FlameChartLink
+ 129
+ [FlameChartLink]
+ [nodes.csv]
+ FlameChartLink
+ 59
+ nodes.csv
+ string
+ Count
+ 115
true
@@ -7882,10 +8358,10 @@
ControllerLink
129
[ControllerLink]
- [backends.csv]
+ [nodes.csv]
ControllerLink
- 28
- backends.csv
+ 60
+ nodes.csv
string
Count
1
@@ -7896,38 +8372,52 @@
ApplicationLink
129
[ApplicationLink]
- [backends.csv]
+ [nodes.csv]
ApplicationLink
- 29
- backends.csv
+ 61
+ nodes.csv
string
Count
- 30
+ 16
true
- BackendLink
+ TierLink
129
- [BackendLink]
- [backends.csv]
- BackendLink
- 30
- backends.csv
+ [TierLink]
+ [nodes.csv]
+ TierLink
+ 62
+ nodes.csv
string
Count
- 216
+ 96
+ true
+
+
+
+ NodeLink
+ 129
+ [NodeLink]
+ [nodes.csv]
+ NodeLink
+ 63
+ nodes.csv
+ string
+ Count
+ 115
true
Controller
129
- [Controller (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [Controller (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
Controller
- 31
- BACK.*.metricvalues.csv
+ 64
+ NODE.*.metricvalues.csv
string
Count
1
@@ -7937,14 +8427,14 @@
ApplicationName
129
- [ApplicationName (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [ApplicationName (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
ApplicationName
- 32
- BACK.*.metricvalues.csv
+ 65
+ NODE.*.metricvalues.csv
string
Count
- 10
+ 3
true
@@ -7952,13 +8442,13 @@
EntityName
129
[EntityName]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityName
- 33
- BACK.*.metricvalues.csv
+ 66
+ NODE.*.metricvalues.csv
string
Count
- 58
+ 23
true
@@ -7966,10 +8456,10 @@
EntityType
129
[EntityType]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityType
- 34
- BACK.*.metricvalues.csv
+ 67
+ NODE.*.metricvalues.csv
string
Count
1
@@ -7980,13 +8470,13 @@
MetricName
129
[MetricName]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricName
- 35
- BACK.*.metricvalues.csv
+ 68
+ NODE.*.metricvalues.csv
string
Count
- 3
+ 25
true
@@ -7994,10 +8484,10 @@
EventTimeStamp
135
[EventTimeStamp]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTimeStamp
- 36
- BACK.*.metricvalues.csv
+ 69
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8007,10 +8497,10 @@
EventTimeStampUtc
135
[EventTimeStampUtc]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTimeStampUtc
- 37
- BACK.*.metricvalues.csv
+ 70
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8020,10 +8510,10 @@
EventTime
135
[EventTime]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EventTime
- 38
- BACK.*.metricvalues.csv
+ 71
+ NODE.*.metricvalues.csv
datetime
Year
120
@@ -8033,62 +8523,62 @@
Value
20
[Value]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Value
- 39
- BACK.*.metricvalues.csv
+ 72
+ NODE.*.metricvalues.csv
integer
Sum
- 878
+ 790
true
Count
20
[Count]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Count
- 40
- BACK.*.metricvalues.csv
+ 73
+ NODE.*.metricvalues.csv
integer
Sum
- 332
+ 199
true
Min
20
[Min]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Min
- 41
- BACK.*.metricvalues.csv
+ 74
+ NODE.*.metricvalues.csv
integer
Sum
- 359
+ 529
true
Max
20
[Max]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Max
- 42
- BACK.*.metricvalues.csv
+ 75
+ NODE.*.metricvalues.csv
integer
Sum
- 786
+ 737
true
Occurrences
20
[Occurrences]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Occurrences
- 43
- BACK.*.metricvalues.csv
+ 76
+ NODE.*.metricvalues.csv
integer
Sum
1
@@ -8098,23 +8588,23 @@
Sum
20
[Sum]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Sum
- 44
- BACK.*.metricvalues.csv
+ 77
+ NODE.*.metricvalues.csv
integer
Sum
- 1480
+ 898
true
MetricResolution
20
[MetricResolution]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricResolution
- 45
- BACK.*.metricvalues.csv
+ 78
+ NODE.*.metricvalues.csv
integer
Sum
1
@@ -8123,60 +8613,476 @@
ApplicationID
20
- [ApplicationID (BACK.CPM.metricvalues.csv+)]
- [BACK.*.metricvalues.csv]
+ [ApplicationID (NODE.*.metricvalues.csv)]
+ [NODE.*.metricvalues.csv]
ApplicationID
- 46
- BACK.*.metricvalues.csv
+ 79
+ NODE.*.metricvalues.csv
integer
Sum
- 10
+ 3
true
EntityID
20
[EntityID]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
EntityID
- 47
- BACK.*.metricvalues.csv
+ 80
+ NODE.*.metricvalues.csv
integer
Sum
- 60
+ 23
true
MetricID
20
[MetricID]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
MetricID
- 48
- BACK.*.metricvalues.csv
+ 81
+ NODE.*.metricvalues.csv
integer
Sum
- 133
+ 125
true
Path
129
[Path]
- [BACK.*.metricvalues.csv]
+ [NODE.*.metricvalues.csv]
Path
- 49
- BACK.*.metricvalues.csv
+ 82
+ NODE.*.metricvalues.csv
string
Count
- 3
+ 25
true
-
+
+
@@ -9675,1212 +10581,891 @@
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
- AAAgAElEQVR4nOzdd3hU+X3o//eZc6ZKI4167wUQIARLXTrL9hrXxD3X9qb4lzj9OjfJjZ3y
- JHacx86NHceO7cSJ47JZr7d6zcLSl14EiCJUkIR6HWlGU0/5/XE0Aq0EjFiEhPi+nkcPaOac
- M98ZzTmf822fr2QYhoEgCIJw37HMdgEEQRCE2SECgCAIwn1KBABBEIT7lAgAgiAI9ykRAARB
- EO5TymwXQBAEYa7TBhr53s92AyBZEnnmYx8hy3H7x4v2NfDvP98z/nvWwjWs8IzQ5VjA6srM
- 91rcuIkagCAIwi1og81cCGTz/PPP89nP3N7FX4sE+fM/+EOGAWtGBc9/+pNE2+pZ/+HneXZT
- 9R0vczxEDUAQBGGaVH8zf/K3r/CPf/d71L70dU57nqbSu5tjnTph7xDv+43Pc+q7f0x/4ePY
- u48xnLOdZ4v8NLa28J/f/R6PPvNRKtOk644o4es4yzE9lcTGn/K9s1YWJQxR35/AgwsS2Xe8
- lS/83V9Q//r3ONVtEBoe4QO/+XtUpNne0/sQNQBBEIQ4tJ3dx3e+8x2++72fM+oqZLGrj/ph
- lcPn+tm4wskLrxwh0WZBCXey61gTkkVm+aan+ORHn6C7qYWyVVspLyrmE5/5NJWZN6lCSBZK
- qzfyic98giS7zK/86sdYm6PQ5e3gZ28cJ8FmwRJoZ/fJ5vf8nkQNQBAEIQ6F1Zt5/vlnxn4z
- 2Lq+nJ3799JnLaPEqSEllvCp55/HBqCr/KTuDhfA0JCTyq69xh0gagCCIAhxiNUA/u27P6In
- JFGwegv1//1NitZvQ7bm8ex6G3/511/nu9//D45d7p60v0Wxsqo8mX/55vdo7AtN+/VtzgKe
- WCnxpb/5Ot/9/g840dDznt+TJHIBCYIg3J9EDUAQBOE+JQLAHBWNRunt7Z3tYgiCMI+JACAI
- gnCfEqOABEEQZpyBv7eFg8fP48qqYP3KBcizXSREDUAQBGHGadER3j5wnk2PPE65q4u9pzpm
- u0iACACCIAgzTpIUbDbznt/QwOmyz3KJTKIJSBAEYYZJFjv56TZ2vfkGFtlKzfqk2S4SIAKA
- IAjCjIv6mumI5PPMMwtQwz3s2nua/EfXzHaxRAAQBEGYaUpiAY6RN3j1tcto4QiVa7fPdpEA
- MRN4zopGowwNDZGZefdygwuCcH8RncCCIAj3KREABEEQ7hJN0+junpwobraIACAIgnCfEp3A
- gjCL1LCP00ePMBB1sm3Lg9hkcU8m3D3i2yYIs0bl3MF9uCrWsnlFAW8fuYI+20US7isiAAjC
- rJFwOB2gGxg6OBPsSLfeSRDuGNEEJAizxkJGbjaHT+2jCViyZttsF0i4z4gagCDMFtXP2QsD
- bHvqaZ556hEuHzuJJtqAhLtI1AAEYbYoCRTnWtjx8isokk7ukvWIPmDhbhIBQBBmjYXSmo2U
- 1sx2OYT7lbjfEARBuE/dVg3AMAy6urrudFmE62iaRigUQlXV2S6KIAh3iK7rBAIBdH1udPaI
- ZHBzlEgGJwjzj6Zp9PX1kZ2dPdtFAUQTkCAIwn1LBABBEIT7lAgAgiAI9ykRAARBEO5TIgDc
- AYah09Vwmv/89tc532c+Fhpo4cWfvsDLP/sfTjT2Yugqp/e+wUsvv8KLr+4moEP/xX1c6AM9
- Osqu11/HGxH98YIg3D1iItgdYOg6qiODjSvKCAAYGpdqL7P+2Q+SJYfYufcIoexKhiz5vO+5
- agYaD3O2yUs5ABpNJw+TXr0Rj02kAhME4e4RAeAOsMgKBQX5tHafNh8wNLyyiyUOCYuhkGxR
- GA2O4PBkARKuzGz0+mE0R5hDO18hK6+EpwuTAXOYmK7rRKNRVFUlHA7P3hsThHlgpO8sbRd+
- RNWGv8Ii22a1LLquz6nzWgSAGSEhR6KEAcUwCOkaimxBDZl/dCMUQpOTkBU7a7aspevEAbyR
- Gjw2CVmWkWUZAEVRsNvts/g+BOHeN9R1lN7WPSzZEMZud89qWTRNm1PntegDmAkWhdJMOHWh
- m9H+NkbkBNwJOfi7zuOPhKmrvUxuqTkRRLYmsWl9FXt2H0ab5WILwnxjGAbhYD8AuhaZ5dLM
- PaIGcAeokUEO7HgHP0D364Qql7OiegMjJw9xsMfOQxvXIFthy4YlHNi1m7yq9ZR5FALRIjJc
- 4EgoZvPiCN3eCHme2a2iCsJ8o0Z8gAgAUxEB4A5QbKlsffrpSY8vWrWZRdf97kor5NEnCq/9
- nlGMCwCJ1IIFM11MQbgPGYQDg2CAps2Ndve5RDQBCYIwr8WagITJRAAQBGH+MoyxJiADNeKf
- 7dLMOSIACIIwb2lamEhwcLaLMWeJACAIwrylhn3j/xd9AJOJACAIwrwV9HeO/1+MAppMBABB
- EOat6HU1AGEyEQAEQZi3ro0AMiY0BwkmEQAEQZi3wgExBPRmRAAQBGFeMgyDSHBg/PfYjGDh
- GhEABEGYt6JhH4otcbaLMWeJACAIwjxlEA4O4EzMA0ATo4AmEQFAEIR5K+jvJNFTDIhhoFMR
- AUAQhPlpLA2EYk+a7ZLMWSIACIIwL8XSQDjduSi2RNEJPAURAARBmJdi4/6tttldBWwuEwFA
- EIR5KTp2x6/Y3FhkG5oqcgG9mwgAgiDMS+YsYAm7Kw2LbEcXyeAmEQFAEIR5KegzE8HZnWlY
- ZJsYBTQFEQAEQZiX1IgPJAnF5kYWNYApiQAgCMK8YxgG4cAAsmzH7kqf7eLMWSIACIIwL4WD
- /ShjI4AUW+J4p7BwjQgAgiDMQ2NpINy5s12QOU0EAEEQ5iU17MNqN2sAVrsbTRWdwO8mAoAg
- CPNSODiA3Xmt/V90Ak+mzHYB5ieDvqZT7DnVil0xSMhfwkMPlFG7fwdXvCq6xc0TT20jUL+P
- 3vTNLPSMsnvHHlY+8iQemzTbhReEe9/YWgCiA/jmRACYCYZG08V+tr3/faTpIX7x9jsEA4kM
- WfJ533PVDDQe5myTl3IANJpOHia9eqO4+AvCHRKN+NC1CDZnGiChWN2okebZLtacIwLATJBk
- Fj9QzM6Xf47FAjmVqyA4gsOTBUi4MrPR64fRHGEO7XyFrLwSni5MBkDTNHRdJxqNoqoq4bCo
- tgrCdAX95kpgksVJJBJG1zVzaOgsn0+6rs+p81oEgJmga1yqb2HF5kfJcwbZs+cMoew81JD5
- RzdCITQ5CVmxs2bLWrpOHMAbqcFjk5BlGVmWAVAUBbvdPpvvRBDuSb5+Mw1EYkoBNpsdu9OD
- GvXP+vmkadqcOq9FJ/CMMPCPBrFYJCRJIjAaQEnIwd91Hn8kTF3tZXJLswGQrUlsWl/Fnt2H
- 0Wa51IIwX8QWg3c402a5JHObqAHMBIuVjQ9t4+SRA9SFrax59CGS7A62bFjCgV27yataT5lH
- IRAtIsMFjoRiNi+O0O2NkOexzXbpBeGed30aCEmSzPUAwmIi2LuJADBDFEcSa7Y8MuExV1oh
- jz5ReO33jGJcAEikFiy4q+UThPnKMAyCvk6RBiIOoglIEIR5R434xtNACDcmAoAgCPNONHJt
- FjAwFgwMoqIZaAIRAARBmGfMJiCRB+jWRAAQBGHeeXcaCFm2YyDSQbybCACCIMwvU6SBsMjm
- 6DqxKthEIgAIgjCvTEwDYbIo5sQrEQAmEgFAEIR5JTbe32pLHH/MIpsBQBNNQBOIACAIwrwS
- DpppIGxOMQfgVkQAEARhXomlgbh+GKjV5gbDQI34Z6tYc5IIAIIgzCuxtX/tIg/QLYkAIAjC
- vBIODoAkTegEjtUGxMLwE4kAIAjCvGEYBpHAAFabG1mZGymX5zIRAARBmFd0LTw+6ke4OREA
- BEGYVzQtPD7xKyaWC0ikhJ5IBABBEOYVXYsgixpAXEQAEARhXlEjPhT7xFTQ1rHU0GIY6EQi
- AAiCMI8YaGpkUhOQMDURAARBmFfUiG9SE5AihoFOSQQAQRDmFV2LTJgFLNyYCACCIMwrU40C
- AjMltMgGOpEIAIIgzCu6Fpk0D0BCGgsAIhvo9UQAEARhHjFQIz4xESxOIgAIgjB/GDfuA1Bs
- brEo/LuIAHAzhoF/sJ3zDR1EgyMMB6KzXSJBEG4iNspHsYlO4HiIAHATI63H+MrXf8Bre/ah
- R7388s0Dce+rBgd469Wf89qrr3LwTDOGrnJ67xu89PIrvPjqbgI69F/cx4U+0KOj7Hr9dbwR
- YwbfjSDc30QfwGTKbBdgLutpOsemX/1Nus/uQLIoDA/3x7mnzpVTpyjZ9DQVHvMjDvs7GLLk
- 877nqhloPMzZJi/lAGg0nTxMevVGPDZpht6JINwfploOEgAJZNkuRgG9iwgAN1FQs5kX/9/X
- uNLdw/E9e3j4N78Y3466Rlt3P6HRXVwMBjHchWxf6sLhyQIkXJnZ6PXDaI4wh3a+QlZeCU8X
- JgOgaRq6rhONRlFVlXBY3LEIQrxCITPVg2ZYJpw7hqGjGwaars3qOaXr+pw6r0UAuIlI1MKD
- W7exaHAYl8dDVuKt9wFAAocjheXbHyNV0jj91h76pUTUkPlHN0IhNDkJWbGzZstauk4cwBup
- wWOTkGUZWZYBUBQFu12MZhCEeAWMEAB2e+KEc8cwdGx2N7oamNVzStO0OXVeiz6Am4gEhuns
- 6iEYDtHVeJyDte3x7SgplJU6OXykkWhklJ6wTpo7B3/XefyRMHW1l8ktzQZAtiaxaX0Ve3Yf
- RpvB9yII9wNNiwASij3eu7X7212vAWi+Rr75Lzt53+d/i3zH3X716UkvXcGvla4AIBr08vKb
- ++LcUyJrwQYWXzzBW7tbWL5pE4l2O1s2LOHArt3kVa2nzKMQiBaR4QJHQjGbF0fo9kbI84gk
- VoJwu2KdvFOlg7ba3IQC8fbj3R/ucgAwaDnbzCMf3sjl8x3krcihqbGZ0opyJF2nsbmZ8tIi
- zh87yFW/wvqNG0gwBugYUhhqOUXW0i2E205Q19xH3sIHqCnPRgt5OXzwCD5cLFpSTVGmm8un
- 36FpUGfN+o2kueTbLu2VQ//DV/5rt1lyVWP1B/6/uPeVLDLFi9dQvPjaY660Qh59ovDa7xnF
- uMytSS1YcNvlFATBFOsEFtlA43NXA4Ch6zQFLWwvqKSt4QASuVj6mmjIKKXM0kJLj4Zj9DjW
- sjVss3vZ/c4xti9P5u0d59nw6MNkuaAnpYDHnljB8V++TX9JOnV79lD54JOkhOrZ1zRIwlAD
- oexlPLwwwo6Dh3nqkQ23Xd6SBz/Itx784B38BARBmEnaWA3AKuYBxOWuBgDdf4VLdc2EgwHa
- mzro3PgQRcsWsev4BWRbF2XV22jedYL+tgEuA86sMpAkypatoyInCV0d4dzRw4RkK4NXO0j3
- 6SjJmeQm24hoVizotDVeoYFu2gAlpfBWRZq6nGqYnS/9gFbvxMdzFq3j6Y1L3/PnIAjCzIgN
- 85xcA5BQbImo3ua7X6g57C4GAIOWcw088qnPsNBjIdRdyzsXOsmpycMWPk+95uRJtwUj04OU
- sZoNZUl09ngBL7LFbMbRRnsw0qt5fFUmO194EckiERoaYCikEentJUI+uQUp9FPFw0sz6egZ
- uL2iSjL5JQtxBic+nJyd+t4+AkEQZpTZByCJXEBxumsBwDAM9MxyKj3mwCN75iKK/F1IFgs1
- VUV0aOYY+dJ1DxM49g6/aIyyeOU6LA6Zgiyzt1hxl1JgP8Cug91UrFxHqsNKwcZV7N39SxI9
- dmySRHb1VkZOH+IXO86xYNna2yqrRVZYvGoTaqCH//rWd6jvGwWgZM1TLKvIuyOfhyAId140
- 7AOJqXMB2ZPEgjDvctcCgCRZqKiouPa7xU55eTEAKQVVpIw/bmPp2q1ca2hxU5gde05m0aot
- LIo9ZWhcOH2RkKrh7/SyYlsekkVhwQObuBNdqm3H38S1+tdY0nGM5zYuZN8V0a4oCHOVYRhj
- C8KLDuB43dsTwSSZqjXbqJqhwytWG+4EN62nehiIVtNUXwsbKm69oyAIs2KqtQAAJEnCaksc
- HyUkmO7tADDDcmseJTpgsGRLDa+88Q4PPftrs10kQRBuIhoZEZlAp0EEgClo0TA7XvovUhZv
- Z1VVMUrBVn5n2dbZLpYgCO9BrGagqWFkRXQSw90eBjrSwRv7ToEkU7RoBdVl2Xfz5eNmkRWq
- li5h34HXeOl7DTgzinlg9Xq2b1pJgu32J5YJgjCz1Ij/hgvCx4aG6lpEBIAxdzcA+LpRClbz
- WHUatTtf5nzysyxOt97NIsRFssgUV62luGotYBAe6ePH//r3fOFkE//8vz8y28UTBGFKBtGw
- TzQBTcOsNAFJFpny8mzOj2oEaePtI5fQ1CA5CzZQ6epix7FWnA4ryzc8jNS4m3d6LTjDw7gK
- lvPQA0Uc+uWr9KkKqu7isacf4uJbr9AlOTBGvaQv3EpN2iCv76/H5bRRtWYLOXSy+9hlVDVE
- /qINrFyQddPyGYbBcM8V9u87QO3Zs4wYHpat2M4XHtpydz4gQRBui65FsFk9Uz5ntbkxxtYM
- vlEt4X5z13MBXTq+B609CdmVyratNs7tqCVs2LBZrJw5e5LSZR5kdxorV60gN8VGh8XJqs2b
- KXGp7Nq1l9BgmED6Kp5bXYiv+TCnGoZIcGXy0Ob12CNDHDtxFS0xjOFMoWbNcvIzHBx/8yxh
- w4ZVkjlz7jQrFzx201Lq0TA7XnsJe8l6fv8vPorbIbpKBOFeoGthLIoYBhqvu3xlk1i4agvl
- kbO0W3OwA5rhZONjT5AZawkyDJ4t8nGhdj8t7hUUXb+7RcKCeYd+M0lFK/lA1ij1dcc4cLUI
- m+Ri02OPkxFna5Nsc/Dhz/7R9N+eIAizKhrx3TAPkGJPGt/GeTcLNYfNwq2tRPmqh5FP7WV3
- rcbq5aW8+uILuBNdpBQspCLBx7H6dgw1SlmBC6MrxOFdr3NGC5C3eBO21DQSjr3Ky6/WjjUB
- pVDfM/EVBlvreOdsK4YepWiph9KcIl772Qu4E1ykFlWxvrr07r9tQRCEOUYybnU7Pcs6Tu4j
- vGAzpbO8vkPX+b0c7Enmg9uW35XXi0ajDA0NkZmZeVdeTxDudYahs+sHG8hf8D4WrZtcg+9q
- 3knt23/M+vf9lKS02Um/rmkafX19ZGfPjRGQc35FMHdOESlzoEkvIa2AygJxMRaEGdd6AEb7
- bmNH46bDQK02NxjmNoJpzvduJuUWz9prj3Q3UXu5Y/x3yWKjJyudrCQxhlgQZkzzToj4oPxx
- kKS4d9PVG6WCFm5kzgeA2RQdqOfg6T5KMm1Eg300XQ3z5ht7+PyX/pQs8R0ThDtPDU38dxpi
- i8HcKADEagYiI+g193AAMAj2t9JvyaEgNY47csOgr7UJJbeMFFt8dxVDvd3UbH8/TyxOJjLa
- ww9/to912UM090GWyAotCHeeOrYIx20EgGuLwYgaerzu3noAus7J/W/Q0TdAc6+FiuJc1j20
- np7mdqqqpp9hU9dCHDrVwqZHiuPbQZJIyUzi7XdO8OjWVXHtUrh8G//9V3/OiYw8hjuusvHj
- f0BLwxGWi7RAgjAzdNX8N3o7ASC2IPzUNYDxVBBjTUXC3VwPwGJh5ZanqfHWs6tO4bENZRh6
- iCGbHUPXablyiZ62NgIJhVR6QpxpHGT1lq2kO6Hh9Ds09mus2bBpfJH3keaT2IuXYzV0rrRc
- wd/TSkfQzfLyJE6da2bR6s0Updq4cHw/LYMaNWs3kOdJJ9c4SVsQCuMYCBxR7fzOX32VBFlD
- tjlRZAnWlM3wJyUI97HwWAftbdQAYk07N0oFYdYMjPFAIczyKCBDD9HU2AaGzsW681Su3kbq
- wBmuUMDDG4o5V9vKwKVTBDKX8ciGpRw6cGhsT52WRh+lpcmAzpWLdaRUrqHa08fBVgvbtz1I
- c90ZIoP1tGlFPLZ9A3YjCpKF4uJkrrQOxVW+4FAr3/nHL/EXf/uP/M8bexgKRGfssxAEgWs1
- gNi/0xAN+wAJRaR5iNuc6QNwp+eQmmClz5mEOzcDiz2C3QjS1nSFy0Y3VwHZU2BubEAkYiAr
- 5v9ldwb5qQkM9jrJSc7FIlux2w2sKSWkhg6we28T2RUrSE8Fq2IjMhrfhTyjYi1f+Mu1RAMD
- /OQbf8ufX+zmmyIZnCDMnPFO4ODNt7sNsRnCalQMA42ZMwFgahJ5BSn06ot4pDqLju7+sYcl
- 0jMkhoZ0sqbO+wSAERglt2YDKxwRdh85z9Li9QwODpGeWR3Xq/dcOsC//MdLBJUMVm94H3+/
- 5fbWGBYEIU6xABAdnf6uY01AN0oFIUx21wOAxZFGeaHZ8iRZHJSVF4JkobCgEIC04gosNrBY
- 3BQUOMks2EbJ6Xf4xS/rqKxZM3YUiYLFi9h97gIL11dRVGjWDJzpxRTIViSLTEF+AZIjgb4z
- hzk3KrFy/UYMTaW+22BtTXxjOBOyFvBHX/wqboeMoat4RwLgSIr7vRq6ysXTR3AWLKck00Vg
- 4CoHjp4nr2olS4ozCPS1MOoqJsOl0954mcSiBXjiHKEkCPPS9W3/ugpy/Onio+GbB4BY01BU
- LAs5bhYCQDrl5rUeyeKgfOyXokLz3/TiyrEtkxh7iAUrJi/yriQVUmjdx5WhKCVFsQBQwlgj
- EYUF5v9WbHjIfMAw6L58nKTyFXEngnK4nJw+9CbvHDlKXWMfGz/0PJ98dEWcexsMd5yn9WoX
- DscCCpM19h6sY9PjD3Fh75s0eZ4iub+VvvRiXKNN1LYHeLJCXPyF+9z1AUANTSsACNM3x5uA
- bkySLCxaM43xmJJE9oLVxJOBQ4uG+Om3/pqzPQ4qq6oozUlkzcf/mnX58b+cFvZx4uIIa2uK
- qB2FyGgXiTmLSbTZWVJTycnmbpKdoKujHD7VwKZHn0Bc/oX73rsDwDQ6dNVbjAICcyhobL6A
- cA8HgJkmSRbsDitWuw2bMb2PyTA06k+fonLNg1iHas3HNB3FYU5QkRwOZE1DU8Mc3v0GGTkV
- JI29hKZp6LpONBpFVVXCYTFkTbh/KGqY2KKrkaAPQ4m/yTUSDgCgaqBPcd4YhoZksRGNBGbt
- vNJ1fU6d1yIATEG2Ovi13/lrtGiA88cOsPvgMPV/9/u0vu+T/OpDNbfc39A0/EE/Tft3EPF2
- 0KW3U/TQckLeHiCLQG83Fk8Vsmpn/SMfwH5lN0ca+lhbkYEsy8iyeQooioLdLmY1CvcRNTD+
- X5ukQZzff8MwMLQASBJO19Q1AF3XkCSQZXnWzitN0+bUeS0CwE3IVhfV6x+lev2j1zqB42BR
- bKze+hQA/pZjHB8toSQ3heHGHbz0cgu6xc0TT3kI1ANYKFmxkZ49O7ma8QgFHpFkSLiP6SrI
- dtDC054LoGuRm44AkjCbh0Qn8DUiAMRJsiikeOKvjsYkFq8m1lOxfMuTXL+agGvRZtIBsPPg
- w0+990IKwr1ODYEjBUa7pz0XQNfCIhPoNM359QAEQbiPqCFIMG+LmGbefk2L3DIRnNXmHu8s
- FkQAEARhLlFDYBtb/m+aTUBqxHfDxWCEqYkAIAjC3KGGQHGYP2oIprFirdkEdOvOVU0kgxsn
- AoAgCHNDbA7A9QFgGswmoJv0AUgSii1RzAO4jggAgiDMDbFO39sKAAZqWDQBTZcIAIIgzA2x
- Nn+LYgaAaS4Ko8fZCSyGgV4jAoAgCHNDbDEYm/s2m4DCN1wNTJiaCACCIMwN19cALMptTQS7
- VQ3AzAUkOoFjRAAQBGFuiI37H+8DmN5EMDXiu2kiOJBEAHgXEQAEQZgbYnf8isNsBprmojC6
- FkFW5kaOnXuFCACCIMwN1w8DtYxlqYmzGSjWsavEJpHdgGJ3jy8eL4gAIAjCXKGGQJKvjQKK
- PRaHWLNOPBPBhGtEABAEYW6IzQKG2w4ANxsFJEmSmQtIDAMdJwKAIAhzg65ea/qZdgAwZ/eK
- GsD0iAAgCMLcEPGbnb8w7QBwrQ/g5jOBY6kiNFWMBAIRAARBmCuurwHI0+sENhO8SViUm08E
- i9UQRD4gkwgAwrw01HOGtgv/M9vFEKYj4gPru/sA4psLELugi5nA0yMCgDDvaGqQhuP/TOPJ
- bxEYaZ/t4gjx0tVrF/5YU06ci8Ko4RHg1k1AVpsbA0MsCjNGBABh3gn4OvH2nkONBgiN9s52
- cYR4XT8KaJrzALTxGoDoBJ4OsSawMO8MtB9GG2s6CI32zHJphLjFAoAkmb9PIyHctXkAN28C
- UsbSRUcjPpy3X9J5QwQAYV7R1CC9rXtxuvPQokGC/s7ZLpIQj+tnAcdMKwCIYaC3QzQBCfNK
- wNeJt+88hYs+iM2Zyqj3ymwXSYjH9YvBxEwjAJjpHaRbLggji1FAE4gAIMwrva37sFispOWv
- w+XOwy8CwL3h+lTQMXEGAMOIfzUwi2wDwxABYIwIAMK8oUYD9LXtJzG1jOT0RVgdHiLBIdTo
- 9NIKC7Pg+sVgYm5jURhhekQAmCG6GqLu6F5ef/Mt2voDgEFgoI0dv3iTupY+AAJ9LfSNAoZO
- e8MlvBFjVst8rxv1tjAyUE9exdMAuNMWoEUDhEVH8Nw3VQ1gGovCmGsB3DwTKDBeSxAZQU0i
- AMwIna7mSzgKl/P4tjWcfucAobCPvQfrWL99G4HL79DkVQn0t9IXgNG+JmrbAyTbpNku+D3L
- MHR6Wt5Glm2kZK8AwOXORVNDhIODs1w64ZauXwwmZho1AE0Liw7g2yACwIywkFdZQ3lOMno0
- jOxIRBvtIjFnMYk2O0tqKuls7gZAV0c5fLyBTRtXIC7/t0+N+OlrO0hS+iISPcUAJKaUoesR
- AiNXZ7dwwq1dvxhMjM0d90QwXYvENQdApIKYSAwDnSmGTk/TGQ7XD7F1+xakkXoUh/nlkxwO
- ZE1DU8Mc3v0GGTkVJI39JTRNQ9d1otEoqqoSDoukVfEY6j7PyMAlFq3/s/HPTNUkFJsbv7dt
- Rj5Hv/cKDlf6LWefCrcmh0eRgahuwRj7W8kGyEAkODqxaWgSg0hoGNmacMu/szihop8AACAA
- SURBVKZJY9uPzsq5pev6nDqvRQCYEQbe9jrO9jt59snlSEDYmUTI2wNkEejtxuKpQlbtrH/k
- A9iv7OZIQx9rKzKQZRlZlgFQFAW7XVRrb8UwdPpafonNmUpmwYPjn5mFZJwJWQR9V+/45xga
- 7aNuzx+SmruKpZu+eEePfV8yoiDJ2ByuaxPB7Gabvl3WwXbjv59hGBi6itWRcMu/s+E0j2mx
- 6LNybmmaNqfOa9EENBMMjXNHzzDY28Drr73GL/eeRHJlkaK389LLr7LnQojqMs/YxhZKVmxE
- bznKVa+olt6O0eFWuq/sIqtoK66k/PHHZcWFIyGL0eE7PxQ0PNpDYOQq3u5adC16x48fVxmC
- gzTX/jt6nB2lc9r1aSBi4k4JbaDH2QcgmoAmEjWAmSApbPzAxyc9vHzLkyy/7nfXos2kA2Dn
- wYefukuFm190XaXp9HeRFSdFS35twnMW2YozKZ+RgXrCwQHszrQ79rre3rMAREJeAiNXSUwp
- vWPHjtelw/9AZ+MbuJLyyC595K6//h11fSromNjv0Vt3BEcjPqyiKW7aRA1AuKcNdZ2ip2U3
- +QuexZ1aMen5RE8JmhoicgdHAhm6hrfvPBbZRiQ0yEj/xTt27Hj5BhvpvrITgK7mnRi6dtfL
- cEddvxhMTGxYZxwjgXQtgkW5dQ1gPBeQWBYSEAHgnmcY+k2rs+HAAO+89GE6Gl6/i6W6OzQ1
- xJVzP8DuTKNoyUem3MbMCXRns4Kq0VH8Q00kpVdhdaQwMlB/x44dr+ba72OxWMkpe5zBzmOo
- cY6WmbOmqgFMY1EYswlo/qwFYOga/e2HZ/x1RAC4x3l7znL09c8Q8HVM+Xxf235G+i9Sf+zr
- hEb77nLpZlZv6z762g5SvPSjN2zecSXlY6ATDvTfsdcN+rvwe5vJLn6IpNRKRgYu3bFjx8O8
- +3+LgkUfoGDh+4hGfAz11N7VMtxx1y8GEzONZSHViD/uJiCLbJvzfQDdV3Zx/M3f4urFn83o
- 64gAcI/rbz+Et6eW7qYdk57TdZXetv3IihM17KfhxD/PQglnRjQ8QvOZ75OUtoC8ymdvuJ1s
- NTuC7+Rd+uhwKxg67vQFuNMWEBi5SiQ4NO3jqNEAo8Nt094vdvdfvPRjpOWtweZMpaPh9Zlp
- BtJVuBupNK5fDCYmzkVh9LH1feNpAoJYAJgbwzCnYugava37wNC5ekkEAOEGdF3FP9QEQGfT
- Lyc9r0UD+IYayS7ZTsHC99HVtIOhnjM3PaZh6HQ2vknH5VdnpMx3SnfzW/iHmilb/lkUq+uG
- 28mKA5szleANaki3w9tzFqvDQ0JSIUnpC4gEB/F7m6d1DEPXuHjoyxx55eP4Bhvi3u/6u3+7
- KwOA3LFmIF2fgdFI5/7b/DH0O3/s6001CmiKRWEMw6C9/mW6rvu+a+OpoOdHE5Cuq4wMXMQi
- 2/ANXma4b+b6mEQAuIfpagj/cAsAIX/XpHbuwEgHwZF2Mou2UrbiN7A5PFw6/A83rf4GfZ3U
- 7f8SFw9/xbzTnYMiIS8tdT8iJauGzKItN93WanOPZQVtviPDNTU1jG+gnkRPKU53LknpVeh6
- lOG+89M6TiQ0xFD3aSKhITob3oh7v8aT3xq/+5ck8/RNy1tDNDzCQMexaZXhlnQVfN0w3AYz
- nU7j3YvBxFyXDsIwDDouv8K5ff+Xi4e/gjZ2569GzOUg42kCkjAnB87lTuBYH1Nh1YewWKxc
- vfjCjL2WCAD3sGjET9DXQXbpY6gRPwOd1y4AhqHT0fAqstWFO7UcmyOZylW/y3DfhZtecAY6
- jqKpQdRokNa6H92NtzFtPVd2ERi5SvHSj2ORrbfc3pmYi66F70gCsGjIy+hIG57MagBsDg+u
- pIJpp5329p4l4GvHak+ip2V3XGUb6q6lt3XfhLt/gIyCDSg2N93NOzDu5J16oP9anv7hGUyn
- MdViMDGKA9QghmEw2HWC8wf/hoTkYsKBfry952auTLNosPM4kqSQlreO7LJH6Wx8k+h77OQ3
- DAPfUNOkpkoRAO5h0ZAXXQ2Tkb+OBE8JfW37x5/TtYh5p5pSSsJYbpzM4q0kZ1TRdOb7RELe
- ScfT1BBdzTtwpy0gv/IZOhpexzfYeLfeTlyiET/t9S+T4CkhNXdlXPskeErG1gd+71lB/d4r
- hEZ7xoec2p1pJKUvmtaEMEPX6Gp+i0RPKQvX/TFBfxfeWzTNtde/zPE3fwtXcgEl1Z8cv/uP
- Sc1dSd/Vg3e2c3OoGQydqBaFoSYwJmerjYZ9tF9+BWOK52KCvk5GBi6N//iHmiduP9ViMDFj
- NYBR7xVq3/4TnO48Vj/1PSyyjd7W3WYZxoJnvCk5rDb3nF0U3jAMfIOXUWyJpGQvp2Dh+9G0
- 0JR9fNMx3HuOwy9/jCOvfnLCiDERAO5h3t6zyFYnnuzlpOWtob/jyPiFPRIcYqT/Ijmlj45v
- r1hd5gXH10nT6e9OOl5wbDH1/AXPUbz0Yxi6RnPt9+/a+4nHcO85vL3nKKr68E3b/q+X6ClG
- iwQI34GhoN7esyjWhAkzjpPSFhAJD8WddC4U6GWo6xRpuatIz1uL3ZVBT8ueKbfVtAh1B/6G
- c/u/SHJGFcsf/hp2V/qk7XJKHyESHp5QC3zPRtoZjfgZCg3AYNOkfgBNDXP8F89zbu9fcHbP
- n01Z+2g89W32v/As7/zsQ+M/B/7nOQ688Czt9S+bzThTpYKOsShooWFOvfV7gMTKx/8Fuysd
- T+ZSusYuirHmnPmQk8kwVIb7zpOYUorVlog7tZKk1Eqaz/7HbR8zEhyidvcXkCSJ0ZG2CS0A
- IgDcowxDN+8UrAk4XBl4MqtRwz4GO48DMNRzGl1XcactmLBfckYVueVP0l7/MqPe1gnHa69/
- GUmykJa7mgRPCYVVH6S3dS/DszDRaSqaGqKl7r9J8BSTU/543PtZnalYZOU9ZwU1dI3R4Vac
- iTkkeq7N/E1KW0g0PBL3+sND3WeIhIbILN6KIyGL9Py1Y3fvE2sQQX8Xh176MB31P6ek+pOs
- fuI745lO3y01dzWKNZHelj13pBlosOsUat8FSMrFh4ER8UNoYvNBZ+MbDPddICXnATobX6f+
- 6NfG7+w1NUzDqW/TcOKb5FY8xfKHv86KR8yfpZv/Grsrg3P7/i+7frCepqP/hAFo7+rEDfo6
- CKshRvsvEvR3UvPQl3G585AkibzKZwkH+gj6prnms2R2FmtzdBSQGhnF23OG1Byzdisrdgqq
- PkTI13nLARxT0bUoFw9/hWjYy/LtXyUlq4bmM/8+XgsQAeAepWsR/ENXcCUVoNgSSM9fh82Z
- ynD/BQxDZ7DrJDZnKsnpVRP2s1islNb8Ooau0njqW+OPq9EAAx1HSM5YjDu1HEmyULj4V5Es
- Mi3n/utuv70pjXpbGOw6Oa27fwBFcWFPyJpwsdC16JTNYDG+wUZOvPk5elp2jz8W65xzp1Yg
- W53jj5t/g0T8Q7ceCaRrUXpadpHoKcGTsRSA7JLthAN9BHzt49tFgoOcePO3USN+VjzydRas
- /j0ki3zD49qdqaRkL6OnZc97bgYKBwdoPvwVLLpKQv56Mqo/YXbODlxrDoyGfTSe/BbJGVWs
- efK75C/4Fa6c/QFt53+CpoZpPPVtGk98k5LqT7Fk4/8lu2QbWcXmT/6CZ1nz9PfY+KFXyCre
- hrf7NBgGx37xG+z/6TOc3PF5Dv7sg+z98eMM9NRid3hY8cjXSctdNf766fnrAehp2TPWnHPr
- 9YBN0pyeB+AfakJVgxNmteeWP45FttF2YXJnsGEYjA630dHwOvXH/onOxjfH35thGHQ2vkFn
- 4y8oXvIx0vMfpOKB3yLo76K9/mVA5AK6Z2lqmNHhlvFRMIotEU/WsrGJUR9joPMYKVk1KLaE
- SfsmJBdRuPjDtF14geG+CyRnVOEbvIxv8DJV6/9sfDuXO4+CRR+k7fxPGOm/SFL6orv19ibR
- dZWWcz/Eak8io3DTtPaVFQd2Zyp+7xUMXWOo5wyXjnyVkYFLlK/4TcpXPD9h+6C/i9pdf4Tf
- 28xQTy3LtztJz183PgGssOpDE7a3OVNJ9JTSd/UdSqo/cdOy+L3N9F89RGHVh8aDSHLGUpLS
- FtLdtIOyFb+BoUc5t+8vCQy3seaZH+DJXBLX+8yteJq+q+9wZs//IbfsMbJKtk/qK7gVTQ1z
- ds+fYQ2PICFBUj5JyQXQfozBhldJyq5GsbpoOv0dIqEhlj/8NSSLzNLNXwLgwqG/o7dtH/3t
- hyhb/jwVKz+H9O6RPWMSPSXUPPQV6DoNl35OZsUzeEfa8A3U43TnsnjDn+MJDGIPj5BRsGHC
- vnZXOskZS+lp3U1uuZlHyxrHimAxc3UewGDXCSwWG56sZeOPybLD7Ay+/Boudx7RiA81PGKO
- /Oo6gRYdBcxrgBrxU6c4yV/4flKzV3Dx0FfILNpM2fLPAJAy1lzccu6H5C94TgSAe1UkOEg4
- 0I8n07yLtFgUMgs3ceHQ39PbspfAcBslSycnpAOQJAul1Z+is+E1Gk7+Cw88+v/obtqBIzGb
- 3PInJmxbvPSjtNe/zKmdf0hexVN4sqpJyV6OYp0cWGZSYPgq3Vd2kr/guQnt7/FQbAm4kgro
- bdvPybc+T1/bfpzuPDyZ1TSe+leA8SCgRkY5f+BvCAX6qNn2ZZpqv8/ZvX/Byse/YXaIGzrO
- xNyJx7e6cKdW0Hf1HSLBIWzOlBuWJdZEl1Wybfwxq91NVvE2upvfomTZr9Nw4hv0dxxhyeYv
- kZyxOO73mVv2GMGRdlov/JSeK7twJRWSV/kMhYs+eNMygXnhH+6ro6Xuv+lvP0xN4WYkWyK4
- x95rSjEJ7T20nvshWaWP0HbhBbJLHiY541oNs2r9/yEa8dFzZdctL/4TjPUBlK14Ht59F39l
- D0zRPyJJElnFW7l8/J9Jz1t769e4jtXmJnQHZ4bfKYau4RtswJGQiTMxe/xxySJTVvMZBjuP
- 03jqX1Fsbqw2N1Z7MllFW0gvWI8ncymupEJ8A/U0nvo2bRd+SmvdD3EkZLF4/Z+Nz5GwyDYq
- Hvhtjrz6SdrrXxYB4F4V9HdgkW043dcuRhkFG9C1KI2n/w3Flkha7uob7m9zplC2/LNcPPxV
- rl58ke7mnWQUbppUY7A703jg0X/iwqEvj18sQSKv8hmq1n9hxgKBFg0SCQ8TCfYT9HfT0fA6
- FtlGwcL339bxnIm5RENevD21lK/4zbFx9DJn9/0FTae/g2JLoKjqV2k6/W8MdB5l0YN/Sk75
- 4ySmVnDyl5/jzO4/xenOw2r3kJBcOOn4SWkL6Gx8k6C/E5szBUPXGBlswDA0PGMXcU0N0dOy
- B1dSPu6UiYnrskoe4vKJb1C3/4t0Nb1J8dJPkFP2eHwX0OuULf8MxdWfoLt5Jz0tb9Nw4ptc
- vfgiy7d/FU9W9YRtNTVMZ+PrdDW+yVDPmfF8OgvW/B7Z0bCZjC32+inl2LvP0HPxRfo7jiJJ
- MpWrPz+hhiErdpZt/TuCq36HhOTi+Mt+s2Gg108Ge1cnsTkU16Dj8mvm7rak+F5vjtL16Fj7
- /6pJz7mS8tnwgZeQbzHbOSl9ISse+RpqZJTulrdJyarBkZg1YZvkjMVkFGyg5dwPRQC4V3l7
- ziIrdhKSi8cfk61O3KkVjPRfIClt4fjwzxvJLX+KtgsvcPHwVwCJnLJHp9zOk7mUB5/7IWrE
- z3D/RXpa3qbt/E9JTCmjdNmn7th7grH5C5dfpeHktwj5u8YflyxWSmv+F+60yts6bvHSj6PY
- EsgufQRnYs7440s3fYnTu/6I+qNfo//qIQY6j1Kw6IMULjIDjTu1nMWb/pJTb/0e/qEm0vLW
- TAi6MZ7sGjQ1wFBPLd6+OjrqX2G4rw4wm4iKFn8Ed2ol3t5zlC771IQ+BABnYg5WexKdjW+Q
- WbSFylW/g+Umbf43I8s28iqeJK/iSYb7zlO7+wscfe3XqVj5OUqWfQpdi9LZ+AbNtd8zU1mn
- VlC0+NfIKFhPUtpCrBYZDv0jFC2A2AU+tQwkCx7FRWvXcSpWfg5HQtbk11bsJHpKpldgNQSS
- PPUooNgFTw1OyhaamrsKR2IOo8MtxNr24zFXU0GERnsIjfaSnr9uyudvdfG/nmJLIL/ymSmf
- s8hWKlZ+jkM//1URAO5FsRQQjsQcHAmZ448r1gSyS7Yz0n9hfKLSzVjtbkprPs3ZPf+HBE/J
- LfcxaxWrSMmqQQ37aDz1bVJzHhhvhnqv/ENN1B/7J3pb9+HJqqZ8xW9gc6TiSMjA7kyfdCcz
- HVa7m5LqT075+PLtX+X0rj+i7+oBMgo3U7nqdydsk5H/INWb/5pz+/+S9LypT06bPQVXUgEX
- D33ZvFBmLKVq/Z8hW510Xn6NhhPfMF/PkUJ2yfZJ+8uKg+LFH2G4/wLVW/4mrglu8UjOWMyD
- v/Ijzu75c+qPfZ3+9sME/Z0ERq6SnL6YVU98m7S8tRPv1vvrzSGf199A2BLBkUJmSjmj7iyK
- l35i2rWTG5oqDUSM4ry2TSwAXFcbyMhfz9VLL2JR7HFeIKU5GwC8PWexyNa70tfmTquktObT
- IgDcizQ1yMjg5Sm/KFklD9F39QCFiz8c17GyS7YTGLlKUtqCKTuMp2KRrVSs+h0Guo5z8fA/
- sOqJb72npqBoeIS2Cy/QUvff6FqERev+mMKqD9+xi+CtWO1uVjzydfqu7ic9bx3Ku+7Owfyc
- PJlLsLsypzgC2F1pVK40Rw0VVn2IlOwV48/lVz5DODDA1Us/w51WecNaTPkDv3ln3tC7WG1u
- Hnj0n2g9/1MaTnwDq8NDzfavkn2jTmJfh3nnn5Ax8fG0ctLVEOkPfhlus3YypalSQce8e1EY
- LQq1/w66irT818kpe4yrl15EnkYeIItsn3OjgAxDp7/jMLI1AXdq+Yy/nsWiULnqd0UAmOvU
- tsOEfvmnSMkFyDnLsKSUoGZUEA70kZT23KTtEz0lrH3mB3EfX1YcVDzwW9MrVKAfZ2iEhWv+
- gNq3/zctdT+ifPlnp3cMzJw+red/TNuFF4iGvOSUP87CNX+I3fUeV+4ydOg5BwP1UPow3KID
- FECxOidMmns3ySLjdOfd+AAhL9kjnWSnLoSUyQvT2F1pk0Yb3W1Fiz9MUTw3Bt4WcKVdu/uO
- cedD+1FzPsAUk9Fu21SLwcRcvyiMYUDvORgZGy5b/zqpVe9HsSXGtRxkzFycB6BrUUb6L5KW
- E9/sdkZ7ofltyF0JaZO/b/GQJEkEgLlOzlyMdekHUduOEj37AkQD6ECeXcGVVHD3CxToh9Pf
- h8goWYUbyKt4iuba75Oet/aGTUGxJqvAyFWiYR+RYD/hQD8dDW+gRnxkplZSmbMGd9kT5oXn
- vRpshPpXQY+CvxuqPx5XELhtIS+c+xEEBsDQzNeuev+NmzVuRFfNtvB4m1ZGOuDqISjaCNeN
- GpnwfNsBSF8IWcsmHDeqRTjYvI8Xa3/MY4ue4snFz2GRLGYZRvsgq/pa+3/MWD8Ag41mANBV
- 82KsRSC1Iv5yT/W+b1UD0FXzp2kXJOVD5hJo/CUk5VOw6IMEppFWW1buQA1ADU4OkO+BFg3g
- H2oip+wWExwNA0auwvkXIDxiputY9glIvr1rgQgAc5zkSMK+7nPY133OXP1rqBX//i9TeOUd
- lPq3MfLXI92o6cYwwNcJHcfMKrs7z/yiJEzdjHFLkVG49Ip5h52Uj+XqISqLtjLUU0vt239C
- 1YNfID1/HZbRPvB1oqdX0n31EM21352U8lixJpBT/iRFpY/gbt1vHrtpJ4SGoexhuN3UvsFB
- 8wKckAklW6H+FTjzn1D90Tt71xoT8sK5H0M0AMs+DmEfXHrZLMPC5279PgzdvOD21kHXKZCt
- 5gntTL35fmoILr4EgT4YuGy+9vWjk7ytUPcTc7u+C2Yyt8onQbLQNdLJvx36Bpd6L+Cyuvjx
- qf9kaW4Nxaml1xLAJeVPvqCP9QPQftQ85kj7tTQOyUWw6FduXe6pRPxwo/6d6xeFaTsAWsis
- 1XmKYbARqXknC1Z8Fj32uloU2g+PfY+2T7pIS9JYH4B6mzUAw4Cuk3D5DfP7VPPJa7WU8W10
- 6DhufjaF66c8jNZZS/DNP8GSXIBS9CDD0REUSZ4wrHbK1x5sML9bsh2Wf9r8f91PzHLcxnkt
- f/GLX/zitPcSZpyu64RCIRJsEnTXgisdSbYiOZJpHjiDd6iBpO6LqFcOIBesxjJ2h2sYBqqq
- Ioe95pej6ZfmxdXXaZ60HcfME0SPmmO8b3TnNalAGlx522xWWfgclG4DfxdKzzmSijfT23+B
- zov/g9R+mNShKzBQT+DKHurO/xDFmc6C1Z+n4oHfprTm0yxY8/uUr3iezOwa7JdfN8uy7ONg
- T4arB9H93fTZUzjVcZqjrQfZ27iLHZfeoHXoCnnuLFza2J19ZBQc1w39iwah7qfmxWLJh8FT
- BJ5S6D1rfoYppZNP1vciPGKefOFhqHzKrIonZJiv0X7EvJimVUxsL9ci5uPeVvOi33oAmnea
- v6dVms/11dGjpbFzx07qzp5hZHgYp9OJK+G6QH/pZfNOcNH7YaQNOk+aF0VHsnlXeP6n5t92
- xWfNINR+FAYu82rnBb524B8xDIOPrvwUn1z9WQ4076VzuIN1xRuQeuvMi0zlk+ZFZhIJ+s6D
- xQrZ1VDyECQVmk0zHceJ2tOIWBJRLCANXIaWvdC0A/oumqt+ybaJw0sBrr5jBo70RZODjkWB
- 1v3mPp0nzdpM4Xpzu7RK6D6L1HceS/Yy6DhqBmPvFfB1Qc85oon5dPQM0nLlCrJsIcGVQKCn
- FsXfRXb5E1PX0gwDgv2TRyZpUXNeQvNb5ncr0G+eDxlV1wK9GobLr0PbfjOBXqAf0q+NpjIM
- g0AggDs1C6OnDr3vEmrj2ygdp8mOGjgdqViLpwgahmGev+dfMJvLln3CDJqeIug8Yf7Ns6rN
- 8hqGeX60HTTPe5sbbjBzXjJulsZPmDXRaJShoSFSjAGsF36MKrt4p9PJsYZ+ijzvoOtgCS5i
- g3wYt8uKUr4df0oNjUMKaWo75QlDRCJR2qLpKGUPmV/Q4CD4ulAGL1GYGISEbHw5mxgMO/AH
- RgkGg4SCQfx+P1arFafTicPpJCkpiVy5F0fbTi4HMui2L0TXdeyWKOXBI2SlJRMt3Ip0dS9y
- aIRO31X6A/1Upi3BZnOglz5Or5SLb2QYv9/PyPAwshZkfWonkeEeGqw12PMq6TW6GW3bzVYL
- dEbD7BkdxC0rJFkUPLJCqmyl0OrAMX5BlcCdi561jF49jWTvGaz9Z+lIWIGWft0EqtE+Mnt3
- keiwQlI+EXcRZ64M0zkYpCjLTVmWE7fhNe/Eo6PmHZyhmxfrGC1inlixkSYWK+gqkXCQE0OZ
- dKmpjPr9qKpKSmoKhdJVHsgYNe/KJAm0CLoawQj7kC3mRU43DHpGdLr1dOz5y8GZirfjMks5
- QyCs84Pj5lh875CZgyctPZ2S8gqW5MhU6nXUetMY9SyFyAhloRNkexzmxbHtIP2+KCP5j6Ha
- PbQ0NRFpP832sjB+Q+VMyEdu1ENZTi42i0a/v4/eyChlucuxh7z4hwdoy34OhzMBxaqgqho+
- 3wj9vb34RkYIjY6g2Mw7a0VRQJLwdjazvdBHvkfmcm+UfI+My2ZhKKBzuVelwGMhJ1k2Rw5J
- MmQv51inheb2Ad6f30KD18FZXxZKshUl14Y+qGEL2ggFg3wgpx4kmaiqsqOnACU5B6ui4HA6
- UQLdrHFcGH++S01FzVlLyDdAge8IsgV+cjJIY59KZqKFZ9fkUJIwlg3TohAp3EqjP3n8z5yb
- qOMZPmNevC0KpFZgZC6hP+IkY+AgxmAzV4081KJtSCPt5PTvxpqcyU+wIkkyH7FZMQab6XYs
- AquTHP8pjJQyujzrSUrLwuly0dfXR7ZtFM6YfXWGrqIFvEQHW1AH2yC1nMvubbQPRVlQkEJ5
- tgsl0I0RGKAnYKUjeR3Yk1CjUfNmz3eVGttlbKkFBF0FJPiaINBLxNCxxZrxErLMZjNnillL
- DQ9DeEQEgLkqFgDaB1p44+C3+EhBGqU2J1cGIlzxHWYwUkDH8BIig+1sdl+ixOnFaRlbGs+R
- DK5UjnYotPiceDUno5qNoH6tOWJBpsKv1DhJsEmEhlwMDsmc8veTmijhcVmwWsAXNhgO6sgW
- WFdi51JPlBfPBPCm+Ai7IiR4XeSriXxqrYv0RJl+v0Z9q0y+5CbZHsFiSSApx49mC3OiNUK3
- T8dhlXBaJcozFFyJOv/a00Fd2I+umAnMJE1inZ7Bp/MzcdosmNm7bBDSiEYtHO0f4ZJrgA49
- RI7VxkZXCosciURUA0mCg+0B3rwYwqNYybUkcNlvnuxJDolVRTaW5VlJT5w8giUYNWgf0hiN
- 6Gi6ea0Pa9dOjYhqYBhgt5oXb6ssYegGdV1Rmgd0kpKTSUg0axc+3wgDRg/VSwxWJrqJAigO
- rFYn54ba8IVkbH1ZNLV6ib4rb5ssy2xaWclDeV4stgSo+RT9IyEaLl2kubGR4a4mPrZcos+n
- 8x9HRokVMcEm8bHVLopSFbpHNH50IkC/3zy4rChE06MohX18LmMBOQ4X2BJRLXYu1jdhkQyU
- RJVEh4Rbs7GvIczhK1O3kSe63TicTlTVbPpRolHcmgbJHjy52TyyOJHkSAdBZx4N/XCqoY9g
- MMDQ4CBq0E9Jukx1rpXqPCuqDuc6oiwvsPJGt5efDfcQdkVgrBKQ2J9Ioa+QP1wn47RKnOmz
- 8UZdiFAwOP76AJWZCguzFA5diYy/Z4DcjGQ+ucZFoiVAV9hNhjKColhpHR6g03uGLOcaStNt
- 9Pp0DjSFWZxjZWGWwmBA5/9n7z1jLL3OPL/fm+57c6icQ+dudiIpBjGJipQ0mh3tSjPeMQyM
- 4QDYgIG1gV1AgD/5s9fAwjYGa493bXiB2ZnxSDNKlESKpMQkhs6R3V2h/opPdwAAIABJREFU
- K4dbN6c3H3+4VdVVXbeqq7tvdRXZ7w8osFnvW+eem85znv8TznsjFi0RmZM9GslwfRE1HcFP
- L9W4MH2naV9Xp+C/eibG/LKk1KPq/N1kjs8u1TPYnh0M8P1TISazLuesI/zxn/2npNNpzFqV
- X/2H/53+FpNDXWk6tH7iagtudQpj4SzCtQm070cKRBGOAZ5LrurywaTChJFgyV7vyT4zGOCf
- ngohhGDEqvKbUoYb8w5hQ+eZ/gBPpSLsC9S9ACEENVtQNoVvAPYqKwYgT4Z/8/v/hYDczmut
- TxHUe6lKEfqsMQ5ao4RsA1O46EEHr1LEmcvgGIt4bhpY311SCDA8lbKrU/M0OsMRInEZSVFB
- VpCW0y5X/6uFkFS9Lj1FOsj2fpW/vvhjRoqfEVzuONkaaOOlrhM8HQpTG50lUq1ieiWKGIzK
- NWZUlyeTKQ5GkuC5CNdGuDaua3OuVuSsUUSRFHrjvewLJkmZEJRcdK+MKnnI7ceQSh7SbAlJ
- 0rAlidL+bn6b/ZjR/DSuJNEXjPKNWAdztsF7hVl016bVdQgIgeUEUEnS1X6E9s5DtEWiJBUT
- ZfwsiCrYESQzgnAi5GyXcjyC0xbHNPO4RgnUIHqsjVCqCzXWDpKMMEvgmIhaDj0SJ9nejYoO
- N8agnOeWtsSbS+8iWyW+OvACQ10nUBUNoYV448avuDJ/iZODL/Hqvm9g1GrY1SJWrYJwLRLR
- ZaknO1KXVfQ4RHoh0VtvkzB3Bqk8Dwe+DYkBjFo9PdJxbIRtELNmKDsaxZpLLb+ILnvoAYm3
- 595Dchy+5+0nqCeR2ruReoZwIgkcWeHywgV+eet1Xhv6HkdiAxjVPLVyAduoG9BkqoWW7kG0
- YGRVNpFMF858CqUSCAcRVKC9BTo6IBSDWBJJjyHpcYRVf82K6VmMcp5oNEyoeAu5Mgeyxk+K
- C1wt5Hne6+ColODXYoRZqUJbpJ2/iLcSQoJ930Qg1V9/wBQajhzEsDxcJUitnAfHQjgmmizo
- 6+0Cu4IYe6u+2w0kYPgV5hYvMT3yOj1P/0+0awahxTOAQHgetD/BoteKUyshAKNWo6M1QdSa
- pSS3kqEFSY+DEmA0c4s3xn/KvpDCf5MawPMs3sjn+aQ2T7Km8rx2lEjnPgZaXCLF6yhDr+Ad
- +zPS6TSdnZ1klxa5/M6/xM5/xkvBvyB05Etw4zM8s4BpvI9j392FVwHq5z7bQsGODRJoGUCK
- tBNu7QOnxrXiLL+Y+pTOxAB/2v0d1HSWamaOWWeOz/RZwCHh6HzFHUDF8w3Ao0NQzUzx3sdX
- 6T32JY4PtVNN36YSHqI97DE9cpPo4GGSgfr2Z8UAOHqCd0YLOJ7A9SwMO4fp5GmJHEYWLgPO
- GP3uJFLRJEaSttYusGyYnsKrFjCkMqZURfEqBIxFwEF4FQQGIhpCYIFZQrhmXVNvyjOVEEjI
- PEhbYhUpnEKKtCGqRURlDh5kHEmu/6w5T9bHZzdRh75K4J/8m7oBaG1l7tzfcPHiv+Zo2/cZ
- +ta/gmgUajX49BMYuYnwDAQWkqQjSTpCCDwvi+dlcZ15XHcBISpYXgGNB1vG/SygR4Rrlvjd
- +1d45Ttf59rvfsVo8nskliZItw0RroxyYbrKHx3cmEaXKCxydOJDCtZFrNJ7LIkat6O9TASG
- SUROU018mdvBg7AcywooEsGwjBs/Ss108OQ7qXyq6xC1q0SsKqFwkFBfD3gOtlVmrjBCNj+P
- uTSKYy1R84rYogaiRsw1CEgqCTnGiwyhSRqKXNeABVBTNKYDKlk1gKZEMZQ4MiaS56I6VUJe
- kaBbIuQFCLtBZDmELAdBgEBgyhJZVSXuaahCIhCAalQjUHFwLTD7OnHlMpLwsF23njW4lEMI
- G0m4BIQJeEiyCl4AN9yGue8knqQQSc8gL9xG6C5m2OVS9jJZa5ay4yAJCAoPXXhEJRVNUrCQ
- qCkhKkoAU1IJyQEiAhKSRszzkBBUJQkbp94SopxHuAYIA024WJ5JSGvlRO+TRFtaoWbizEwT
- tm08V0J4KjY6l5UlJmWDsKTTRgxFUkELITkCx61ie1WyiqDglVBDKrgWxcokIc/D8VQ6pARt
- 4RbCoQQ1swSOA66L7VrYahA13o2a6GLWKDBWuM2fHP8h3fF6CwtRyVApZDDzC1jlHLIQRFta
- MKnw8cQ7yGqAUKKbZCiFLgdgZhrL9vAUcENBasIm4eiAiwjFcGwHT1JQlDieVPceZWEjC4cQ
- Bk5tEUdSARVH0liSLCpuhrCQeM3rIOAsbzy6hwh0d4JkgwSaLCEBlcmL/Dx9jRlPwVGjHFAG
- GKaVHEWyXoaSV0LDARRCQkVPdhINJ5Hm0/W9Q7INpf8AaqWKMj2HRYmaVCMsxZElDUlyqeKA
- pCKhEJGiIAUoezUM2aEq8hSMJUAQ9Ex010Ryq/QEuhhuO0ZADyIFAiihBEFVQw4lEIrKfDXN
- pfEPGFn6DEUKcCjcz58sfxcnJi/z78c+xUs8x3j7APEb76DJGpZrUlGWyCZvU6usb1gXiCUJ
- eToYEJb3o3KQSZFj2ksjuRWS2Px5uJ0TUgRTBRFV8PQ4ItSDp7dDsAtPS5F3XF6/9ivKruN7
- AI+KWvYGn44EeeXZQaqL1zg7HedoaJT55JeYP/d7nn3tu8TXmOMVD6BgTPJv33gbx5WQPBdF
- CMLhEIYrmC7VcByPRGiIkNZGQN2Y4SKEwHJKaEoYebsZPz4+Pk3n2GCY//zVU6TTabJmgf/7
- nQye18QznB8Af0V4RAjXQw3WM0ikYBDFdXEdkz+8/Uvauw+uLv6u6+J5HrZtUyqVqIoepmeH
- qVmbSxmLeYDc8s8dJCEIuXXNUJChpm79dq+9H+qbJ2P5b+6+1uieByHguqhr9iCmLOPKm/ew
- v/v+u/9mq+ewV+YIIAtBcHme9xoPIOQ4rPUPbUnCVu4Es1XPI7BmMakq91FQto3HvPvxdhrN
- 89AaLI62LGOvvFZCEF7zXgvY5DMuiCjr73MbfJabjSTJGOJOO5O+6CClUolSqYQcSDI3e5Ga
- ub1zpHcK3wN4RJjlGT44t8TXXjlJZuQP3BLHOOBcZLHtZfTxt0mnTvH8wTu9V1Y8gI6OByza
- 8vHx2XO4rltPA+1qULm9C/hHQj4iAuFOUt40P/nHn/HONYOT+5PLV2SGn3oZ7/bHTOX3VoMq
- Hx+fLza+B7BH8T0AH58vHr4H4OPj4+OzJ/ANgI+Pj89jim8AfHx8fB5TfAPg4+Pj85iyo3UA
- Qgjm5ubufaPPBlzXxTCMdU2vfHx8Pt94nke1Wt31ArAV/CygPYqfBeTj88XDzwLy8fHx8dkT
- +AbAx8fH5zHFNwA+Pj4+jym+AfDx8fF5TPENgI+Pj89jim8AfHx8fB5TfAPg4+Pj85jiGwAf
- Hx+fxxTfAPh8LrBdD9vdG9WTPj5fFHwD4LPnsV2P348W+MNEaben4uPzhcI/E9hn18lUlvjf
- 3v3XZKoZhlLD7Gs7yFDLMCe6T6MqKqYjSFdsJAkKNYdEyP/Y+vg0A/+btEO4Von33/wtBU8h
- 0nmIrz9zkOt/eIurizWEp/Ot732bkDHL679+HzSZ9gPP8+KJvt2e9q5wfeEqY5kRDnUcZbY4
- zdnpT5Alhe+f+CE/PP3nVCwXy623rJrIGZwMRXd5xj4+Xwx8A7AjCOavnSFx+tt8pTcEgF3L
- MGPG+eH3v0Vp9iLnr03TVb7GiW//gH0Rh3d++wHGiT6CuzzzR43t2nw4/h7t0Q7+5Vf/R4Ja
- kLJZ5n9993/myvwlfsifk606KBJoisRY1uBoZxhN8dVLn3rH4fmSTcVyOdAW2u3pfO7wDcCO
- 4DI9scTc4rtMnali6Z289nIv4WA7AIFEJ8rEIgUjxOG4ggS0KwplQHNdPM/Dtm0cx8E0zV19
- Jg+CACxXoCvSPe9dLM9zK/0Zz/W/gORJmKaJhsZQch/vjL7J6OItctV2gqrEkTad8/MGM7ka
- 3TH/o+tT55PJEnnDpTcqI9/7I7ereJ637e+16Qh0dfMndK/r28H/Fu0IEnowwtOvvEZ/0OPm
- +28yU1GwnQoAwjNwPRXFszA9QBIYjosCKIqCoigAqKqKruu79zQekNGlGmemyzw7EGW4Zetd
- 2eTMbSzX4tnhF9Y916cHn+H1z37GXHkOw20joqsc6IhxK2szVXQYaousG8f1BI4n0FXfM3ic
- cFxB3nAByJrQm9jb3xfXdbf1vZ7Km3x4u8Q3DiZpjWgbrhcNhzdGczzZG2V/64N7Pv63ZUdQ
- GDzSwZkPLuLYNabyLh3xVsz8CNmaxci5K6T2DTMwFOTi+Ulq+Vmm0Unu9rSbgBD1gK3heHw0
- USJf2/xAG9dzOT99hrZIG4faj6y71h7tJKpHOTd9gULNpT2iEdRk+pI6M0WTwppxK5bLrz7L
- 8tatvJ8q+pgxU7yzk76dNR5oDNsVfDpZoma7zZrWQyGE4HbWwHC8dc9vLYtlm4rlMZFtfN0T
- gqvzFRbL1paP5RuAHSI58BTP9nv85s332f/cV0gFQ3zllWc5//vfYnU/xYnuEK0HnmdImeL3
- 5yb56qvPs8e9123heIJczSESkJEliT9MFDddlMtWmZGlWxzvPkVQWx/9iOlx9rUe4ObiGDXb
- JR6se0X7WoLYrmC6UP/gVyyXd0byZKoOmarNYtnekedlOB6/vZXj2kJ1R8Z/XCmbLr/5LMvP
- rmYYz9S4n/OphBCr8aH+hM5McevFbrMxri1UuLZY3XQxfdS4AjLV+uc43eDzLIQgV61vgOZL
- Fq638TUzHY9zM2U+vkfqtG8AdghJkuk99CR/9N3XGGqvyxV6oouvf/u7PHWop36PrHDg9It8
- ++svkVxe4D7vOJ6gaLgMJHW+PBhnqWJzdrrc8N4bC9fI1TI83f/shmuaonGs6wSa0oIAwlr9
- 9UmGVLpjAcazBhXL5cPbRQqGy5f6ogQUmZnC/S8C2+F21mCmYHFxtsxCaWce4/OM6wnmixYf
- jBf4ZLKI425vIb84WyZdsbFcj3fHi/z48hIXZso4DRa1RswWTRIhlf6kTs321nmG22WhVF9k
- J/OPzgAUag4XZsoNF++S4VAwXDRZomhs9Eo8AXnDQZbAFYJsdaORmC5YeAKKpkvF2tyz8WMA
- Pk2lbLqYjkdnNEBfMsCRjjA3Fqt0RDVawhqTOZOZoknZdJnMnqc10r5B/lnhYNshPhyfIaDI
- JEJ1A6DIEgMpnY8nS7x9K0/BcHh2IMb+1hALZZupvMmTvZGmZglZrsdYxiCm1+fwyVSJbx5M
- EdQe/DEM2+PcTAnXg+cGYgQ+p7GLsulybqbMTMFcTdUF6Evo9NxDj0+XbUYyBie7I5zuiXA7
- ZzKZM7g4V6FgOLyyL4Ekbe4Xux4UDJcj7SF6EwEAZovWfdWJmI5gqWqjyRIL5fpuWnkEkeSK
- 7XJpvkJnLEB3PLD6eyEE4zkTRYLhliCj2RoV0yWi39kg2q4gXbbpjetMFUzmSzbt0TtjeEIw
- V7TqBsITLJRs9rU23mB+Pj91PnuWdMVGkSWCWl0COt0ToSMa4L3xIj+9muH8bJmK5WI4Hpkq
- HO86RVBrHMTqSvRysON5dFVa9QAA+pM6YU0hbzh8qT/GofYwiizRGw9Qtd2my0ALJZulis3J
- 7gjPDcQoGA4X5+54NZ4QzJcsXr+e3ZZEVDZd3hsvcGvJYKpgUmiwy/s8kK3avHEzx1zRYl9r
- kFf3J/jnp9vRVYnRjLGlnON6gnMzJSIBmWOdYSRJYrglyFf2Jzm1bAxWZI7NSFdsbFfQFtEI
- aTJtEZXJ/P3FAeZLFo4rON4VxhM09O5s1+PXn2WZeMAYQyM6ogF0RWZkqbbu9wLIVGxiuspw
- axDPqz/PteQNB8cT9Cd12iLaBpnI8+rvTX9SJ6TJTOQ2n7dvAHyahhB1+SekybSE67swTZF5
- YSjO8a4wLwzF+f4TrXzvWCsxXSER7OZLAxvlnxWCapTWSD+56gRC3FkkQ5rCy8NxXhiMc6Qj
- vPr73oSOKkvMP4AWvBmuJxjPGiSCCgNJne54gINtIUaWakzmDVxPcH2hym9v5UhXbG6mq3hb
- yBeZis1bt3JkKjZPdIVxXEF5Cxd9r1IwHH43WsATgu8cSfHcQJzBVBBdlRlOBZktWmwl4kzm
- 6zvXU91RAnelCx/rCBNQJD6ZKm1qRFaSDRQJumL13W9bRGO+ZDeUVTYb43bOIKzJHO+KIEtw
- O7dRBpouWCyUbW7etVg/DIpU38hM5A2sNTEya7nqfbhFpzWsIkmwdJcByFbr8k9bRCWmKxvi
- ANmaTdFw6U/o9MQDm8YJwDcAPk1kJQCsq/I6CSaqKzzdF+NgW4hESEWV6h5Cb/LwpvJPfTyo
- 2RLp8iizxel11zpiAfbfVfhT3wVqTOTNbS8C96JgOEzmDXoSOgG17tWc6okS01U+nijx1q0c
- Z6fLDKWCnOyOYDqCotl4Qc/VHN68lcP2BK/uT3KoLURAkR5It95NyqbLW7fyeELwrUMp4sH1
- kktbRMNwvE0NsesJzk2XSIVUDrQFN8g8AVXmVE+UhbK9qs83YqlSl3sCqowkSQwk64kE89uM
- 0TieYLZosb8thCRBZ1RjtrDeAHhCcCtdWx23WZ8rSZIYatFxPZhaY3TSFRvHE7RGNGRJojWs
- rfMQPSHIVGwiAYVUWGMopa+LAwghmMqbKLJEe1SjL6njevVgeSN8A+DTNFYCwO2RrTXYql1k
- KneNoNaOpmxe+1w2XWq2w1zxBqNLt+75+IosMZDUMR1vy/TT7eIJwchSDU2WOLjG2ARVmWcH
- YpiuR7bq8PxgjJeGE/TEAxiO1zAo5wnBxZkymizzrUMpuuIBdFUmElAaBvr2CjXbZTJnrvt5
- 42YO2xV8/cDGxR+gJxFAlSWmCmbDHfyV+Qply+OZ/timGv+xzjCRgMzZmcYJBK6A+ZJN7xr9
- vCumoSnSttNB50t3JKT6ghykanuU1xjwkuEyV7JoC6sIsXE3/jB0RgMkgwq3lyUaIQQLJYvA
- 8uKtyBJdsfU7eG85Q6g9Wq8NaAlrq8/lznWHVEglHqwnTMjS5q+JbwB8msZKALhjTUCqEfPF
- OSZzN/AE69zfDeNZLp6wcdwSI0s3tzWHlUKg2fuUgeaLFj++tMQH44XVfHDD8ZguWHREAyTv
- Cix2xQL80+Nt/PETrRxqr8tQUV0hEpA3aLZQD/pmaw6dMW110dRVmXhQIWc4W8pGm1E0HN4d
- K1AwdsaDuJmu8pPLGd4Zza/7Wdn5p8KNDX1IU2iPaEw1yKopmy7XFqoMpXS6YhsLnNZyuifK
- UsVmvMHiVag5q4v3Wjqj2rbe+/pO2UCVJTqXF9OeuI4A5pb/fkUiUmWJF4biSBJb6un3iyLX
- 4x5zRYuK6eIJmC6YtEc1AssedEtYre/6lzcVtutRMNzVz1Bdbr0TB7Bcj6VKXf8HUBWJ7nhg
- 03oC3wD4NI2VAHDoHtkxt5ZuUDHncTxBxdrcACyVbSKBAIOpNq7OXcJx773QrchA04Xty0CO
- K7i2WKVmu4xlDV6/nmMyZzCZM6nZHkfXxBnWEgkoRAJ3gtO6KhPTG+/oq7ZH1XLpia83jlFd
- wXY9qvb9FbC5nuCD8SLjWYO3buWpNrGIyXI8Prxdb7/dHtH4zpEUf3ysZfXn+8fbNl38Vxhq
- CVKxPEp3yWFX5iu4nuCpvuiWGT4AB9pCpEIqZ6fX57ILUZdu1ur/wKoMVN1GOqjjCW7nTHoT
- gdUMrHBAJqLJd3bk1GMCHVGNREilLaw1Pc14qCWIK+oxkYrlUjDcdc8pFVbxBKuvY8FwkSVo
- XX79V/49v5zBNF+sx0DuXK8buLLlNvRMfQPg0xRWAsABRVoNADfCEx5jS7ew3SyOKzbNUXY9
- QclyiQcDPNV/mopV2RAHaIQiS/QmAhRqzrallcWyxXzR4pn+GN8+nEJVJH4/VuDMdIlkUNmw
- y9wMVZZoCWkUDRfjrgV9rmihyBKJuySTRFDFcgW1+zQAk3mTdMXmeFcY2xW8eSPXlErWhZLF
- L65nGc0YnO6J8M1DSTqiAVrC2uqPuo00yf5kAIl6S4MVGShbtbmRrnGwPUQ0sL26l9M9ESqW
- x7WFyrrfpysWUV3ZkD67Nh10K7LVugexslMGkIDuxB3JZa5oka857G8NIksSfUmdsuWuk4ge
- lkig7i1dX6ySrtjIUl1CW72uKYQ1maWKXTd8BQtZklYlIEmS6IkHcL16bGCqYBJQZNqidz6z
- PYl6rGG2gfHyDYBPU1gJAIcDypY5+KZjkqks0RFtQZKguokHYLkehZpLKqQy3LIfw6ltKw4A
- 9ewKd9mdvue8XcFn6RrhgMxQS5D2aIDvHklxvCuCKkuc6I6gbqOp3QqpsErNdsmt2YGuBO6i
- AWWDAWgNq/edCeR6gvMzZVJhldM9UV7Zl6Bouvz2Vh7LebhWGGemS6sSz8nuyD136ZsR0hTa
- o+tloHMzZTRF4nTPvXf/K/QndfqTOp9OlbmxWE+xXdX/G9QZ3EkH3fy9F0IwU7RQZYn+NWNI
- ksRQKogQdW92NGOgyRJ9y/d0xTQ8AXNNLARckYHKpsvluUo9uBu6s3jLcl0Gml0u7MpUbWK6
- sioR1edVNxgzRYts1aYrpq27HtUV2sJqQ2nSNwA+TcHxBKVtBIDztRwTudsc7TxCTFc21a8t
- R2A4HomQSnu0g55437bjAGFNoSOqMZEz7rkrXtn9H+0IrzaS0xSZJ3uj/OnJdgZS99eguy1S
- XyTWutsr+n8qrG4wJqoiE1Tlhu75ZlyZr1C1XE73RFHkusb74lCcXNXhg9tFvPtop7CWmu2S
- rTocaA3RGQs88OK/Qn9SZ6FsY7r1OomZgsWp7siGtM+tkCSJV/YlGErpfDRZ4ux0iYJR372n
- Nin46ozWd/GbvfcCmM6b9YXyLg+iKxZAkmA8azBdMNnfFly9pyWsEdFklppcZzKQ0uuHHRn1
- nldrkSWJVEilYruUTLceAL7rHkWWaAlr3M4a9fTP5HrDqMoSnbEAc0Vrg2fqGwCfplA2XWqO
- d0+5pGQUcT2HgVQ/QVXedOdrOB6eEMQCCkEtREesk4ns+LbmosgSRzrC5GoOv/4sx8wmnsDd
- u/9G49wvuioRDyrrUvdW9P/u+MbguK5IRHSZirm9nXtlOYjan9RX5Q6Afa0hXhqOM5U3eftW
- fsMXfTtkKg5C0LQT11Y+C6NLNT6dqhd9HW4P37dhUeW6EdjfGuTKfJV3RvIA657/CpIkcbSz
- HrO5mW6ct1+oOeRqDv3Jje+5JNXnfTNdw3EFQ2s2ALLElgHVByWsyQylgkiwYfEGaI9oiOUi
- NcsRdMQ2GoCumEbRdJc9ho3fwfaotpr2uhbfAPhsGyEESxWbd8fynJ0urWvylq7YqLK0Lija
- iJGlG4S0MIOpfiK6QqHmNAzWpis2AUUiEVJQZZW+5AD5Wo5CLb+tufYndV47nEKS4K2RfMNu
- j412/w9LSFOWszKs1cyeFf0/2SBlMqDKRAP1qubtNEI7t9wn58neKPJdC+mKEZgtWvz21v3H
- BIqGg4B7Zudsl65YgFhA4fpilWzV4Zm+2H3JaWuRJIkXlwsKK5ZHSJMJaY0/a2FNpj+hczNd
- 2/DZEkJwfbGKKksMpTYutrJ0RxaK6QqddwWZ2yIaVctrajqoJEk80RnmSEdonf6/QtfyxuHa
- QnU56NtggV82ttGAsiFjDaAnHiCkyRtkUb8XkM89WVn4L81VVncQnoCa7fHScGLbAWDbtbk6
- d5l4ME5nvJvZUpm55VTQkHznyyyEIF91CCzLIwA98T4M2yBTXSIR2l7j7I5ogO8dbeXCbJnr
- i1VGMjX6EvVq3lRY5dpCddPd/8PQHtGYK1oUzXoX0830/xUSQZXFso0n6hWiKxQNhyvzFdau
- YeNZg2Od4dW+RHezrzWEIku8P17kjRs5vn4wRXSTe+8mXbEJqvI6/fhh6UkEuJGu0RZWGWiw
- 4N4PkiTxVG+U9oi26Wu5ct+h9hBvjZiMZmqrabpQz5G/tWTwRGd40/5L/SmdC7PlDYWGUE8z
- FpRYLFnbTg7YDi0RjWc3GW+lIKz+/kgN3/uueABNkdZ5LGtRZYkjHSHOz1RWq9nBNwA+90AI
- wWeLNT6ZKqEpEsc6wxzpCDOaqXFhpkJrWONAW3BbAWDDqbFQnqc3Xj/7OBpQVlNB1+7mbE+s
- Lp4r4w22DFO1K8wVZtjXemDb81cViS/1xxhqCXJlvsJs0WRsTV75cwOxph8iEw8qWK5HxXLR
- FImlqk1XLLDp7jceVLA9wd0OwKdTZWaLJiFNRlpuFt6f1Hmia+vg7GAqSCSg8NatPL+8nuVr
- B5KrWSNbUTBcWiP19gPN4lB7iPmStWXR1/0gSdK24jK9iQCpkMrN9B0DIITg4mwFXZU42R3Z
- 9G/jusL3j7c1NJzhgExrWGWmaHGsa/Mxmoks1b2RdMUmEVQbSpMBReaPjrRsKt9JksSxzgiL
- ZZuPJorEl70b3wD4bEnF8rgwW6Y/qfPiUHx1sTzaESZdtjk/UyaqK1SsegvorSibZTKVJb5x
- 6NsAJILKairo2t2U7QoKhrPujNdoIEI8mCBdXnyg59EW0Xh1f7LeS73msFSxcT3Y39r8U5jj
- uoImS2SqNgFFpmp5DfX/FVKheiaQ7Xmoy6fBVSyXuZLJ0Y4wT28jZ/5u2iIa3zqc4ncjeX59
- I8vpnijHuzbX32u2S8FwGEhGNkhLD0NLWOP7x9uaNt52kSSJox1hPpwoMl+y6IoFWCzbTBdM
- TvdEtuy+KknSpl6TRP21vbVUe2SdQ1ekp7Gs0VAiWuFesRtFlnh+MM6bN3O8N17gO0da/BiA
- z+YIIRjL1BDAqZ7Iup2ypsg8PxgnqMm8N16gYt07ADyVm8D1HDqinQCEA0rDVNBstd7tsHuN
- /qprQVrDbUzkthcI3gxJqmdMHGoP79jh8kFNJhFSWSjZzBRNNKXHoPqKAAAgAElEQVSx/r+C
- psiENXldv5apvInrQV9Sf+Cdcyqk8kfHWuhN6JybKfPGzc2Dw7lacwPAe4EDbUGCqszV+QpC
- CM7NlAlr8qaFfdtBkiT6k3rT20Lci75EgNawSm/84WS0SEDh+YE4liN4f7zgGwCfzbFcwVjW
- oC2iNQw8RQIKLw7FEYJtBYAncuOEtDC9iboEpMoSEW19KqgQgum8uRoAvvNYUQZbhhnPjG2r
- Ing30RSZVEilYDjMFMwt9X+AgFKvnl6bOTSVN2kJqxtS/u6XgCLztQNJXlg+nOenVzMNg8P5
- anMDwHuFQ+0hpgsWN9I1Fss2x7u23v1vh5VU0UtzlaYWhW1FLKjyvWOtDc8Hvl86YxpP9UWZ
- L9m+AfDZnOmCScl0ObbFjqkzFuAbB5Mc7Qhv6QHYrs3t7BitkTY6490AKHJ9t7w2FdReLihL
- hTRi+l1Vs6EkpmOQrS495DPbeVJhlYrlsVRpnP+/loAqE9WVehaOqEtiC2WL4VSwaRLDwfYQ
- f3ysBYBPJje2Wd6JAPBusxIMliX4eLJETFc41P7gB6ivIEvwlX0J0hWbf7yyxMcTxS0NwUqT
- t2b2EXoYVl6XZ/qjfgxgp6jlb/C3f3eG1u44gdYhXvvyMa7/4S2uLtYQns63vvdtQsYsr//6
- fdBk2g88z4sn+nZ72qvYruBmuracCrf1rqMzFliXLteIml1lJj/NQGpo9Xd1r0FmaY30UbM8
- cjWHp/qiG8YYTA1jOAaZSoaOWNf9PaFHTEc0sHrG81b6/wqJoMp8qV7tOZU3QcBwk+MT8aDK
- vpYgtzI1bFcQUO8Yl+IOBID3AmFNZn9rkFtLBs/0R5tiUFcC0f8sGuDsTInP0jVGMgbP9kc5
- 2L5+sySEYKZg8bvRPMMtQfrie8PDkpeDwr4B2CHMpQzHvvV9nh2qZwrYtQwzZpwffv9blGYv
- cv7aNF3la5z49g/YF3F457cfYJzoo/khyQcju3zA+rP9sabo5BWrQtEscLLn9OrvJEkiHlRZ
- KNvUbJeQVu+MCY2rPIdb9+N4NgulOY52PfHQc9pJgssFYTXb21L/XyEeVLi1VO8IeTtr0BLW
- VlNgm8lgSuf6YpW5ksXgcjZNzXbJGw79TQ4A7wUkSeLZ/jh9Cb1h4dfDENRkXhiMc6wjzKdT
- ZT6cKLFUdfjyYBxY2fnbvDtWIBFUG25qdhvfAOwQIhBn4eLb/PS8idZxhK+ejhEOtgMQSHSi
- TCxSMEIcjitIQLuiUAY018XzPGzbxnEcTPPRHVS9OncBI+kaYU2iNyo1ZQ7j6VGEEHRFetaN
- F5Q9HFeQr5hIIYWZnEFIlYmp3obHlT2ZllArY0sjfHng5Yee044iBPGARECWCcou5j0qfSOq
- oGp7pIs1lio2xzuDOLZFs6MdiQCENImbi1U6QxKSBOlyPQAcVsWufN4eBZ3h5nyOGxFW4JXB
- MBfn6pXlhZrDS4NhDEfw3ngZXYUXB0LInoPleLv2vW6EbwB2iNTAcf544DgImw9/+iZZTmI7
- 9Y6GwjNwPRXFszA9QBIYjosCKIqCspwKqKoquv5wUf8HoWQ6TOTr57zGIw+vmQLczo+hqzpd
- qe51zykZAcerYQkZSdHI1Mq0RDQioY27tZgcpzXSxlRhcldel/vllQM6nie2FXSMSi6yVOJq
- ur4wHOyIom+zY+b9MpgKcX2xiierhAMK5Vw9ANzfEkbfpLrW5948OxSgNWbwh4kivxkp4Xn1
- 1hLfPNSy2r/fdd1d+1434osT8dlTuExcv8xcoYZVyTFnQzLQipkfIVuzGDl3hdS+YQaGglw8
- P0ktP8s0Oturb20unif4dKrE/3cxza+uZ3l3rMAfbtf7rx9sUAn5INiuzUxhis5YF22R9nXX
- onpddzYdj5rtUTScTTXzoBakK95Nrprd85lAUI9xbDfjRJPru/HZYr3CdCfknxUGUzoSrJ4S
- 9UUMAO8GkiSxvzXINw+mMB2BK+pHfzY6NW2v4L/jO4JC7/Agk+ff47cfXuOlb3+diBbiK688
- y/nf/xar+ylOdIdoPfA8Q8oUvz83yVdffZ7dUF8tt37oua7KIEG6bLNQtjjcEWpKyhncCQAf
- aDu84Zq2mgrqMlMwkWWpYcrpCoOpYapWeVtnA3yeCKgymrxc9dzE7J9GdMYCxIMKUwULb7mN
- xxcxALwbSJJEVzzAD0608SdPtDa1XcROsHdN0+ccNRjnuVe/te53eqKLr3/7u6v/L8kKB06/
- yPYbGzQfgcDzBIMpnVM9OxOkKptlcrUM3fGeDddWUkGLRr0SNaTKJIKbyxCDLfVMoGwlsy6j
- 6ItAS7ieCdSoI2Sz6U/qXJmvkq85X9gA8G7S7PYiO8XnY5Y+O4btCkxXbPuEpgdhpjCFIin0
- pwY3XFtJBZ0vWRSMesvkrbKOUuEWBILbubEdm+9ucaonwvMDccKBnf9aDqaCSBKcnyl/4SqA
- fbaP/64/5liuQJJ44Da922G2MI2mBEgEN0Y5VlJBnZxJxWzcM38t4UCUnnjfA/cE2st0RAN0
- PKJMwbaIRlxXmF4+JvBetR4+X0x8D+Axx3I9ZOpa/E7gCY/J3ARRPUZbpHFTsBXvQ1elTU95
- WiGoBmmJtG77cBifzVlpHRxUZXQ/APxY4r/rjzk120OWpB3TLOtnAKdJhVKoSuNdZlSvP3Zc
- V++ZMaEpGkMt++7rcBifxhzuqLdJ8APAjy++AXjMMWwPWdq5oJXtWuRreQZbhje9J6araLK0
- 4ai7zWiPdNQDwdVMs6b5WBLSFJ7pj/F0b8wPAD+m+DGAxxzXA6R6g6udYCUDqKtBBtAKUV3h
- O0daVj2BezHYMkzNqrJYnme4dX+zpvpYcuQhWiP7fP7xDcBjTs12d1QCylWzCCFoDW99KEhq
- i6Mk7yYZShELxpkrzj3s9Hx8Hmt8CegxxhMCw/HQFXnHCo9WzgDoSTSv02lQDdIa9gPBPj4P
- i28AHmOEqPffX9sWuJl4wmO+OIumaCS3eZD7dggFwrTHunwD4OPzkPgG4DHGEwLT8QjtkPzj
- ei6ZaobWcBtBrTl9hQBkSaY71oPlmn4mkI/PQ+AbgMcYT9QrgXVtZz4GNbvKbGGK4bbmN7vo
- Sw1Qs2ssVdJNH3unqNkWRaO229Pw8VnFNwCPMUKA6YgdCwDX7BqZylLDHkAPy0ByEMsxWSjN
- N33sncB2XX5z4xp/f/EcuWp1t6fj4wP4BuCxxhMC2/UI7FAbiMXSPBISXbHmG4BwIEJEjzJT
- mGr62DvBVD7LzcUFFspFPpoYw7vrTF4fn93ANwCPMbYrcEX93NSdYCo/SUDVaQm3NH3soBqk
- Jdz6uegJZLsuZ6YmiOo6xzq7uZGeZ65Y2O1p+fj4BuBxxnLrVcDNOPP3boQQLJbmCQfCtEc7
- mj6+ruqkQi1M5yebPnazmcpnmchlON3Tz0vDB1BlmU8mx3G9rY+J9PHZaXwD8BhjOPVOoNoO
- SEC2azNfmiOmx5uaAbSCqmh0xDopm2Wq1t7V1Nfu/o9399ISjvBU7yCjmTQTOb+Vhc/u4huA
- xxjT8ZCRdiQGYLkW2WqGvuRA08deoTPWjeHs7Uygld3/qe5+4sEgkiRxsqePRDDEh7dHsV13
- t6e4Dst19tycfHYO3wDsIJ5r8tGb/8DH1+dBeMyPXOQXv/g5b71/HsMF1yjw4Vu/4hev/5pb
- s48+n71me8jyzjSCq9oV0uXFplYA301/cgDTMcjXsjv2GA/D3bv/FaK6znMDw8wXi1xb2Dvt
- LCqWyT9cPs9HE2MIP0j9WOAbgJ1CeCyOXMEIxaiUTByrzOXRJb7+2nc5nCxzaSzD7PVz6Pue
- 57VXn+XW5UvYj3iKlushIe3IWQAlo4jtWnTFupo+9gpty7GFvZoKevfufy2HOjrpSST5ZHKc
- kmE8sjkZjt0w9uAJj/fHRhjLLDGytOgbgMcEvxncDmGV01xf8HjqcA9nJ8Bx8gSjfYQ0hbah
- YcYvzbFYkdh3OoWGQ7fkUgRSnocQAs/z8DwPx3F2bI4rraAlPBynuQHJyewEuhqkJdS2Y89B
- lVSSwRRzhdkdfZ0eBE8Iri/MEQnoHO3o3DA/FYkXBof5yeXzvD3yGd88eJSAsv5YzoptUbUt
- 2sPNOSbMch1+du0yUV3nleEDhLU7p69dmp/h0tw0YU2jbJo4rovsB6mbzqP4Xt8PvgewAwjP
- 4fwHH6BEQ0zcnmZxfop89VHv77dGCLAcD12V2IkqgNniNLqq07rJKWDNYOV0sLnizI49xoNS
- s22m8zn2tbYR04MN7+lNpPjK/sPcTC/w/vjIumszhTx/c/5T/vb8GWablDJaNAwmchkuz83w
- 40vnyNfqVcmzxTy/H73JYKqVJ3sHKFsm5h5ZoHx2Ft8D2BEkBo6dolhzMJelfVVJYpQvULMP
- kLk9jt5+jI5QmrHbOU52CuaEwnFAlus22fM8ZFlGVXfmLXI9gSMgoDT/MVzPJV1eIBFMkoo0
- vwZgBUWJ0BZpZ3TpFrIsr752e4FiuUTBqDGYat3y9T3V20fBqHF+Zoonunvpjie4sTjPGzeu
- oasqqiLz9ugN/vnpZwhq9z4wp2pZhDQNqcEBLzmjhhCCV/Yd5Oz0JD+5cp5XDxzm/fERgqrG
- d44eZ6aQRwKqjk0s1PzsrS8CQghuphfoiidIBO/vNXJdd0e/1/fL3vnG7EWEwKoVWcwUcW0T
- w95edoQkK3QP7Ofw4cMcOnSIQwcP0JZKcWJ/G2/95nVu5KOc3NdKz9GnMMc+4je/+4SDJ07y
- KI/lXm0EtwNFYKZjsFheoCfRe++bHwJJkuiO9y6fDra0o491v8yXCuiqRltka/lGlRVeGj7A
- cEsrv/rsCu+P3eJXn12hKxbnT089zTcOHWOhVOTTqdv31OXT5RJ/c/5T0pXyptdVWeHpvkF+
- cPJJAH529SLZaoVvHj5GNKCTCIaQJImC37NoU2zP5ZfXLvP70Zu7PZWHZm+YoT1KLTvGX/1f
- /5Fa2xP8ix+c5p2zeb7z9Sfva4xgaoinUvV/dx04xfcOnLpzUUnwwte/08QZb5/VRnA7kAFU
- Pwd4idO9Tzd97LvpjHVjOga5Wm41KLzbuJ7HRDZDSzhMSzhyz/sDqsrXDh7h33/yAR/eHuVY
- Vw9fO3CEqK6TCoc52tnNx5Pj7GttpzexeVvtqwuzLJSLTGQzdERjG66XTINwIICqKPQmUvzZ
- 6S/x/vgIA8kW9re2I0kSUV0H2DP9ioQQzJeKJIIhwoHAvf/gEVCo1TBdh7FMGsdzUWXl3n+0
- R/E9gC2Yu/Ie+775X9AbqSEHoizOjdz7jz4nCAGWKwjugAEoGHkqVpn+HawBWKE/NYjlWHuq
- JYRh22SrFbpiCZRtylLJUJh/duIpXjvyBN89cnx1IZYlmVf3HyKkarx96zNMp3EsyRMet9L1
- 12CxXGroLSyUS3TG4qvn/yZDYb579DgnuntXJaOYHkRXVQrLctFuczO9wN9e+JSfXrmAJ3Y/
- KC2EYCJXTzs2HIeZwue7HblvALagpf8Qox+/ydjICP/hr/4ttB7a7Sk1jRUJaCcOg5ktzKDK
- KvFgoulj301IC6FrQdLlhR1/rO2Sq1UpGgaDLa339XdDLfUgrHpXNlA8GOKrB48wW8xzZmqi
- 4cI8XyySrVbQFIXFcnFDsznLdcjXqiRDoXVBf1mSN8QLYnqQsmmw28v/RC7DL69fRpVlbucy
- 3EzvvpEX1NN7dVVFAmZ9A/DFJdh+iKcPpujp6CI68BSvPDW821NqGrYrELAjHkC6vLicAdTe
- 9LHvZuV4yNnC9I4/1naZKxXQVGVb8s92OdLRydHObs5MTZCtbZRnbi0toMkKp3v6yVQqOHel
- cFYtC8f1aAlHGgaI15IIhuoxgAf0AJqxU89Uyvz0ygUiAZ3/5PQztIQjfDA+grPLVcpCCOaK
- BbpicVrDEUaW9m4V+nbwDcAWZMcv8P6Zayxls4xcfI9/fOfibk+paTSzEZzneVQta/X/C0YO
- TQk09RjIzQhpIdoiHXumGGxV/w+FSYXCTRtXlmReHj6AKzw+mRhft8P3hMfN9CJDLW30JZI4
- nkvmrkDwQqmIJzy6Y/f2ymLBIPla7YE8gOl8jp9euch0PvfAElKmUubHl86hKSo/PPkUbZEo
- Lw7tZ7Fc4tri7lZO12ybkmlwoK2DoZY20pUSNdu69x/uUXwDsAU9J7/Bj370I370ox/xr/7l
- f89w/IuTG92sRnCu5/HR5Dg/uXyOTKWM67lkK5kdawJ3NytN4XLV7J5oCvcg+v92SYUjHOno
- 4urCLLlqZfX3K/LPgbZ2UuEIsiSRrpTW/W2mWkGSJBLbMEqt4QiGY2O69/d5r9oWv7lxlRuL
- C/zk8jlmCvn7NgJVy+IX1y5juQ7fP3561WM52tlNVyzOR7fHdtULWCgXEUB3PEFPPIHlOEzl
- c7s2n4fFNwBbMH/9ff7yL/+Sv/zLv+T/+D//X2YqO3Nwym7QrEZwC6UiH90eYyqf48r8LI7n
- ULbKJB7B7n+Fzlg3NadGZg80hXtQ/X+7PNM/hCxJnJ+ZWl1cby0toskKB9s7aI1EUGSF+WJx
- 3eJbqNWI6UE05d4ZK1E9iLT8N/fD+elJliplXjtyDF1VH8gIfDQxxlypwGuHj9MVi6/KVbIk
- 8dLwQTLVyn17AabjMN2ERVoIwXQ+hyrJtEdjDLW0IUtyU8beLXwDsAXxrv28/PLLvPzyy3z1
- tX/Cf/a9l3Z7Sk2jGY3gTMfhw9uj6JrKvpY2rszNkKkUKdRyO3IGwGZ0xrpWU0F3m9u5DJrS
- XP1/Le3RGIfaO7k4O03ZNJflnwWGWlrrhWOyQns0St6orlt450oFWiNRttP2KREMwX3WAhSM
- Gh9PjnOko4vTPf382elniAdD/OTyOaa2KQdN5XOcnZ7gyZ5+DrS1r4tVSJLEgbZ2euKJ+/IC
- hBC8M3KDv71whsVSseE9rucxlknfM/VVUJenEqEQQVUjqKr0JpKrWUFrHzNXq7JYLjUeaA/h
- G4AGCM9h5OpZro/NYlkWlmVhGhXmF784/dtNp94I7kE9ACEEt5YWuJ3L8PzgPr5y4DA12+bM
- 1BhFo0hLeOdaQNzNSsfRhdLu6sOu5zFfLJAKN1f/v5tn+ocQQnB2eoK5VfmnA1mqf53bozEW
- S6XVOIHlOhRqVdrCEbbT+GMlU2i7HoAnPN4ZuYEsSbwwtB9JkkiFwvzJE6dJhsL87OoFiubW
- De8sx+E3n10hqgf5yv5DDQPVkiTx6v7DZKoVLs9tr/3HUqXMpblpLNfh3MzGw4PEcs+mv790
- jr8+9zEfTYxh2I1TbV3PY6aQpz+ZWp1PTyJJurw+DlC2TP7x8nn+/uJZrPuU0R41vgFogOe6
- XD3zLu++u/7n4sje6znzIIjlFFBFfvAgcNW2+GB8lM5ojBNdvbRHohzq6OTi7DgVq3xfx0AK
- zyW/eBnbalzBei8CSoB4MLnrBqBimSyUizui/6+lMxbnUEcn52emuDg7tSr/rNATT1C2TCrL
- i1LVsrBdj5bIvTOAAEJaAF3Zfi3ARDbLjcV5nukfWlf5nArXjUDNtjm7SfrqCu+Pj7BUrfCN
- g0fRt2iTMJBqoSsW35YBcD2P98dH0BWVwVQL1xbmsO7qceQKj0+mbpMKhelLpnh37BZ/ff4T
- rs7PbhgvX6tStszVIrsVr8QT3qoMJITg44lxFsslSqbBxZm9k53WiEdsAARWtcDorZuMTy+y
- 0YkTlJayWIBdzVOo7U6wR9F0/uQv/gf+xX/3X/PiqcP09fXR19dHe7I5XRl3GwHYniDwgIu/
- JwQXZqYomwZfHtpPQFVRZJmn+wZwPRNZkrddAyCEYGn6D5z51X/LxJW/fqD5BLV6KuhCcXcz
- gfK1GjXLZmiH9P+1PDcwjOt5XJqdWZV/VmgNR5ElafXc4ZUMoPbIxurgzYgFgxSNe2cCOa7L
- 2yOf0RKO8HT/4AYDkwiF2N/azo30wobU1BWml6WfU919G6SfRgy1tLJQLm6ZbiqEYKaQZ2Rp
- kecGh/nK/sOYjsPN9MK6e+aKBRZKRb7UN8j3jp3kz049TUjT+MW1S5ydmlg35kwhjyxJdMfv
- xLfaIzF0VVuVueZLRS7MTnGiu5fBVCsX56ZxvEe/jjmex0whR75ByvBaHqkB8Iw8b731HlXb
- o7SwyEYHU3DzD5+QA8pTF7gyu7v9SOYvvcl7Y1VGb4/RGaoxnTF3dT7NQiy3gXgQ+UcIwUKp
- yJmpCQ62dTLcckfq6YwlGGqJoMoaUT2+rfFss8Dohb/CNovkFx4szTaohmiLdjBXmsXbxRbG
- Y9n0jur/a1nxAgRinfwD0BGLIUsSi6V6IDhv1JAkidZ79CVaSyIYoniPWgDLdfjg9ijZaoWv
- 7DuErjTeuT/R1UO+VmU0szFI77guv76xtfSzFkmS6IkncTyPdHlzj9ETgg9vjxIOBHiqd4Du
- eIK2SJSz0+sX9bPTk0QCOk9096DIMkMtbfzg5FPsa23j/fGRVWlHCMFiuURQ02iP3nkdA6pK
- fzLFZC6L63n8fvQmIU3j5X0HebK3n6VyiZuLj7ZI0XZd3h29yd+eP8NPLp1fl6J9N4/QAAgW
- PvuUlhNf5cSxI5x8+jgR4XHtk7f5+c9/zlsfXqaRWlbLTvD6z3/OL3/9FkuV+h3Cdfjk/Td4
- +ze/4pdv/J6C6WGV07z/9hv84vVfM75Qxi5Ncu7iDX735m9YqDQYeBsY5QKnXvgqrckkTzz3
- CnZ69MGf/h7iQRrBOZ7LZC7Lmzev89MrFwhqKi8O718ndaiyTDIIroCZwr1TMoUQLE78juLS
- dSLJIUrZWw8kA0mSRFukHcM2KJmNA307jet5LJZKO67/r+WVfQf58uA+DnesP3QnoKiEtQDp
- ShkBZCuV5Qyg7b/fqXCYgrF5NXDVsnj92mU+mhjjmf4hDrZ3bLp4D7e0EdeDXJ2f3SADXZyb
- JlOp8LUDhwlto9sp1GMcUG+414h6fGqR8ewSXx7cR2C5avdkdx9zxQLp5eBswahxM73Aie5e
- AmuMV0BReXHoAKbr8IeJsfqY1Dc+ndH4ut4/siTRl0yxWC7x6dRtJnMZvjy4n5geZH9bB62R
- KGemJ3akjYXtuhu8qrJp8vOrFzk3M8n+tnZytSpv3Li6qff1SD2A9IJDT8/a3ZFEqqufQ4cO
- Yox/RrqBBchPjRLsf4IXv/wMkdW2BYKSJfHS11/jxSMRLlydZeTCeUj1MtzbyqdnziLsCtdu
- TnPiy6/S+YAbsu6jLxAVNY536PzV//N3dO4/8WAD7THupxHcyo7/J5fO8+NLZ7mRnmcw1cr3
- jz+5YUcphCBfyyKEzKW5xdW0wEolw+iFf0c+c4vFUpGz0xO8fesz0tkpRi/8OxLtx9l36r/E
- NguUMg/WYbE92oHlmhSN5vTOv18Mx6Zg1GiLRHdU/19LMhTm1QOHG2rmvYkk2WoFTwjSldJy
- YHf7Hl8iGMJwbIwGvYcy1Qo/uXyOsewSr+w7yMv7Dm65cw+oKid6+hjPLq0LBlctiz/cHmMw
- 1cqBts0NyN2kQmFCmsZCqXGWzcruvy0S5WR3PUFAkiRO9fQhyzKX5maWg+iTyJK0es9auuMJ
- jrR3cWFmilytiuN5zJUKdMc3SpuDqRZc4fHB+CiDqVZO9tS74CqSxNN9A8wVC4xnmtuttmjU
- +IfL5/m7C2d469Z1bqUXGM8u8Ytrlxhffl++d+wkLw0f4EZ6gYszUw3HeaTdQNs6VKZmK/QP
- 1Vdkz0pz6co0g/t7CGo21QaJAh1HnqU8dpur5z8itf85jvXX34BAMExAlZFaW/EmqmTzZYKt
- Kqoc50unh0DKMnzoCVqj+n3P03Mdbl49T6TrIM8eSyId+wuecT1U9fPb9W8t99MIrmpbvH79
- MhXL4um+of+fvfeOsvM+D/Ser9ze5965d3ovGMwMGkGABCmREkWTokRRzZYt2bIcx+XkxM7a
- x8fr5GSz3iRnEye7643jePd4HUsRi2R1iUWk2ED0XgbA9N5v7+27X8kfAwwAYgaNAAjK8/w3
- d77+3ft7+/vSW1OHz25fbSh2JZqhkSjEqbL7qHZ6eWd8GFmUqC2cxjX7bcTz32O++gukre1g
- GIQH9xIoxNm8519idzUiCCLp2AWqanfc8j15bV4UtUy6lKbxlvf+4CiaRl4p47XeG+3/RgRd
- boajYSqaSjyfZ3NN7ZrvbD3c1suZQA7z5d9QPJ/n+2dPUNE0ntnUR3ew5qYW7u7qEIenJzi3
- OM8jrR0IgsCx2SlySpkv9m+/ZaFZ4/KwmLm2D49hGIxEw0RzWZ7p6b+qr5JFlmn3V3N2cY4d
- 9U0MhhfZFKzB77hWQxQEgYeaWxmOLnNsZopt9Y3our5ml9VqpwurbEI3dB7v6F61EARBYHOo
- jiMzUxyfm6E9cGdSow3DYDiyzHQyTo3LzWgkzPG5GURBwG4y8WzvVrqqQwDsaGhaGfgzOUq1
- 00mT7+r41D0UAAKhnp2c/cU7DBQ6oajS3OOlYkgIhkomt7bLILm8QMmQcbss5HKXffCldIyR
- kSEi01M07/wk9uUYJyMZXCEHxWIZ7CDctiamszB2kqMvv4VssdLZu52e7g7amutuO3B6u6i6
- RkFRcK8zeKJYUZhOxGn2+W+6Xa6q35wLyDAMpuIxorkcz/ZuoSdUe/3jahUy5Qw17mq+1L+D
- WD7HbDJK+MR3EWQHomgitPACO3f+KYKzmam9B3DUPYS/bjeaWsLuaSa5fJrmvq8RKS7hNnux
- yzdnvtW46lB1lfSHVAtQUBRKqorXfn8IgJBzJQYzEY9S0TSCTtdNa9hwUQAIAplyiborPt83
- OYpm6Hxxyw7q3J6bPmbI5V4ZdhMN83BLO7lSiZPzM/QEa9bUqm98PBcn5lZcK1fGPwBGIst4
- bTZ63ucaEwSBbXWNjEbDvDU2RFFR2Fa3vrpQ7XTRX1vP+WO46NwAACAASURBVOUFRFFAEkXq
- 1mjHLQkiT3RtQhQEQq6rY18WWWZbfSMHJscIZzME7kB8SNFUTs7P0uDx8ZVtO8kpZeL5HIlC
- nkZv1VXXYJIknujs4aXTR3lzdIjf2L7rqnXinq5mksXHE098DLss4goFcdrqeGh7E6LZyWPP
- PkedTaDr4V34AGfjNvrqbHhrGnBZJOyBTrZ3X5aggiQhChLtDzxKm99KqGc3O9sDCJKF+tpq
- ZGcjva23V40qSmae+NIf8hd/8Wd849efo9ah8PLzf8PfvPTOHXoSN89YNML3zpxcM5qvGzrH
- Zqd5ZXCAH507ddMViZcawd2oDURJrXB8boaQy7WqUVz/uJXVIjCzLFPn8fJAbQg/SYKNe3jw
- qb/GX9VC9PRfU7zwd4i6wqC8leVcHtlkx+FpIhMbYi41zI+mnufA8ls3dT8AVpMNp8VF7EOq
- Bs6VS8iCiNN86xbn3cDvWGkJcX5pER0Dn+3WFh7PxSH2V9YC5JUyk/EoW+sab2nxv8T2+iYi
- uSzhbIYDU2NIorhqDdwK1wsEaxf9/01e/zVdVQFa/QG8NhvjsQghl4eGizn9653n0YvXd3ph
- DrvZvOYEMOGiG6mv5toBSJeEjkU2cWr+2jqEW8UwDCbjMTKlItvrG5FEEY/VRpu/mp2NLdcI
- IACXxcLT3X1kSiV+MHDyqnXi3qqzgoDZ4aWjq4vWhiCSIBKoa6GzrZmq6mpskoArUIUZMNm9
- eGwSssVBS3sn7c11XFZYBYJ1LXR2dVEXWLlhQZQINbTS1dmO12FBNNnxOG9vgIRhGJRySUaH
- znP8yEEOHjuH2d/Krq0dd+Qx3ApBp4t0qciRmalr/pcsFDm7OEe9x0uuXOYHAyc5NDVxw3mu
- lxrByaKIbugkCvlrMgUua/8ZHmxsuSkTXdVVCkqBKvtlM7NSTpNLTeEL9uP1d7Ltif8DX2gr
- ieWT1HZ9HsXWzL7JMSq6gae6l1IpyYHpH1LUCsznpilr1y8gusRKLYDnQ5sLkCwWMMsSjvtk
- aInXZsdhMjObTCDAmm6O63GpFiBVvFxRPBGPouo6Xbfgr7+S7uoQZknmnfFhBsNLbKltwH+b
- GvF6geDFdApN12nzr12IKAA76psQBYEHG5tveB6n2cLOhmY0/eYa6a2FzWRiT0v7HYkN6YbB
- 6YU5PFYbnTehlMGKEGr2VfGZzf3kymV+OHCKt0YHSRULH82JYIIks6Wv764dX1fL/Oz5/5sp
- JcTuXTv5jcefo8bvvqky+juNz+5gS10955cW2NHQSPCiaa8bOmcW59B0gye7NiOJIvsmxjg4
- Pc5SNs1nevrXnSFbqGgIAlQ0haMz85ycn6HK7uC5vm2r/t6yumJmBl3um/6i5ZUchUqBoPPy
- 9snlMwiCiMu/CQCbq44tn/i3xBaOEKh/GDmW4s3RQU7MzdAefIC008OyoKBXXOTELNFSmAbH
- jX+oJsmEw+z80ARAuljELMlX+cs/bHx2O5lyCZfFetMZNlfisa20hTZYWTiHwsv4bPYbjrlc
- D7MssylYw8DSPC6Lhd3NrbclSGDtQLBhGIzHIkiCQLNv7VoMQRDYVt+E12a/qnhuPQRBYFdT
- K4lCga111waLbwZBENjZ2EzlDtQDhLMZFtJJHm/vRr4FgSIIAp2BINVOFydmpzm7uMBoNPLR
- FAB3G1G28Lnf+XOsF83gW8cgE57iyKkhyppBdXMfu/uaCE+c48TwLDZvA488vB1TJc3Rg4dI
- lAW6tz1EZ921Livx4hdwcHmJg1MTPNe3DVEQSBYKDCzOsSlUu6oNfWZzP+eWfOwdH+WVwQGe
- 7d26ZoaIohpous6740Mki0laqwLMp5P85NwZPt+/DbvJzHQyznI2zTM9/TfVQAwgU8ogAHbz
- ilZnGAbZxChmqxdX1WXryWRxU9v2KwD01tiZSsQ4MjvJeZNKqWEbPlMVTnkrs+p+woXFmxIA
- FtmK3xFgJjGJruv3dEC8puukigWcFstNDW6/V9S6PcwkE7ecAXQJj9VGopDHMAzSpRLzqQQP
- X2z1cLvsaGhiLpVgd3MrdtMHs5bWCgQvZlLUebzXfQ8WWb4mdfZ6WE0mPru5f02X0s0iCAJm
- SUb7AJ1MdcNgYGkeWZTougnhtdY1+Gx2nujqoas6xLG5qY1WEGshCMIHWPxXMDv8PPLJp/jM
- 058kOz5ISslxbiLGE089Q7c3x8BknMWhU1jaHuKpx3cxdm6AtTuQrExo2tnYzHgsslpwcnR2
- ChB4sKFldTuTJLGtvok9re1MJWIcnBpHe1/+b6lSIZzLoRs6gqDzXO82Pt+3jc/0bCGaz/LT
- 82dIlYqcmp/F73DelO//EtFcBJNkwm29aKVoZTLxERzeVizr9AYySRKPt3fR4PFRlOOoNhPB
- 8ATbQl2gOZjPX+v6WgtBEPBYPRQ/hFoARdMoVJT7SvsHqLro9692um4pA+gSHpuNTGnFBTce
- j1x0/4Q+kACodXv46o7dbKtr/EDHgZVAcDSXXc2xL1QUFjNpOu5Qts2VfJDFfy3ySpkTc9PM
- p5Lrjvm8Zp9ymdFohM2h2ptq670eoiDQXOXny1seuLcWgBYd5lt7F/itLz+BWQCtuMQPXnyb
- j33tN3EmR0hZW2mqurFWoJezpCoWqm7Tx387ZJYnmMpZ2dpxbaDnWgQsdifLcxMML0ewNLRi
- UVNYnQ3YTBKBllamBpaI5AXatvkwoVIraGQAn65jGAa6rqPrOupFf/7m4EpO8tHZSSShnQvL
- i2ypqcdrta5uc4ntdQ2kCwVOXOxx0l+zkscRzmc5ODVBLG/BZw/yZEcfXpsVDIMWXxVPd23m
- 5yMX+MHZlaDzEx2bEAzjmuOvRywXXakCNrlRVZVyPk42MU5jz69d9xgus4Unu9v54fQB9HQR
- y+Ignt4CLsnPUmGBdCmFQ76x26HGVYeilkkWEjhM965tR1Epky2XafUFbvpZ3QtCThcWWSZo
- d96W5um2WClrKtlSkXNLCwTsDjwWywe+R7v8wTThS4QcLlRdJ5zJUO1wMhYJo+n6yuf30Xu4
- kku/61yxyIHJccqaSrXTRb3HS6PHR0ldGd2ZLhWpaBpt/mqafT48FhsjkWXKaoWe6tAdu797
- 6wKq5PGYyoyEy/SHzERGRzF5nBQ18Lv8VFnMqIUUqaJGKpHAG2rE7zKTTKaoqqqiUkiRx0pi
- YC+HkkF29zbT0RgiFVkgllGobWrGabk7ufr52BwjYfdNCoBLiJjMVirpDBX9g6V/uSxWdjQ0
- sX9yjHSxiEWW2blOEEsSRD7W1klWKbN3YgSbLFOoKByYmkAQRapsfqyytLL4X0QA2gNBngJ+
- MTpI0Oli0y2YyQCx/MooSKdlZfHNpaaolNO4A5uuu5+BwWDyFEUtz25XP/Hi2yipURocLYyX
- 5omXIjicN17QPTbvSjFYMQ13fxzxKoqqoqgqXvvdH4BzK/jtDn5t6wOrlsCt4rGs1AJMJWIs
- ZzM81nr9gq97zZWB4GqHk+lkHLvJTJ3nHr7828TvcPLVHbuYTSWZiEeYisc4uziPWZJWK7lF
- UeC9iVEkQSDgcJArlwk53beVNrse9zwGEOzqIT4+ghHsZSyu01W94quLjR4m1vAszcnTvDXt
- YGuzncPHTvCZx3dx7Pgxnn7qaXKzZxg0bePKbPRyfIqByQwhFxw8copfeezB2/B2rk05l2A5
- fjHI5Gplt1siV1ZxWm702AzymQy+ulZCDSpHX3+dlN5DKTdGsdJBfHoKS/VmgrYok9NJtoQM
- lgyJPlj1XV/yY8tX+PC31DVwfnmRWD7H7qZW/GsUpVxClmU+1dXDDwZO8frIIDoGdW4vj3d0
- M7iskVP0q459iU2hWgJOF5IgYLfcvEtD1VXySg6X1Y3D6lzxG0dOY7K48VZvXvNcl8hVMgxn
- ztHu7qa36hGOnPoW+eQInZ2/xtDcAeYKU7R5u254DfWeBlRdJatkr3u+O02+UkE3dDxW+z09
- 783Q4L35rqzvx223gyBw7GJTtK5gzX11fwGnC5vJRCyfRxBFFjIpOgJBLB8wtnA30TRt9Xcd
- dLkJutxsr2+kUFHIlEqrAsBmNiEJIpFcltFomJHIMoqu8VhTC6Y7GGe6529TMPsxKVMUylEM
- WwhT+X0+XlGkZ/sueqpVIomjaxxApqGhlmp7I51NQSYPvsLMMmTMBlnFhgLcKU9sdvY4/+nF
- 43hdMpqSJZ4Bf303f/zHX8d1A0OjkFzk5KGDqLqAv34z9W4nlvYAb7/x2sUgsB9TZQdzBw/x
- xtBKEPhGr9VuMvN4excXlhfZ0dB0w+v32uw8u3kL746PEHK62NPagSRIKFoSh3nt8I8oCGtW
- O96IS0Vgl+YA6FqZVOQcFnsAi+363TEjxSVylQybfduwWDw4vW2koxfo2+HHbapiJjexZsHP
- +zHLFqwmG7H8vc0ESpcKmGX5pgvxPip4rCuTwRKFPHVuL777pMjtSmpcHhYyKeL5HJlS6Z50
- Yr3TSKKIy2LFZbk27ljr9lDjcrOzsZlipXLbGVjrce8FgCDSXWvhwL4LtDz4cRi4cZBPN3R0
- XSWZzkA1IIqoZQXDMLC7HLRU9fOxTX4y2fwdW/wBMtElPvXbf8qnuuwo+TA/eu047dI0I1HY
- eV3viECwtZdPt/Ze9WlNx1Y+27H18geShz1PfPqmr2el/3iQ9kDwpoN6IZebL2/ZsRrEUjQd
- RTPuuKvsUhFYm38l20dVcuSSEwQa9iCI65/LMAzm89PYZAfV1hpkkx2XfxPLE68jlNM02NuY
- KQ6QUVJ4LdfXZq2ylSq7/56ngiaLBcySfN8Ugd0pbCYzVtlEoaLQXR26Y5b1nSTkdHFifobp
- ZHylMZtn/cKujyqCIOAwW+5KksG9zQIyu/BYJaraeyiVoL1Kxu71Y5PA7PTjNINs87AS2xXw
- uD0Ikkyj18RrP3+T+ZyMxyoh+9uwRk7zxuHzVHfvRFo8wSuv/pwL03e2CjTQupkD3/k7Xv3F
- m3znW/8fRVuQkurCd+sK8h1DEIRbzui4MoNBN1amgX3QWcDvR9VVcuUcXutKKmu5EEcppfDX
- P3Td/RS9zFxuhipLYDVw66/biVrJU8wu0OnppqgWWSqs3czqSi7VAqRL1/aIuVvouk6yUMAi
- y9h+ySwAWMkEkkSRzuoPlv1zN7g0kUvVdY7PTVNld+Cx3V9xmPude2oBSIEuVvpp2njuuScA
- aNx2cYHo3kM1gG8bK8uAxLb+lWKv/oee5Oo+nDae+MznVv965Ba06FvB4t/EN77mZHE5TuiR
- Z9nc20Uu3oL/7rd7v2uUKjolVcdhvrMWQK6cpVApUO1aSRtNRc4iyVZcvvbr7pdWkkRLSzwc
- fHz1M3dgM4JoIrl8itr+38AuuZjPz9Lj27r+gfhwagFUXadYUXBbrbeVanm/s7OxmVguR9V9
- 6P6By4HgTKnEjvobu0U3uJqNOoDrEB8/xj/96FXGFtOYL/pDgzVBPso9QROFCqIgEHDc2YKl
- bDmLLEjYTfYVd93yaWzOWpw3EADh4iKSINPkalv9zGKrItDwMHPDP4RCgnpnIwv5G7eFuFQL
- cC/nApQ1lZyi3HKvnY8KfTX1fLz9/sr+uZJLFcEA7YHqD/lqPnpsCIDrULvlCf7oD36H7a1u
- 9v7gP/N/feftD/uSPhCabjCbKuO0SHdcAFwqAvPYfGiVAtnEOO5AD6K0/nl0Q2M2O4nT5CJo
- vdxzUpTMtG//r9G1MuMn/o6gJUimkiZSvPHIxzpPA+V7OBegomkUK8p9GSC9U9wo+P5hU+f2
- YjeZaVmn/cMG63N/v9kPmXxshjd//jPeePcoBLp58qG713/oXqBoOpFchUaPGekONzaK5SPI
- kgm3xU0xt0wuNYkvtO0G16MQK0eoszchvS9Q7KrqpKXva4Sn38GemEM3dIbiY+g3GFLusXmp
- aBXyym2OgbtF8kqZiqbhvUdTwDa4lkda23lqU+8dr9b958D9k9R7H5JPx/G17OC3nuog5LVT
- Kt9cyfb9ynK2gqLq1LrvbDaBYRjEchEsshW31U148TCCIGJz1V13v5SSIFVOsKv6Y9f8TxBE
- mjZ/hejsfsIDL+HueYSh+DAt9i3XbU9R46qjoinE83d2AtN6pItFZFHEeh/lx/9zQhAE6n8J
- M3/uFRsWwHWobumjPWRj5Phb/Pv/7d/y/Xdub2j5/YCuG8xddP8EnXfW/aMZGnklj9PiRJZM
- FNKzyGYnTl/buvsYhsFkZgRJlPBb1+7dYrK46Xzwj9CLKYToGBUhzTvj54ldZxi4ZbUW4N7M
- BYgVclhkE07zB+sdtcEGHwYbassa6FqFo29+j4Nn5ymrOqZymPZn/pRndtxKG4h7g6obZEsq
- Hpt83SyUsqaznFVoq7LecfePqlXIljNU2f0YukY+M4tssmOxrd0ADkA1VBbys7hNXvyW9bfz
- 1WynefNXiC+8CYFWUkqMt8aG+EL/NizytYLMLJnxWD3E7kEtwMoM5JW2HL9sRWAb/PNgwwJY
- A0OtcOzQAWw1HXzm81/k4zvaqWtownaHUyc/KCvTgUq8PZ4inL2+e+qS+6fec+eLSSpahdTF
- SWC6XkEpJrA6QtctACuqeWLlMG2uLiRxfT1EFGUaN/8qPtGOSIV6v8xcKsGRmalrOp3CigXg
- tnpIle7+aEhV18mXy9hN5ptumb3BBvcTGwJgDUSzjd/9k7/k0d4azh/6Ba8cGuUX3/8mp8YW
- P+xLuwrNgOlEibyiMxEvrrudbhjM3yX3D1wSACk8Vh+aWqaUj2B3Xz8nO1GOUdJK1DpuPMLd
- 5qih2tuJpZDFYS+xvb6J43PTjEbD12x7qRZgObOEvoaAuJNUNJVCRbnlaVsbbHC/sOECWgNB
- EHD6QmzdGWLrA3soFzNMT0ysOZf3wySvaIRzCiZRYCFdJq9oaxZ4ldUV90+Tz3LH3T8A2XIG
- RVMIukLoWhmlGMPhWX9hNwyD+dw0DtlJje3GbjVBlLBb/ZgLS8TLyzzeUkckl+XN0UEcZgtN
- vsstIlZqAbyUKkWy5Qwe29pzoSuaRrJYoMpmv+3sEUXTyCvlX9oagA1++dmwAG6EIGCxe+ju
- 38HuLfd+JvB6GBe1elGArXUOFG0lyLsW0VyF0l1y/wCkisnVIjClmEBV8te1ABS9zGxu8qr2
- DzfC7e/CnolT0kqUjSxPdW/GajLxxsgFYvmrg8IBZ/C6tQBltcLbY0O8ePIoR2fXdiXdDHlF
- oaSqqwPUN9jgo8aGAPiIoukwmyrjssh0BGwEHCZmk+Vr8uR1w2AmWcYqi1TZ7o7Bd7kIzEsx
- t4ggmjBZ3OtuX1DzREpLNDhabvocdncT9lyCilYmUlzE73Dyud5t6IbBT8+fuUoIVDuC69YC
- 6IbOmYV5zi0t4LZaOTg9wcn5mVu630vkyiVkQcT+S9YEboN/PmwIgPucZKHC0dkMZfVqLTWn
- aMTzFRq9FiyySKPXQjRfIVW8elJQqbLi/gm5zNjvUhA7lo9gksx4bT5yySkkkxWrs3bd7RcL
- cwiI1DtuvneL1V6NFRm5nGc+t7Jgh5wunt7US7Zc4rXBc6SLK3GQGvfFWoDC1bUAhmEwFY9z
- cGqcjkCQX926kw5/NYemJxhbI55wI5LFAmZZwrGRAbTBR5QNAXCfU1INxqJFzi9f1mYNY8Xd
- I4sCbVUr7odmr2U1K+gSqmZwbilPRTPo8N8dN4WmayxnlvHYvLgsbgrZOWTZvu4MYN3QmM6O
- YZPt6+b/r4VksuO0BrDlU0RKy6h6BUEQaPJW8elNfcQLeV4fPk9BUVZrATLFq7uCxgt53hob
- wmu388nOTbitVn6lu5cal5vXhy8wk4yve37DMMiWS2RKl4Pt6VIRsyTfd7OAN9jgZtkQAPc5
- QaeJ1iorY9EikZwCrGT/zKfLeG0ynotuHbtZotZtYSZVRtWMFWGQKDIeL7E5ZKfGfXe01LJa
- IpoLU+0MIhga5XwUk9WLbFq7NYKiKcRLEYLWGuzyzQdPJdmG1R7AmkuSr2SJl1YKvQRBoLM6
- xNObelnMpPnp+TPkyhU8Vg+LmYXV/YsVhbfHhihVKjzRsQmPdaVtsNNi4VOdPZhlmTdGBgln
- r20iZxgG4/EoL506younjvKjgVOcW1ogks3iMFuw3sEJTRtscC/ZEAD3OZIosK3eiUkSOL2Q
- Q9MNMiWVeL5Ca5X1qu26qm0UL2YGRXIVTs7nqHOb6a2x37VWxYqmkCjEafQ2oWllysUYTm/r
- uttnKikS5RgtrlsLqEuyBYe3FWc6SkUvkShfdu+IgkB3sIanN/WynM3w9tgYgmAlVUxS0TQm
- YhF+fO4M4WyWx9q7aH7f1KiA08Xnerei6zo/HDh1lTtINwzGYhFeHRzAbrLQ5PMTzWd5ffg8
- C5nURv/5DT7SbKSBfgSwm0S21Ts5NJ1hLFZEUXVkSaDufVk9QacJiywysJSnpOq4LBK7mlyY
- pLsn59PFNDklR52nEf1iDUCw6fF1tw8Xl5AEmaDt+n2C1sLubkSulJBKeRbyM/T4tqz+75IQ
- AHh9+DzFishUfIYfnzvFXCqJ3+Hk6U29tPvXbhlc43Lz+b5t/GJ0kNeGzvNIqcjWukYGw4u8
- MzZMrdvDMz1bcFks5JQyyUKBcDZDq3/9KuYNNrjf2RAAd4lSOsyJU2dJ5hT8zT083N9KeOIc
- J4ZnL84E3o6pkubowUMkyiszgTvr1s5ZFwSBFp+V6USJM4s5zJJIlc2E631jHc2SQKPXwki0
- iM0k8miL+44Pfnk/0VwYURBxWz0opRSVchqHZ+3grm5ozOYmsMsOQrb1g8Tr4fJ1IGsarorK
- YmHumjnBl4SASZL4L4ePspReZCG9xKOtffTW1OO8zpB7QRCocXv4fN923hwd5J3xEaYTcWaS
- Ceo9K4u/+2K656X5rVfWH2ywwUeRDRfQXUKpaHTteJTPPPMplKkxkkqOcxMxnnjqGbq9OQYm
- 4ywOncLS9hBPPb6LsXMDXK+ZgyQK7GhwYRiQK2tXuX8uIQgC7X4b1Q4TOxucVDvvfnbKfGoW
- q2ylzl1PuRBDECTMtrUXxkv+/zp743XbP6yHzV2PJJpwlhXyapaMcu3oR1EQaPdX87UHvoAk
- 6oScWXY3t1138b8St9XKMz39bK9vZDaVoNlXddXiv8EGv0xsWAB3CXegDpehE5kZRqsKYlFT
- WJ0N2EwSgZZWpgaWiOQF2rb5MKFSK2hkAJ+uYxgGuq6j6zqqejmt02mCbbU2ZpNlapzSVf+7
- hM8q8Ik2FyZJWPP/dxLd0JlNzuCyuHCaXSynZhAlC7LVv+a5U6UEyXKcHf49t3dtggmzLUBA
- NzGvlljKz+OU1q436A508EDDLo7N7OfJrifxrSOU1sIkCHy8pYPeYC1emw2zJN/1ZwmQSSZQ
- VZWq6pvPjtrgo8Vav+vbO5AKsRGoagf59pWTDQvgLmHoFcZOH2I4rPLwQ9vuyBhJAegM2Hi8
- w4vNtP6rM93hge/roeoqmVIKr70KWZQp5haQZMu6XUDDpZXxj4FbSP+8Ekm2Y3WGMLJhXCY3
- 4eLC+tuKEp/ueZZMKc2+iXdv/VyiSNDpwizdOx1p5PwA508eo6Io9+ycHzaGYZBKxFErH+1Z
- G/caPXyB4o//AOXU8x/oOBsWwF3BIDl1jrCpiY/taEIEVN1LKTdGsdJBfHoKS/VmgrYok9NJ
- toQMlgyJPlgdZH5pqLm8xqCR++WlFdQ84ewye1o/jihCKbuA2VaFzXGttq0bGvOFadxmL9W2
- 0G25gGTZid1ZS2HpBAGTj5n8JI+KBrK4dhpms7+VnU272T/5Lh9vexyPxYPZcn+6csqlEoVc
- Fl3XScai1DU1f9iXdE+ILC1y/uRxahoa6dm6/a7MHtZ1nXKpiM3+4fds0jRt3d/1zWLoOurI
- K6Dk0M9/D2nX7yLIt+bu1TSN6PLShgVwdzCILkdZnjjLqy+/zM/fOETZ7KS/PcDbb7zGSMrJ
- ljY/dT07KE8e4Y29x+js38JHLZs8W8qQLqUIuWrQNYVyIYbFtvZc1pJWYqkwT9BWe1uL/yUc
- 3lYMtUyjKUBaSbJUWN8KkEV51Qr4/v7nOXX4IKnE+sVeV6KqKvFI+J5pprlMGkmSMJstRJcX
- 73on0/sBVVWZGL4AGCzNzZDPZe/4OQzDYHJkiJMH95PLXFvj8VFB13WUchmlXEYvplBnDiJ4
- GjGKSbT547d0LE3TmBi6wODpE/eNMvlLhkj3I0/R/b5PHR1b+WzH1ssfSB72PPHpe3pld5Jk
- MYEgiAScQTS1RDG3RF3HM2tum1VS5Cs5mp3rTwm7GRzeVlS1QAArZtHMVHaERmfLmtsahoFD
- tdNsbuJs8iz1lRoso1bqezs4u3iKRD7GZ/u+gMN8dUO6SqXCxPAgC9NTNLd30LH57s6CNgyD
- yNIiVdVBREkivLiApqqId7jFRD6XI7wwh8dXRVV18K5o27fCzPgY+WyWTVu2M3phgOmxEXq3
- 77zhdWm6RracwSSZMUkmzNL6z6lYyDM7MYamaYxeGGDb7j2rVvadQtd1luZm0TSVhuZWxDs0
- G0LXdQq5HOlknOjyMoV8DgGozp6iOhNmsfW3COZ+AIOvIPj7sdsdNzz3pcV/fnqSmoamDQHw
- zwFFU677I7ldJuMTWGQLQWcIrVKgXIxjcazt35/OTSAJ649/vFmc3jZ0TUEs5Wh0tjKZGWN3
- 8DEs0tWuHU3TWJydZnJkiB2e7cwoM4xoY4zMjbG48G1SpSSGYYAg8JXtv3nVfnOT4yzMTGEy
- m1icm6G+pfWuug+KhTyx8BIdm/uQTSaW5+dIxKKE6q5tla3rOpqmoVYUKmoFDAOX23vdRVPX
- deKRMCPnz1IuFhFFka6+LdQ1tVy1n6ZrzCanMXQdt+4im0lTyGWxO5w0tXUg3cG5x8VCnpmJ
- UUL1DdQ3t5DPZpifnqS1sxuHa/1Ggpqu8uLJbzGwi02uvQAAIABJREFUcHpVAKz0ofJS52mg
- 2ddKtTNIyFWDWbIwOTyEJMk0tLYzMz5KeHGB2oYbz6C4WQzDILK4wPDAaQzDIJNM0tnXj+UK
- V6Ou62TTKURJwu5wXrP/JRdVIZejUlEo5LKUS2UK+Rz5TAZVrWBzOPD4qhDQsU+dQHcEyfu2
- kslN4x5/lxF9CyZPLTUNTdQ2NCKvUZ1+5eJf29hE5+b+DQHwy4xu6Awun+Mn537AjoYHebL7
- 05ikD+5oMgwDTdOIZJexyla8Ni/F+BAYBlbHtQPbNV1lubCA2+zBb1m7EOtmkS1OrI4QhfQM
- HaEnmMiMECkuX2UFqJUKEyNDLM5M4wsEeKDvMRbORDg4+R4W0ULIHOJre77B0fnD7Jt4h4+3
- f5Jadx26rjM/Pcn0+Cj1TS0Ea+s4ffQQ4cUFWjq6rnkGSrmMbDIhfUCNL52Io5TL+KtDSJKE
- yWwhHg0TrK27aoHOZ7MMnz9DuphitjjLRGmSil7h2a7Ps7N7D5Y1UlUVpczM+BiLM9NY7XZ6
- tmxncnSYkXNnMQyD+uZWBGElY+zY9CGeP/WPlColtpn62eLsx2K1sTQ3SzGfp6tvy5oLy61Q
- qhQZiQyhLhQQRZHWrk0IgkBzRxcLs9NMvc8KuLRASpKEYRgMR4b4xfBr7GzcjUW2UqjkKSh5
- ljNLDEeGSBeTWE022v0dfKHjy4QX52np7Kalo4tkLMrE8AUCoRAmk3n1+LlMmsW5GRpb269Z
- oNdF1zEEYeWdDJzBW+UnEKplcmSQfC5LV98WXG4P6WSCmYkx0skEtQ1NdPb2r+yuacRjUZLR
- CMlEDKVUolwqIUoSsmxClsBqFGls3YQ/VIvVbsdisaKn58jvn8C0/WvseOQJlFk3yk/20yjM
- EpUaGT1/luWFORpb2wkEQ4iSRKlQIJ1MEFleJB5eprmji+b2TmSTaUMA/LKi6Rr7J97lhZPf
- xCJZ+E54kGwpw5OtT1HKFvBUVeFwum7qWKquIiAgidLqIhmNLrGYmCfkqsVqshHPLiLJVmxr
- dAEtakUWC7O03mD8480gyzas9mryqWk6HU2YRTMTmaFVAaBedN/Mz0xR39SyolXLMr++/bfY
- Xr8Tp25j8cIU1WoVz/V9iYHF0/x88Gd8Y9fvszg7w8TQBYJ19bRu2kQsH8XmdbI4O01tQ9NV
- C2wmlWTo7Gm8/gBdvf237VbQdZ3lhQVsdgeyyYQoigRCIZKxKJqqri64mqpy/OQ+9i2/x6K6
- RM7I0+htJl3M8E/nX0RLlOnt3UFVdRDDMCgVCySiURZnp8mmU9Q1tdC+aTNmiwWnx8O5E8cY
- OXcWXdPx+KrYd/4tfjz7Ixq9zTgsDk4sncJa7eSru75BYjnC+NAFSqUim7c9gPU2219ousYL
- J77J/sl32WLu44tbv7L6HbTabNQ3tVxlBei6TiaVZHzwPLLJTHNnJ98//SJ+R4A/fOSPsZpW
- rsMwDEpqiXQxRTQXYTm7yI/O/hN/e+iv+Vz1Z2lqX7Feuvq2cOrQfqZHR+js7UfXdaLLi4yc
- O4tSLpNOJNj+8COrwuE6Lw2OHkGtqmI4GkaSJTZt2Ybd6cLpdjN09jRnjx7G7nSSy6Sxu1x0
- bu4jVNeweohMOsXg6RMrVoHdQXVzK26vF7PFiiwYaCf/HibfxRL8BmZf7+p9quPvgGTC3P+r
- iKKIpX4rmr8Nf2GI+qf/jFhkmcmRYc6fPIbHV4Uky+SyGZRSCbvTSWdvP/VNLauuIukv//Iv
- //K23uYGdxVd1ymVSjjeN25QU1VKxQKSJCGss+hUtAr7J9/l+eP/SJOnnm/0fo1cOsf++X1M
- zo0iRCokliPY7PbrmtsABSXPCye+yXh0lJ5QL5lEksHTJ0ikY5zMnKKrpocdjQ8Snn6bTHyE
- tq2/c00juOXiAgPxk+ys3kO1reYDPRdBlIkvHiWbHKe972vESlHm89Ns9m0FHeamJpiZHL9q
- 8Qewmmw0eBvxu6rJptPEI2HaWropqgUOTO7FVbATn1laWdC3bGXv5Fv8w5G/Yzw7DmWDgCuI
- z7cS4FaUMiMDZ0gnE+RzWXz+ADb72s3vbkQhn2NqdITqmlpcfh+6oSEKEgszU/iDoVXX09Tk
- CN8ZeYFlIjzY+jBf2PJrPNf/Jeq9jbw38y5KqYwU09DUi66v0WEiiyuCpW1TDy0dXavCRJZl
- qmtqyGbSLMxMcW72NK+GX6XKHeDPP/WveLT9ccpaiXen3mI5t8xDPR/D7fSyMDNNIhohEKq5
- ZUtA0zVevvBjXr3wEyxYSGpJvvTw1zBfsdg63R7mpyapVBS8VQGmx0cZOXcWQRQpl4scHt/H
- scQxvtz/62yq6b38nRAETJIJp8VFyFVDm7+DKnwcXTrMkhBmV+sebCY7VpuNQi7H8vwsgVAN
- kaVFRs8NYHc4aOncxNLcDBVFobrmWiVGVSuoFXXFDVYswnvvkA4vM23o9GzbgS9QjSAI2OwO
- qmvqKBZy6LpOS9cm2jdtpipQvWrFFAoFqvwBAsEQDS1tNLS0UVUdxO50YZZFjIEX0M68iGj3
- oY69heiqRarugkqB8jv/K6KvBfOOr69cmChhlDKoIz/H1PkkrmAzwdp6rHY76WQSXdfxVwdp
- 6+6hpbNrJfZzxbqxIQDuU9YSAJqqMnJ+gImhCxTyeTxVVUgX89RVXSVfzrGUWWTf6OscOPVt
- dlTy/Lqu4R59g/piGcPbzkBpgqyUp0YOkViKYDabcbrdCMK1wqRYKfDt4//A3vG3mE5M0lW1
- ifDYDKIk4q4NcCC8jwfrd9Md2sT8yI9QK3lat/z2VccyDIPh2HEqqSl21j2JxXTrvnRD10kl
- 4uSzGSxWG4X0NMnlU9S1P43J4uJ87Di1C8MIw/sZDyvUNrVftfhfiSiK2B0OFqcnEfJ5JN3C
- 2dhpEvk4D7U/QkdvH+9NvcP3zrxIvacBi9XGqfQpppNT+Fx+/PZq5ibGV9xCnd1kM2kqZQVf
- sJqRyCCqruGyuNB1nfDCPBPDg6TicTLpFEq5jKHrmMzmVRdHZHGRxcUZ8u4yL5z9JqcXTtHf
- tI3kYgRzIY8vk6HosPPS0W8yVhznt3f9Hl/c+hXqvY1YTVYavE3E8lFORI/R7GxBTZXQKir+
- QJDGrg7kahuNtS2XLRRNA0FAkmX8wRDRfJgfL/4Yl9PDnzz+3xNy1SBLMn21W7GbHLw9+gYn
- 546R0lM0h9pIh+MkImGqa2pXhIBShkgEnE5YIw5RLORZmp3llTM/5LWJV+gyd9Dv7GeoOExb
- oJN672V/vGwyoZTLRGZGiEbjxMJLhOob6N3+AKGGBr59/puYMbFD2Ird7lzXglWUMotDEzQ5
- mxnMDzGweJodDQ9iM9lw+6qYn5ogsrREdGkBfzBE746dWN12BF1gfnoSm92By+MBVn6HC7PT
- nB84wfLsLNHlJYxIGGdkERAQNvfR3N65em5BEDCZzQTr6gnVN+D1VV31PbwkAFwuFxarFZPJ
- vLogG7pO5cJPUA7+DXLXr2B98t+gh8+jDv4MqX4HRiGOcvKbmB/8PaTQ5tXzid5GKmdfQjBZ
- kZseQpJl3F4ftQ2Nq65Mu9OJLF8rtDcEwH3K+wWArutMj4+SGh2mLZNmtlQkEY+TEbPsn97L
- yxd+zC+GX+Xg4MtsGXuDp3MRtlfyoIkUDBuB0jh95PBWd3E0N8dsZR4rFgrRDIIObp8PUbzs
- yy5Vijx//B85Mv4WnzNZacssMpnKY6/46O7bQsUNByb30lSpp7GqnujMz5FlOw3dz119H1oZ
- 9fj/y+Zz72DTNKSafgTZcs29xsLLSJJ0jWZpGAb58ATht/6G1OQplvMSupYhEz1KsOlx7OYQ
- 4tDLNJ/+GXL4LC6zSuOeLyNb1tfIzRYLjmwW/+AgWdGC5rYxkh/hod7HGIkO8Z1T36bH38F/
- 2/9lHm3chctZz5n5kxyY2UcyE6eylKe+oZmOnj4qisLSwiyn06f51sl/YCQyyI6GB8klM1w4
- fQJd1ygVCiTjMWZnxzk/c5ZwZomiUCKSW+bg6F4OJg9xePkQXruPhfQcA0tnaHW2UT9xFtv0
- Kd4rh3kjvJdPbXqaZ/u+iCReHXPoCHRzcuEYM8ocn3vo12ht76ZoV/juuRf46YUf4rH5aPa1
- IlQqcPggWCzgcqGj8/yFb1FB5U8+8Rc0eJtWBZMoiHRWd9MW6CScXebc0hlORk6wUFmkWCyg
- JsuEQvXIw0Nw9DB0dsH73l0+m2XgxFGOTh5kb+I9euv6+frO32Vr505OLh4nlo+yp/Xjl/39
- ahnL/Lt4hr6JOT1O7c5naOnZhmwycXTuMAdn3uMrW7+GU7EyPz2FbDLhuaIfk2EYVBSF4bOn
- yWbS7N75GD0N/bwz8jqnF07isrgJeWqwWu0kYzHqGhpobKnlwMBLHD33A2w+HxY8hOfnCIRq
- qSgKI+fPcmRkH79IvEm4GCYgVmFbOIs9/RqiHsX3yBeQrNfGDQRBWNMteEkAOJ3vDwbrqKM/
- p7z3f0du/TjWJ/4ndJuXUvUmiuNvI4y/iRqfgFIa68f/DMFyxf6SGS18Dm3qAKb+L6MnZ1En
- 30Ub+C4oGcSqDgRx7TjVhgC4T7lSABiGQXR5ifHBc7TlC4QqFSqNQd5ePMjPJn/KeGwEu9lO
- c1ULe/JRHsws4t75O5gf+e9Ydj/MrNxN0+5nEcID1M0fp91exZyhcqYwRkxNYKRV9FwFx0Wt
- pFQp8t1Tz3Nu5DV+MxdmTz5Gl65Sn53DGWijccujnA+fZ2jhNNupwjH1Ho7wYSx1O/C3fGL1
- HjS1gnL+x5hPf4ei6EWaP4KRnEJuehjhivL1XCbN6SOHSCcTVNfUrQZVDV1Dmz1I5Z1/gyt2
- AndhHC2zyELZjVo8TSbnQh8/RfvUm8S9IWj8GK6FAwiFGFLTQwjrBLwFwD43hbw8RfXWB2nd
- vJtjM4c5u3iSMzMH2VQp8ttqGfOZl2D8TZotPry0kVN1TsdPUSHDJ7p2YC4sY9WznJ09xP6l
- d/DrFpbKCcyCmcp8FovFytZdD1Pf3Io3VM1rC6+yP7mf07FTHJl4G23wZ3hiZzD56/jU1q/y
- Gw98nZ5QL/sn9yJFT7I1dRi9PEA4MUgp2M039vzRZb+3rqKHB9GWz2F1VNFQvYl3x98iXo5x
- ITLA98+8BBjYDYOxxCSPdXwSuVBaEQC6Ds0tHJ89wrsXfsJXd/8efbVb18wkCrlq2N28hx2N
- DxISZWxTb7A9fZZQ/DTyxC8w5t5BzY0j+TvAX3/Zslla5NiJfZxLDHCsdJxqT4g/efwvCMgC
- 0vjrCMUEg0tn2dryMRwWB/ryOcoH/iP6wEtYnX7s5XmssdNIVW1ojiD/z4H/QJ2rhq827aRq
- eS9adIi5FGiGiKfKjyAI5HNZBo4dQpx6myZhhuqeRwj6WugMK5wLD/Dm7HsMhy/QZjPRWZnD
- N/9zlLMvEJjcy+bEFPLsIUKyQj5fIpbMMzc/x8nlE+zLH8RqdxBRFtlUmWZT9B0EXUVT5yE1
- idT8MMI68y/ez3oCQI+NUnzlX5B01TK55Su8N3eMVy/8mDenD3BGU+hLzSGnZhjxtmDe9Fkc
- VwgAQZTA0FGHX0WdO0rl1POoE+9ixBZQp99Fzy4h1W5DMF0du1F1dUMA3K9cEgB2u510MsH5
- k8dwWG20KgrDpTlezB9kVJul09PFbvNOvvLw13m07WFCQz9DdNVgffJ/RnDWMDM7txJA2/44
- cttjCIKIb+Yw2wtx2pQMUiXOlDrHUHKYA7MHODB3iL1jb5Ke2sfvZJfosjiRd/0hY+ZOlORZ
- GhOnoJAgnFmkb/EUO3ND2LNjWColPKUcorcZwVWPlk4RG3gZ6eh/ZNoXYLTmS1hNfuxL+9Fj
- o0iNu1e/kLHwEpGlBZRyCUVR8AdDoORRTr9Aee9fUSoL2GyPYRK9WJXzOMoLZIUSpkKS5tgx
- SoFG3ujpp6bvywTMVVTO/xBDLSPV70B4X9DZKOfQZo9QPvNfUDKHMBKnsJViiEBy+QJP5yI8
- nY9iE8Dc/2UERPTJtwkkTtNdUdhcTrI1O4pj/A2Mc9+HsZ9TlxtheznNx5QS3UoSU3iIqnyS
- +oADl9OOZPdyfOkE70y+yXN9X+bzzY+ye/4UD2WX6NR1HsSgo+1xLIEOAs4g3aUMfaOvkEbl
- uMXDA+UUD5hteNo/gWBxoxdTVAa+S+nt/wV16GW06QOEardQdPjZN/kuiUKcj4X6+KrZwYOL
- p7GlZpF9rVQpVoTpKdB0jI42hvb/B56MDNKpljGHNoPFvXY6aSmDbXoftWdepEcpEAx0IplN
- TKcmiVYyiFoEeeEAgmQianUzujTK946/wJH0EeaNRfrqtvJ7O7+BZ+4opbf+NerUfpqiIzxQ
- SiPNHkaYOYhy/B8wClGsj/1LVK2XZO0m8rNvYxp7k/nYGPHlc3yuEMd5/oeI2Xk8+TEchWnm
- C06KqrSS53/8PULTL1GfOYQ1P4M2cxCpZivVg0s8WK4iEGwhGjnCjsGfoi8dZ6kQw1W3A++2
- r2Lt+wJWQyc/u4/69CkcqfNUsiOMlUep89by3+z+A/rDF+iZP8Y5k5W475M0GnVU4ofRl84g
- NT+CYL6xe3MtAaBqFYrH/p7S4hn+nb2KdxdPkyjGsZudNHibaGvcRVXLI7gF+Ce1zOuzR/Da
- fNS661e74YquWvT0HBga8qZPY2n+AuZ4NQISldgh9LmjiMHNiI6VLLyyWuZ7p19EMIz3TRHf
- 4L6gUqmQTCZxOZ2cOnwAMOjp7+ftt/+O15VhGpy1fPbBr9Lt7eHY3nfo6Omj0Z6j8KPfx/rE
- v8K0+TkqisKRvW8TCNXQs3U7sKJV67FR1NkjqGNvoqfmqJRSJESZgiiSFSQyokRfpYhsClHc
- /HWUql5mZsY5nH+T/vQQT6gKYqVAyeLG3ft5wiY/82f+mjbVhkMUof7TWDIy+dTLRF0Wjm79
- BG35hxDLOjtry5T3/Z9IVW3IPc8iBbqYnIuyHMsQ9NrIzl+gpUrAnjpPZXGAqHMLeu2n6VjO
- IJhk1C4LpZN/S1HJICDgqNuB9qn/kX+KvELIVs9n659DOfqfUU6/gNz5FKK/DcHiQrC4MQox
- 1JE30MIXEAwbslSHLhbQrSp6dhnF0LG6ajBt+iym3i8gehtXNO3YKOrkPtSxN0A0oblC7M8s
- cbaUxiSI/ErdDupjGRypeSpGjqiRwiwYeAURBBEx0MW7aplJdy3/1ebPIRz9e/T0PFL/r2OE
- tsKxv8XILmL99F+BrlN6818hlHT+vSvIjGTw52qAuvIFRGc1pm1fpTLwPfTULHLHpzB1Poly
- 8ltoy+fRe59juKqN6nyU4PjbGMUkUs0WKktnQDJhq/0ccsSEoWdQapIUJ9/C4m9Hz0YQzDas
- T/xrpJZHEAQRQ1cxMkuos0eonP0OemICqeVjWHb9PmJwM0WtzOGzr/KLwZeRtCSfLMbYVSky
- 5wjwkslJDoPe2i082vYYrRYXxtG/R1s6g1SzBcuj/wJDLXLy7HdRZw7T667HUtOP5cHfZTif
- 4Pm3/5qUpCJrOT6Xi/CAksckiIihXkwdn0Ru/yRaZJjye39FqVxhPPglDIuHxuWf4qksYt79
- B0g1vZRe/x8ACSt7kOQGKo5lirHXkFw1HGn/JP7GXfQ27FytkVF1ldNDrzJ87O9pz0epMXSq
- DR1dtiKZHRj5GPR9if+0MMmQmOMPK33s8Hkoh3+I4AhieeSPEX0tCM7QNW7OS2iaRjQapaZm
- JRmioinsHXmdpn3/DnNF4kz3F9i87Un8dj8em++qtG1DUxlPTPDCiW8ynZjgs/8/e+8dXud1
- 33l+3nZ7vxcXlSAIAuxdpCiKEtVs2XFky7GsJLP2pIwd+5mNM5vEm2QzyU4248kkOzvZTbKx
- xxuvk4nGEycuseMSy7LViyWRFHvvAAEQuLi9vvXsH+eCAFHYbGc1u/w+Dx6QuPc973nPe87v
- +2vnd9b9FD+5/v2EfKH253JfiKIZ8NY+OHQQoam4GzO0DnwaAN+WD6F1b+ZEq8z/9tr/eYcA
- 3q6YIQANwemjh1m+ZjXfv/wMz596mvuMQZ7UNhB74sPYrsubLz1HOBxmTe37OGefI/ShL6FG
- u6hXq7z+4rOs2bSF3v6BBfcQjol35RTu03+J55TxOnwIu47brFB2Q4xm34PtS6GqGpnOTs5r
- o3zl4Bf4lTXv4fCJbxFevosn9/yPTF58joPP/Tbr7/oNEiOvIc6/AELFjmX49sa7SGQ3sbq6
- lvHRS9x9/wP4JvdhvvKnePUpcFrYWhRbDRLSbLxmCRcdO9zDlfBWGumtbOnoJXjgLVAUxJat
- uCmT+vN/gGVWSH7gc6iZVTw9+jXGGyP8/PAvowuB9dZT2Me+DnYT4ZrgmKAaaN0bMRLb0S42
- UI0Ewq8jHtmDVx3Bq15B692Gllq4W1kID9GqyICdL8qF/Dm+eezv6Yn38di696Pt3Y9x6iSO
- sHlKO8hFf53/YcdHCE2fZuzQ3xJrFtB9EXyAlhrEt+u/l1aQquFVxjFf+COc0TdBUdEyQwTi
- jzE1leNcXGNXyYd3/zpaz/8+ojaJmhnGt+Oj6IMPomgGwqxi7f9rrEN/K4W3WUFbfq8U1p3r
- OXLky9Re/VPWWk18agLPq1NSHF5OreDJD34etTJO64U/xJs+g2/TT6N2bcY5813c8UOIZgEt
- uw5j64fQBx9CMebsNTh8iOr+17iQ9uNNX2bZyiz+M1+hWpvCVg1SoTQoIJol1EgW390fk30O
- yMyzU1Mn+NTTv80v7/godw+/kzdH3+Tzb3yWuAnv8JYT2ryDaKabtZ6Loapo2fVXrxVC4OVO
- 0vru72IVLuGqfgKBAP49v4Gx+t3tz0/QeuZ/wcudQ9OyuO44+tBD+B/4TdTY4gcSCSE4MLaP
- 7x3/Jjs713N/x2rc3AncK8fQVz6IntxM7R++xJ8FjjJq5/m95R+mY6iH1vd+D1G5jBLKoES7
- UGO96KvehT5w3zVkMJcA6ladrx/+Ej849jX+beECkcAefH2PwnsfX7RvM6i0ynzr2Nf57slv
- s6pjNb907yfIRubsv/E8eO77kJuClom4ZxdeZwjzuU/hTp0Au0nFH+Wy07yzD+DtjlSmg/V3
- 7+DrJ77K86ee5gFtBT8z+DjBU2egWkGPxUmk0hTHzuJM/gBt2U7UqNQuKuUiChBZItVT0f1o
- WgZNXQ9+BTbtQQyuwG1WEJZgo6ajqhqKquAPBMk0+/jGsa/ycj3HUSPIY8kBAGqlC+hGkMzQ
- /fhXvxvrm3+Id+UIteROCgGP7bE1JP0ZRi+cp9lsEVr5MGr3FkR9CjN3nvG9/0hH0MHI9KEs
- 38Op8+MUWjqeorNuzWaC585CIAjhMMrFi+gbH6ey5YNcPPwUd/kjhBSVlD/DpdpZak6VpD+N
- b/u/wFj3uCQAxwRXEoCa7Ec5dAz8J6G3D2V8DEWPow7cd933oCgqSnD2wJ7BzBC/fN+vo6oq
- qieg0aCmqQgC7Alt5VX7JV6oTbJuYDefufgy7171Lt4ZyYJrY2z4AGpkdke0Gush8O4/xHzp
- jxFWFf/9n0R9/nW6En10bd4Cz34fNbic0BOfw8ufQ+3ejDqnL4o/iv/eT6Atvxfn7PfRujZK
- Qdt2sQ2ufS+/dfI7bK8UeNITTLtR/jwo2LnxSfRgCiWUJvT4ZzDf+L+wDv0dHPwiSiSLPnAf
- +uqfQOtaj+JbZINUsUA0kmTTxrvh+Wdh3fvxNr8H34WXEK3ZujtKKI0+sBsl1nuNi2l1di29
- ieV869zzjFs1vnP8mwyZQT4S2kWmqaC4vbBsx6LZRYqioGXXEvypz6K++ifQLElS7Vw/+3nH
- WoIDH8Gsfg5XyeMT9+Db+UmUJYT/zHXb+nawuWfb1WC71rMFZiq4nD9HVPHzi9s/yr/Z/8f8
- Tfk1frXnDwg9+Ze4E0fwcqdwcyckOZ15Bn31e/Df96vXvG+AhtXgP73yJxweP8h7gwkMVNTE
- EBTyUK1CdOk9OrFAnJ/d+s9ZnlrBU2/+3/z7Z36PD2//Bbb33yO/YNswPQ3LB2B8HGU6h7b2
- AYKP/zlu8SJv7vsripd+wH3xO6Ug3vawPIuvn/gqL5x+hncrQ7zPt4ng8iE4ehwmJ1HiCWKJ
- FK3jpxH1aYy1jwFSk6mWSmi6vnSOuhBwZQJ0HSJROH0KZXAleiRNfJGvp0MZti/bySvnX8AV
- Lp3RbjzPoVY4iz+YwR/MoDSb+Jw1EF/BuFFBU1qkA1migTiqqlArl0l3ZFFDKQilaIgkl9MW
- mZ33EmjXwe9P5qkfeot4MkW2owP274XuHujvh1dehskrBFJD1M0i5dwxQrE+kv4UtmdTtyUB
- KKqGElmk7ITnQqkoF9jAAFy6APUaxBd74utDnykVbTWhUsG3fAXCcVhRmGZL5yaeP/s9Do7t
- xx+Is+vuX8IfXvr4SMUXJvCOf4PwHBTHk0Jg9RpIZ0BTYewy6rbtqPG+JdvQe7eh925b8PeI
- P8qOFXt48eTTvGfdx3nt/POUvUvsGrjvqkBWggn8ez6JPvQIuBZqagVKpGvpEhOeB5OT0NUF
- yZQU0tM51LXr8M0prXEjPDT8Dp7a+3kul0a4Z/lufu5ShHD3MJgtuHgB7tq+KAHMQI10EHj0
- 34FwF8R7ANSpCoGBf45YP4z6/VehfnPF/eZnWgFyvUznQNPoHtzME8Wf5Aunv8qbIz9g18B9
- qMOdMPwOhBCIRgH7yJew9v81Xv4M/j2/gb7s7qtNjZYucbk0wofu+nnuG9uHmDyLtuFB2LsP
- Rkdg3fqF95/7XKrKvQP3k41k+cK+v+Izr/wJ79/4JJt6tlIqjlNqnqTQyLPeCDI0raABihGk
- EErxpVaZ7uF38Oh9v3qnGujbHWdzp3np3HO8d83jfCB8F8F0pxRWPh/k5cHomUyKTP0oaqIP
- bfkuQOYU16oVublkqRLIntvO4Y7CunWyvckaCqCdAAAgAElEQVQrS/ZFVVXuXbEHR7iyBlC0
- E9duUi2eJZZeI7MRSmWUlonXv4LxiEm0Xf5B1w3C0RiFfO6aNkv5afnZnJzueDLFtl33s2rD
- ZtR6A8pl6O6SJBAIwJnThJODqHqQ8vQxAFL+DhzPoWrfoOKjZUGlApkMpNKgqlBeeLLYLaFW
- hWoFX28f/u4edNvhsWUPYTkWo6UR3rv+A6SvI/znQlF1SVC2BR1ZCIchkZQa3Q/hrX2k/36E
- qvAt6zQveiNs1vvojV1ba0hRdfS+7ejL70WNdl+/KFutJomzqxsSCfleCvlb7uODQ+9g5/J7
- ef+mJ/nIqicJWwK6u2HlEFQrcHn0hm0oirKo8Mc0oVpF6VuB2rdGpr9OTd5S/xagVodIFEXX
- eSi1lTVugi/u/2uq5mwlU0VRUMNpfDs/TvDxPwfXpvmNf4V15CtXvzPcsZrfffTf8ejKhxCX
- XkP1daOsWifX9sTSFW7nP/dwxxp+/cHf5q5lO/nqob/lU8/8Lv/x1T/mv2oneLZ4gD8qfYe/
- arxOsTaN67l8/9R3qLTKvG/jBzEC8TsWwNsdK9Ir+c2Hf5cVwR6MI1+BoVVSY89koFgEwGcX
- STTPYg88gdIOaLmuS61SobN3YUGxq7Ad2UZfnzQXDx2C48fkol5il/HKzBBDmWHy9Wky4Q5s
- s0yteH62CmipAIZBY2Ufl6dfYzjYh6bqCEUQjkTJ56awbRvDMPBcl2q5hD8QuKbMgqIos//P
- T4OmSU04EJB9HbmEz15PNDVMtXAWgIAWJKgFKZrT1x/QalX+bN0Ghg7B4NVxvG1MT4OqQSwm
- tVXbZrmW5skt/x252hS7Vtx/a+3lclKQptultVNpGL0EjiOJ/zawrKGz1cvy4oUX8TyH9zaz
- qM2W3MB1O5ialH3Mtq2sjqxUHtoF9m4WASPIx+/9Ffx6AOXoEXltZ5d81/4AXDgPt3s2QiEv
- N751dMh2E0mp8NwuPE9aAO0AbiCa4kPeWn6//gO+dOALfOSef3nN1xVFRe/bjvpTn8V6/TOI
- 8iyZqYpKJtKBO3USURlH7/ugfLfL+uHMaWkB3eTZFfFggo/d+wkeGHqYQm2azlMjBBoWxqOP
- 8erZ53n62Nc5/ey/5eFV7+TZ099l58Bu1rZdZXcsgLc5Qr4wq7JrMRpN+YdEUhJARycUiwiz
- hXv+RTwULlpdiHYdedNsYVkmkdh1XBvNJrSa7QUXhFWrYGIc8kvXzA8YQX7x7o/zz7b9HLFA
- nEb1MoqiEkuvaS+QafD7KcQUWorNsknZH0VRiCYSOI5No1333bZtqpUy0Xh8cW3T82B8TPYt
- kZSkNLwaLAs9VyCeWUe9eB7HqmGoPiK+GGX7Btr89LQcv0QCDB+EIz8cAQghBU0oJLW3cBiC
- IbRiiXesehc/s+3D+JfICFkSuSnZTqB9XWenfFc3eZbBoigW2SP68DyHTaEBlhGTlsbtIj8t
- x2/GcstmoVSCVuuWmwoYQfn+r0zI9iIRuamspwcuXZTEd6sQAi5fllp/pl2AsKMDigU5r24H
- limtnlSbmJNJBpQkj+qreOnccxydOLToZWq0C/87fh/fzo/P66Jo1/LX0Pp2SpIaWCGt1CtL
- W+KLwdAMNnRvZs/AHlbXfCzvWkNPvJcn1j/Br2v3Eqw2eGrv5wkYQd634YnZvt3SXe7g/x3M
- 8dV7hoX55uewiq/htkbwLhzAPvNdWqF+SiRpNOoAsvysohK9HgHMaNczPtyVw/L/Z09ftzsD
- 6UF2Dz6AEILC+H50I0wkOSiDT8UCIhJltDlKyNHou1iFRgOAZKYDz3Vp1GUfTbOFbVlLn4Fr
- W1JIZTpmd5kmEnIBnjtHIrMeyyxRLZzBUA3CepTp1nVMfM+VBBfwS0Gj6xBPQKMuF93twLEl
- gSSTkqiCIUilYGIcVVHQb7X43YyWme2UVgVI7VrTfjiiKhbYEB3k57Z/hF945JNouiG14dt1
- K01MyOecsRTTbRfXdG7pa66HGbKfW4dn5bAU/mOXb6/N3JScK7ou53dHVloEt0t8M4rRjGWm
- 66ihEI9n76Mn1sdnX/0z3rj02qKXKoqycLOY8HDH9qNoUdSudrXZVFqS/8ULt9fHVkuutw5J
- eqpusD42yCdj7+SXdn2Cj+36BN1zguB3COC/BbQDbsLvwzryFNYPPo157K9oVP6O5vO/hTd9
- Bm3NY9iuPF91bgA4sFQAeGbBBUNSeIHUvJYPwKVL0BbS14MQLrXiWfwhGQDGtqFex+nMMFa/
- SMoLE667V33sfn+AQDBEpb0Aq6UiqqoumaVEtSb9/11zCsj5fDJ4m58mpnQACuXpE2iqTtyX
- pOU0Md0ltFDLklpqLD5LKMmk/Hv1Nk+LapkypjAjAFVVCohG/abGcAHqdag3pNY/I1wTCfme
- pnO3L7DLJYxkhkfXvIdssk+Owe22Z7Wfuad31t2T7ZQkdRtxAEAKa9eV/v+ZNnt6IBSGc2dv
- vT3TlM8390yFTIfs29jN+divgRCSgBVFjh1c/XfYgl978H+iI5Lls6/8KV8++Dc0rJt4904L
- 98pR9MAwSkc7jVPTpBtofEyup1vFxHjbZZqebS+VIVa3eWjwITbPSxK4QwA/RrhWg/HJWbPd
- adU4f/YME3npAhHCo3BlhLPnR2g51zFLHQdKRURQwbn0Gsba9xL8qb8g0PnTGNFt+Lb9HPHN
- 70M3DCrF4pwAcASfbwn3g+NIczidlpMEpMBZu04u8NOnbvx8dpNG9fJsALhcBsehngwx0bhM
- X2YtqAqMSt+nruuEIhEKU5N4rkshl8Pw+ZauSDpjoWTmBVD7B0BV8U2UCEa6KU0eBiDpT2F5
- JhW7vHh7LVMGbOdqmVcJ4DaPI2zUpaUyQ6Ig3VWt1u21OZ2Tlkpm3rkJ3d3S7+66t96mZUli
- mbH0QPa3VLo9YV0ogOtIt89Me4Yh28zdpgUwMTHr/5+BrsPwsAwE36praa7/fwbhsHQJ5W4z
- DlAogM8v2wHZ32gUpVgkG+7g1x/8bXYPPsC3jn2Nz7zyJ1wqXGC8fPnqz3xS8PJnEbVJtNjw
- bCxmxlJptaTVfyuYyVIKBGcVEkWRY2Dbcn3Owx0C+DHBLF/hpedf4JnX9gMgXIv9r75EsWVx
- au/LjJRtahMnef3IZVrlMV568zhLLsVWC9Fo4JQPIppF9HWPo/fdhdG7G79/F/5dn0APp4jF
- E9Sq5asB4Fg8sVSLUigUi7P+zBnE4lJrOnta+p2vg1btCrXieZJdW+QfclNgGIzrFVRU+lKr
- ZPtTk+B5qJpGMp3BNFtUKxVq1QrBUHjxWvrz/f9zEY3C4BD65UkiXoxq/hSuY5LwzaaCLopK
- ewHMFa6hsBQ0t+teyU9L4Tc3jTSdBkW9vYyTYkH2Z34eeGeXXMDNxq23OSPok8lZgd3VLcmw
- df13vCgmxuXv+XMn3SE/826DpK5MSHfc/KD0wAqprIzfgtY+4/9X1WuVB0WRz30771oIaSWm
- 5zyzosg+2xaYJtFAjF+4+2P83I6PcnrqBJ965nf51HfbP8/8Ll8/8uU5zQmcy3sBHa1n87X3
- 6u2V8ZXRkVvro+vK+ThXqQO5nl1v0fl4hwB+TFCNMNt37yEblT5g2yzQ0Lu5a8N6dmxfycVT
- I1w6Ncam++9h/ea7CFWnqC3VWH4aXBMn/xZa5wa07k1ycndk5QKuVtA0jXgqRa1SoVws3DgA
- nJ8GlGsnNEjhs2q11BhHLl73Gcv54yiKSjDaIwV2sYAXCHDRGSOoh+mM9svUzXJZChsgGk/g
- OA6VYoFmvU5qvqY7A7vtrslkFlSZRFVh3XpU3Ue8EsBsTtOojJD0p/GES8VaJBA8E0cJBqVL
- ZQZ+H0Rj0qVxq3BdGB+XJDVXcAXa9ygUbr3N3JQkvPmHksykrE7colYIkvg8TwqrGSQS7dz9
- G2RNLdXHSERq03ORTrcty1sUsKYpM4gWqcNPKi3J9eCBWwsG56Zkf+ZawDMWRqV86xaF68qx
- mm+NJpNt95B817qm8/Dwo/zOo5/iic0/y/s2PsH7Nj7B4xs+yAMrH5m9znNxR15H1RKomXlZ
- Tv6AtK4uXby1gHWrKeMUnfPO3PD7IRpZ1PK5kwb6Y4IRiqJZs9qaJ0z8Punq0INxNHeKphug
- P6CioBHXNEwg5Lp4nodt2ziOg2maaFOT4E7hejm01R/DcgQ4Jmokgu44OLkcXiBIJJ6UZ+GO
- XkJVFAKhEKZpLto/7coEms+HHYki5n8nncHIdKAcP4bV1y9JYQEE5dxpDH8Mf2QAs17HKBVp
- xcPkrPN0B/sQDtjJJIZlYk9M4PkD+AJBVFVlcmIMITxCkeiifVQKRXzlEs7QMO5izxAIoG7a
- TOb1S5y23qSUO03Yfw9hPUqxlV/YpuNgTE1BOIKtqlLoyBeDHg6jFPLYrdYtpTAqrRZ6qQTx
- OLbryd3GbeiJBMrkJHattpDAloJt45uexl05hOs41wq8YBCfYeCNj+H0L7+lfmr5PJphYPn9
- s88dieLTNNypKdzFBO9SEB6+QgGvqxvHtpC1VSWUVApDUXCmpvBucNDQXCiTkxiui9vRgbtI
- MF7dth3jpRdw9+/F2bJwo9uC9mwbXy6HO7wKZ948UOIJDCFwxsbw+pbeVLegzVIJw3NxojG8
- OW0qgSCGELjFIm56lhy6wj10DS7ccWxZllzX5QncsbcwjA1YscSCNaj2LUMfH8Meu4zILjxm
- dTGoV66gA04sfk0f8TyMaAxyU9jz7nOHAP6JoCp+TEtqCU6zjKuFCWqTVFoeUZ9L2XUZADRN
- u1oOWdd1/LqOqJRoWUdRgnECg7tRZzSvbBYMA6NWA7+fVDqDpmnkJsbRDYNoPL54DMB1pHad
- iONLLOIm8vthwyZ44Vn8U5OwYmFtHNdpUS+dJZJYQTTRI83jcpl6b4ySVWRH9n78fr/U6sJh
- jFIR/GvQNJVILE4pP40/ECCRSsvvzUelDJqG3tWFvtjnAMOr8CbWEzgbol46TXboESK+GFWn
- vLBN05Rtrtuw8LN0GvLT+B3n1vLimw2pda1Zu7DNbCeMjuA3byHXvlwC20bv6l74zH4/JFNo
- 5RKaYVxr4t9Mu4mE7OPMdX4/JBLoxYI8g+Fmj7SsVKDZROvpRZufp57thEBAvmuf7+ZJauoK
- KAp6b9/i73pgBYxdRjt5Am3l0ML4yHwUCuC5aF1daAvei4xbGPkcrFx5c/0DOXcUBSPTca3l
- o+vg96PX60vP0zlwXRdd19FLp7BdGz25Cr27e+H7XDEIhw7gO3NaBoVvhJl0ZF3HyGYXWmfZ
- TjhyBb9pyv0qbdxxAf1YIKjlJzh95izTuSlOnzmLpaYIORPsP3qMvfvOMbC6n+Wrezn88usc
- O7SfRjTLomLCcRC5i7jOKPqa96BG52hruiEDe+1gkaZrRGNxPM+7fgDYtORk6biOZtHdLeMB
- J08sGnh07Dq14jniHe0t69UqKAoXfUU0RSMTaKd2+nyyj+Nj4Hlomk48kUAIQSAUXvQg8+v6
- /+dC19Hu2kUw0k1+9DUMTyFuJMibOTwxz3SuVuRzJxdpLxaXQbLGdTI3hJA54HM11FLbtdKx
- iEBKpWSbt5K7P7MBbM4hJ9egf7l0p11nn8YCeN5s5tN8IZ9MybZuJRA8s9lrqdTdjqycj7fS
- 5lQ7XXOps4YVBbbvkJ+//OL1XUGmCWdOgqZLoTcfhiHn1K2452aEq8+3sGRIOxA84wK66SZd
- C83oRevctDiZBwKwdr2MA9xoDgkhn3tqSrozFxvH7m45F+bter9DAD9GKLqfndtkGWZF9XHX
- 7j0kAz5W77if/rhBpHsN92zsIxDvZc/d61hMXxKtJk7lCEJz0Fc+fO2Hmib9uvk8mCaqql09
- ISkWv47gLLd9oIsJwxn4/TIjKDcla77Mg9nIY7WKRJJD8g+TV3B1lXFf9Wr5h6t97O6RpQNO
- n0KplIm0Nw8l5wcRZ1CrSX9rZ+cN3Sd6LE20fyut0hit428SNqKYbpOWMydY6jhw9gyEggsD
- lyDHwXHkfZfqz6ED8I/fhqe/Lf3RlQrkJqW/drGjCUNyQxhXrsjrb7TPoF6XmVeJ5GyWyXys
- HJKL+9WXr+6tuCEsS1oqMz7/uch2zloxN9WWKZMDAsGli5XNbAg7d/bmfPalkpxjN3LH+AOw
- c5f8/pFFNlwJIYX6C8/CuXOwZcvifVQUGWSdzt18TGGm7WBoobCeCQTfYhqx3rOLYOgxlMwS
- O/UVBVavlvP/2NHF+1StwqmTcj48/Y+yj8uWLfwuzO6HmBcHuOMC+rFAIZLuZnV6vm81wuDQ
- 3PNDVVJd/Syh70lMT2Bbp9C628Hfa26jSGY/dxb2voGyZRuJdAb1wjli19Occ5Pt3bDX+Q7I
- PQGHD8GJozIXf44GWcmfRNP9RFPD7QBwkYYhGBfTrAlvQpu7AWpgQG5sef018PtJh8L0WRap
- xRaoZcLeN+Tv1Wuu37/2GKR67+by8a/QPPYaqa3rsTyLql0hZETaGSGjMqC2aQmhEAjKnbyF
- AgzOcQvMZJ+8tU8K/GX9UtM6fBBOnZDPHY1JbW0+QiGZx37+nNSIfX4pvDuyMisjk5HCZCZ1
- 743X5f3u2bVEzAV5/e498Owz8OYbsOeBG7tuyiXwxOLEl0rLOTQ1BStu4KaybfjBa5LQ7n9g
- aRfUqjUwMgKvvCS11y3brs0+motKGV54Tgr3oVXXdxkpirSAVg7JOdmRbZfeUGVfRi/Bgbfk
- 5rk9Dy7qtrzaTk8vnDgOzzwt59iyZfL9eJ608qam5DubsXwFUsNfrCSFokir4MIFqVQtNhcW
- 60a+AEpgaWsP5LwcHJKku3nL7P6DmTn9g9ckgUcici2vXAmr1y7elq5Dbx+cOSPXdTtecYcA
- 3uZwG6N4okBg/a9crfNzDQZWyIV07ChMTJBcvZr1GzaTWSqw1xbWhMLXtwBACpzhVXDsiMwa
- SqbAMhG2TWlsH7ovSijeL4VDpUwhImh5Jj3heT7LSBQeeacURlcmCIyOsLZlwpEjUqua8ena
- FuzbKzfq7Lh7YTbDEohl1oLhp9oYJXEqjr3Spu60U0GbDTiwXwq7NUssDsOQ41Fqm/FCSIF/
- YL8UYuk0PPSItGRAalGnTkExLwXNYsJQVWH73fLZ6u0Nbc0mnD4pNdjuHtkf24b9+2Qs9Z2P
- Xpupsxh6emR85tAB6MzCmnXXF5ylEghv8XYTCenWOH8O+pYtbW15niTB8+dkDaWVQ0vfMxCA
- R98FJ0/CiWPwnW/JrLK166VlM3NdswGvvSqzw/Y8eI1fekkoCty9U47/s9+TxKEqcvxrNUkK
- O3ctzGybj94+2HUvHD0CL70g3XU9fVLIF4vSFRiJXjseiaS0iBdDNC7nTK160wSA2ZJzfzH3
- 4dznXb9BzpkTx+WzCSHX4ssvyjImDz4MkbCcv9eDqsKWrXLcnntWrsdU6g4BvN0hghrash1o
- y+5Z/AuaJrWs7h44dgT9wFt0dWSlVhkKy4kcaGd/mKbcBn/linSv3CiQqCgwNAwnj8OLL0hh
- YVl4dpNG6zAhfxx9qgi6jiiVuLyiRUgP0xdeRFMKBuVPV7cUYOOX4bXX5ITcsVNq10ePSFfN
- 5q1SaNwkDF+MSGKAQnmKQUtHdTzKVlFqcMeOSvfKgzuXXpyGIbWo/LR0h5w/L0nP8+QCXLfh
- 2mu7e+RztFrXL84WDF4rNFxXCqoL5+RzPv/srD99x903tshmsGmz9Avv2ytz77NZGdj32oXY
- 5loQlXKb4BbZEW4Y8l0cfEsKlHvuXfg9z2tbgcflfTduvnFw1+eX3x1YAQf3w4kT0gIcGJTv
- NRCQwn9qUgr/Zf03HzD2B+DRn5DpsM2GHNOZjXjLVywMfi4GRZE1pZYtlxbexQvynYQj0lrt
- 6Z11mcxAVZcmyER81iWTSkt30Pi4/NvgysXn3eBKSTw3ShAIh+V3z52V89C24KUXJXk89PCs
- VXAzSCSl9fbs9+T7fte775wI9nbFzIlgHZk0OK2bOm8Ux5ET5cxpuThsWwp9RZGTUdelwAqG
- YOc9N6dhe55cICePy8UXCtPyWbx64F/T79vCsLcdwmHseom/H55G7e7lycFfuHG7QkgyeuN1
- GWPo6ZFm9+BKuPuem0+dRO6oPvbKHzB18Xk2r/okX9cOMNi1hYfUbdJdMjQs27we4R06IKuh
- plKyX51dsG37jbXJ20W9LknatqVGulQAdCnUavCP35JnBUSi0tcvvNlc9+HVUsP/3nflZ+95
- bHF3kefJQP/+vbMCIh6fVRYuXpB+5lWrbzyGV5t0UGdcgJ4nNfaTJ6Q1petS0E7n5L2uZ038
- U8Hz5PsIBG5p3l2FbcEXnpKuFUWRgXLHke0mU1KJWD4AmrbgSMibQn4avvUN6V4rTEvr9KFH
- Ft83cSMIIUnvxechkbxjAbzdoaga3IzwB7m4Vq+RQtQ02wTQkv50f0BmRvh8Uku6GU0JpNBY
- MSi1ubYAqY+9gS2aRLY9CmIQRi7RCMNkdJId4YGbfDBFLo4HH5Y+9dOnpODasfOWF6GiqPSt
- fpzxM98kp10iHO2gPHYGRtqm/MbNNxZcqbTcwVqvSYtq9ZrbEwY3i3B46WDvzSASgYcfkX5v
- 05Tv1eeTgufMaWlhrBiUgnbZ0vsGPDxYsxo1HJY+5WeelvGe/LSsxeQz5OEkm7felPCfvvwa
- 5w/9Z/pWPU7XyndJIujsklbO9LR0C+XzMqvn7SD8Qc7r65zAdePr2wUVL16Q73T5gBTWjQYc
- 2CfdTMsHpNJ1kyWer0EyJd/hyePyXg8+dHvCH2ZjILvvhxeev0MA/5+EYfxohZeiXF2oQgiK
- Vw6gGUHCXWsgswbWrmMsfwAxdZre+f7/GyEQgLt2SIKJxW+73n00tZpM324mzz2Nb/NPUKSK
- 12qi7t5zc3n43T3SHRFP/Ni0fs+1AYG6WCzndpDpkCSgqLPavedJ4X3yhPTZW5a0auYJWsdu
- MHXpRcZOfx3heXT030d6+2pCh8+j56akwN68VQYLo9Gb2idQyZ/i4LO/BcCRK28xNfIyq3Z8
- gmC0V56lnM3K4HezId2Tbwfh/6OAqkr3WWEa+vpn4xnptPTxnzguFZwDb8nv3U77mzZL9+SK
- QUkmPwwURbrdHn3XHQL4/xuEEFjNPI5dJxjpviVhNCP8L5/6OsmubbIENOBpKhfNSwT0IJnA
- ze1avAaatnjO9q00oftZtuYJ3vrer+FcOYaV6Ka+ezvR5Td5mIiuX5sB9COE6zTJj+9j7PQ3
- MBtTdCy7n+6V7yYUWzr1UXgutdJ5zMY0scxafIElgsPavCU8UyIknZFB5lwOBmczYjzPoTJ9
- kjP7Pk1hYh/R1BCKonH2rc9xTlEIBrL0LH8n2TV3E4ovv/6pYHNgNvIcefH30H1Rtjzyv1IY
- 38e5g5+nOHmANTt/na7BR2VbqipdQD8ieJ5D7tKLOE6L3uGf/JG1e0tQFGk1LebWCQRk8HXl
- 0M1vtlsM6TS8453Xlrb4YaCq0N1zhwD+W4PVkvXv45l16PNcQ0IIWRenfIloahWGP7bg89LU
- YY688D/j2A0iiRVEUsNk+u4hll5NILy0EJ4R/oef/9doRpCVWz96lTwsz2S6NUV3sI+Q/kO4
- NX5IJLu3kuzaSqFwATvTQ70rSfQWdswK4WG1SjTKl6jkT1EvXaBz4GFS3dulK+4G19qtMo3q
- ZTQ9hKb7QFGpFc8zcuxvKUzswxdM4Q91cO7A5xg9+VW6V/4E2f77CScG8QVkME94LtXCGS4d
- +yKTF5/DsapE02tYufWjZPruRZ9fU34pqCpW1Md0eYTmyTcwG9M4VhW7VaI4eQB/uJO1u36D
- rsFH0fQg9fJFSlNHuHLhe5w99QUunP0yXSvewbJ1P00kMXhdIvA8h5Ov/0fqpYtsfecfE+/Y
- QCK7kVTPdk69+accefHfUJ4+xsotH8Hw3/rZy9e777m3/oLzh/4SRTXoWHYvvsBNBtL/KaEo
- s1bB7VRznWnjRyX85zZ7Jwj89sTVIHAyiX35MsJx8BSXM5f+C+MXnibVvY2htf+CsCvzeYUq
- qDDGqQN/TqM8Qrb/AdYMfgzVm124ttLg8JH/QGtqhHRwPaXcIWzdwgm4hJLLWb72Z8mGt6G6
- CzWVqneZo/v/CK0Ba9Z/glhmNkc/r1T5cuObPKjuYI1/eMG1/5SYHHmefVe+yMWNe3h38CFW
- JTegJRIo7YwOIQSi2cStVHAbNRzdokmReuUSudFXaNUmaJRHUVouiqcgon76136Q/s7H0Jyl
- Nbi6N8WZ05+nNHUE3Qihan4URcVqFtAaCp2Ze+ld9Tj+UJrS5GEun/p7yuYFvIhOOLaMUHyA
- npXvpjh5iPGz38atlMiEt5Do2MCl01/GjJikurezYuPPE1BT6JZ+zbudC6FA0yhx8uCfUZk8
- jtoSaEYILRLFH+8inlxN//CT+AjjNRrXCCXhuVSmT3Dp+N9SsE6jx+KkurcTSQziD6UJJ1ag
- qQE0R0N1VVRHY2z6Wc4c/CwrOt/PinUfnlseCMeqcnrvp5ls7iPRu4112z6JvzkryFzdxfE7
- IEC3dTT7Jgk75OPS2D9w4chTpHt3kht5mY33/z49/Y/iFAoIy769qqQ/RujZLEQi5HI5OjMZ
- ua5vsua/YziUrLMI4aHpAXzBFJrmR3U0dEtDc26hNMgc3CGAtylmCCAyepn8n38a4ThUOkpc
- Hr5IdDpGM9ZA+FTSYx3EpmIU+vIUs3l8NZ1ANUi5q0xmspOO852oQsFTPSZWjVNO5Ok7voxY
- JYXn2di6hRkxKfTmqacahBsxUpfT+Gt+PM3D8TvYfpup/gmMukbvmeUEWrMZKwI4vSPO8Z1R
- HvriFRL52zi+70cIV3M4s3WCo/fvZPPLddacU9FSSfRsFjUaxZmawsnlqDNJLjlCI1rH1puo
- loLRMghWQoQqQQKVIIpQKPQVKPWUCP8HaYIAAB3oSURBVNdjZM91EawtDOKZIZOxNZexlSbp
- 0QwKUrAJFTRLI5aP4XOv1dyF8DCNBo14g0aiTjPawgqZqK5KJB8lPZomaEZRULBFi0pniUJv
- ASviYLh+dEvH1/ATqAYIVoOSEBwNRUCht0C+J4fWgo5LHQTLIXRdEoARTaF4KsJs4dUbCwhg
- Bp7n0gzVKHWXaMaauIaDp3m4houq+dEdnQABYmocO9DEHXHInu5FFQtJyfMcKukSV4YnUAyD
- 3hN9KJ5CpaNCI1HH9tuAgm5p6KZBuBQmXAwTrMp3cM24Aa7hcGVTgVJgjOyVfvr7HuNo8ykC
- apKBkY24VwngNo9+/DEh/OADxH/h58nlciSmp8n97/+HPJf7OhCKoBFvMDE8geVvguMhVIHQ
- ZCxJszU0W8doGQRqAfR5BKq4KpqjoTkqqquhOiq6paPbOoI7BPC2xQwBZGIxWkeOYjZzHDjx
- 7wlketk0+GvYusWlqW8yef5Z1KZARHT6Vn+AvugDaJbO5dZLXDj6FH3+PaxY/2HGLnybC+Vv
- MTD0QZYF94AmXRQz8FSPcmCCCyf+C7XpM2i2hqd5CENBU1QS2U0ML/tFfM61gqzmVvmG8hKp
- cJp3NXegcHuayC3Bc6BVlBqeLwRGGBTt6mfTzmEOKWfpr8ToP6thTxVxKw08V0MNh6jqE4x0
- HkFLZ8j27yGd2Ybfi6KbRluTEvIeroXQNAr+Mc4c/QvcQome8L10DT5KMNQBronVLHDi7Odo
- hlqs2/BrxJzbyc4QuKqJpUyiuio+ulEW8c46Pod6uEQlf5LK6CsEHJNkIEWlVaZcKWE2m3iu
- hx0TdK98N/3pd+Mz/TjTebxSCXt8HK9SRY1EUBNx9I4O9I4OlMUC78IDpwlWDY8WruHiaS6O
- 4eI0L0PxLFFflKARQVEUzHwDEbsbkiu4xgQQHtiyxlIr0uLkyc/QKk1i4+CPZolnN5Lo3ITn
- WpQmD9OqT9KqT+JUioQbCQZW/QzJLllOpV4ZpTZ5CLN5lEaoSUgZIHk8idewmey8wGTsHJus
- nyUysB69Z2ElTtkfF+wGWDUIJEFfIivHNeWcutUjPZeCAr6BAZRkUloAqRTNQ4evc4HAbOYZ
- O/f3lN0TxCIJOgP96JFBRKIPL5LA9WvUShcoTx6m1ZjCapXw3GtLjgjPwXMtXNcE10NzNHRb
- x2j5CIa67xDA2xUzBJDNpBC1SS4e/ztGTn2dDY/8B9I9O8BzcM0yk2e+RX7kFTqWP0Dn8gdQ
- FA2Eh9MscGbvnyHsBoPrf5b8ue/iA5Lp1eiaH/wx6FgP8WUQmi1ja9anyF34PlbpIj7HJKxo
- qM084fhy9PhyiPdDrBdUA5p5yrlD1KaPEVeDRAIZMIIQSMjFFc6APwG+iFxoTgvMKphlMEuz
- C8wXkYQ0vxqSqsnr9ABofrloS+dh8ijUJiQBGCGZJhvOtgu2TUKrjGNVcRQIoCH0IJ7pItQI
- Tqafwyf+M45msPa+3yHZsR6sOtSnoDENzYL8sRvg2aBoCF+YauUyk5MH0VWDdGqIWLQPnBaO
- XadeHUcxgsTSa2R/gmkIROUYgGyrPg1WVY5BMAX+qBx3z4HKZaiMyb6jyGfJboTkgGzDs+V1
- jimfO3ccrzyC4rko/iiYFSyrRs2skG9OE8qspXv1+1B9MTm+niN/nBbCMSEQQ/HH5bgbIUDI
- PrZK0CzK/tSnrhIA84QKwpP9ii2D7DrZr4svyO9mN0DvDjmmlctQHZPj2YbVKmE2C9j+KIH+
- +wku290+K1dAs4gzfZLWxH4K43up2TVqdoNwx3qC/hjhVpmQEEQDCTlOuh+hh/FEhIbXYnTs
- GboH30myc+vsvJmZewCVUZg+LcfZrkOoA3p2QGYV6EE5xrUJyJ2Q31XU9nP2QbRHjoPnyHFx
- 2mWVZ+6h6vI9tUpyHFolOT8Didl3HenC1YLkcjmyHWlqxXMI4UqXji+ChoKwapiVMURzmsaV
- A/ibJQJ6EH8gAYE4tMqSxIJpOf66D+E6uM1prPqkzDSbeWZVR2g6rqLiqT5c16RRukBz+gS6
- 8AjqwTsE8HbFVQLQa4jjX8JqlXCFSyjVrpnizgiFlpx4c+G57dRNFU8ILLuG6ovii3SBLyoX
- fWVULnY9APHl7clVlALaacoF7NmSKEIdcjE0cmBWAAU0A8eqUVMhGO3DH+qUAs6qyz7ZTXAa
- cmH5o1KAu6a83rVB90uBPSOc2v29BsocAtDbBGBWEYEEXigIgTia62sLqxYg5IJNLOcHzbOc
- r5xi6OIxEmqQTHKIgPDwKxqO5yD8MYKdm9oCvyj7pfvl2OhBuYh8YbnQW6VZIaxoeKpOIX+K
- equA7ovQtew+NM9tWw2mvGbm3SgKQtUROAhhgiJAqChCQRHt59UNlNgKSa4IyB2XZKQHIZiU
- gsdpyd+uJZ8xPSxJwh+T414ekde1SrOC6qrgViSZKpokbrcl/+aLSAtKiFmtWNGkRRWIQygN
- M3NmLoyQJDFfBM8u4bbG0I0ulIkDMLa3/V5tMCIQSknhp85JS3aaUB2XzxjKSOFqN6B2RfYh
- 2K6P47TwzAq2a6FrfrRgEhIDUnExQvL7hTPQLCDsFo4pNWB/KCPdP25Lzik9IPvkNGXbsWUQ
- 6YTJQ1DPyb9Fe6TwbxZl24kBOYfNslwTdmN2jqp6W+C7kgxdS763mXtpPvlbUWeJ22lC9124
- Q+8hl8sR8EYp7P00AT1ALJiZJQC7hipA1f2yjVAGUsOQWgn+uOxP6SLkT8vxU9Rr+wRyDrqO
- 7JvnIDw5bxQUBAL0IIoeBN1/hwDerpghgGRU5+TTnyAR7mLZ4LvkS3ctuSj9EblI9eCsCwRA
- M+SCU1Qcz2b83HfJrHiYYGIFjqJguS0M18bXKMDkYal9Cq+tzYTlRAt3SM3HH5M/QkitqVWC
- 2iSO0+SF8j6mFIf3Dn+EqD85K9Cd5uziaRSgMQWNvBRmM4ttpk3PnhVW84N2TksKaLPSFgxJ
- RGYNrijRvPIVEB6hFf8SLdgv7wlyLFSNc6XDfPPSV0gVp+ibuIjdyGPofro7tzE8/Bh6eVQ+
- jz8utan0SvnbCEmy0uYILM+dFcKqjqdqTI/vZeLEX5JK95EdeBTViKBoERTPAzQUDxRUhF3G
- Lu/Hrh5GqKAGOqXgd21wXYRTQaigd+zCSO1GDfaiOC1JatOnpLaqB2TfZjTJcBaMMEWrQMks
- 0BnMElT9oGgoVl0KnLkEMF9IOC1o5qE6IYWoEYJwB04og+kLYmk6wgjh4OEIh4geI2rEFmQC
- 2eWDmGNfxrPy+DIP4u/5AEptSrbrj0rFwR+7dixnYDWkdTB1FEoXpKacGIDkyqsEIOwqonoJ
- UTqLmt6EEu2Xc2gu2uQlnBbjp/+Bcwc/z7ZH/5RAtBvddaTgbkzL5472yPXia6ehOqbsw/h+
- Oc5GGHrukkQcSLRJozWr0c+4TWfGUXizBCC8WQLQ/fIHdZa47QYE4rhGlFwuR4eeg2NfRPUl
- UYJZ+Q4CCQi2rWc9KK1pf2xxN5TnynWhzrxbo90ncVUBEJ6FWz2NNfU9hJlH9WXwzCn0zG78
- 3e8BPXCHAN6umCEAxTzLge/9Kzbu/k2yAw8zaVc4XzvPYHQVXXrbH6/qqMbCPHHXcyg2xxgt
- 7mfKadIQgoZTx/JMDNVH3JckE+ikU4uR9meIh7rarpjrQwjBxepZvnHpi+xM38X2yIA0ZcMr
- UX+MaaBCCLzmJRoX/gJFURFuEzXQSWjFL6PMua9nFaiPfoG91YscVWNsCq+ip1TEMesMbPgQ
- oVjvVZfIDGHcWj9crNzzmFe+AaggHDzhUBWAahDT/GiqH0UP49kVhFNFiazGjG/DCXST8KXx
- KQp4Np6Vw8q/jFs/D24DLTwEqg9FC6EYcTR/J1psA6o+mzvvCY8TpcO8PvkiJStPty/B/YpJ
- UlHQfBmM9H1okdUIBKbbJKCFFk3jbDoNRmrnGa1doO7UqDtVTLeF5Vl4wsP1HEkARpR7sg+y
- JrYKXQ8jhItd+AHm2JdRjCRaeAV2/lWM9G4Cff8MRV18DrXcFk2njum2COsRIjOk0iy23YAG
- Qrg45QM4lRN4zVE8p4xwamjhQYLLP4pqLJ5GKoRgKneI5175HdyV96GG02xN72Q4vg5dvcGm
- SM+V1oLm/9H5/JfATCmIjmiDxqk/RosOExz8OIp2i6VA5sFzqrjVU7iNiwi3gRA2wirgNi6h
- 6FH8nT+BHttAa+zvcCrHCQ58FCO++Q4BvF0xQwBRfZzpo39IPLmMvBrgGeGj5Vr49DDDisd6
- USeqqOiJuyB6D03bBypUtBJHiwcYqZ6hVq/jNQSGEEQ1l6jmooRUmqpKC5WWohPxJRmOrWVD
- bIi4kJp4C4Vpz+VC/QItp0l3eBnZQBdB1eDpsW9j18/xk5qLbpfxPA8jshw19Si5ahK3nYAR
- DXrEfWO49fNokWHU8Coc4vgDQSyzhepVEY1juPVLCOGg+lKoRlJqykYHDlFsx8FzXTRRgqm/
- oVGZROn8EK6Zxyh9DV96FyXtASzLwafZJN2naRZOMNXq4y21Tj4WYncgyvqgDNDanskVz8MS
- Hsv8KYL+Dql5axHAkz5Wz8ZxHYotA6HpaEENFxdd6ISa53DH/oZ8LY7a+RhKxOVYeT8XWzkA
- OrAZVKBDDaD7slQi/Zyyakw0xzHdFil/hv7IIAPRIcJ6hKZTZ7JyjNHcizgohIVDGI84DkHh
- EQh0E8ncRzi+lYZweXPqJU6WDhMxTZbrPRxzC/h0kwc0j2StRiikUu18HyfsOuONEcJ6lDWJ
- jQxEhwghqJtTXGjlOFg4SL51hahw8OER1oJ4ToqUTyfonEd3WtSqBkcJ4iR11gSz7E7dhd+a
- xJp8Gj26jsCyD6MYMczxr2FNPY2Rvv8aEphqXuFy7QKj9QuUrRJNt3GVANKBLEOxNXSFevGr
- AXmc5MTXcPKv0iKIZYRo6HEaikqhOYETXA7BfupuDU3RifsSxIwkcV+CslXkSOEtCs0JgqZJ
- 04qixAXLoyvZ0/2uqwcUCSGwLItWs4k31+IUYDsOjmPjuR6WtfAYUl030DQVn8+Pbui4rofj
- 2Dh2+7rrZh0pZDs7CYZCMgiczTJ99qtolWcIdD5IkXtxbEEoEiYajREIBhFCgLBxHRPbbFCr
- 1jAdDVUzMAwdXdfRVI2QPoV55du41ZO4agxPaDiOh0sAYXSjJO4DLYllmQi7hJ5/ikQ8jNL9
- 0TsE8HbFDAEIu8Lrz/4nPJ/H5d4oFUcjPdYgH/JDt0FcOGwWNQzNI68mGKsH8SIqTaOF4ljo
- OYfLb3l4NRef5+LXPPyaSzIB/X2CTKdCTfdxWgtS0HUiqsOQ2iAoPE55YUqegScUFBdsRUVT
- NCJagKpd4y63SrxscuKihmkr3LfJRtMEJy7oHDmnMdznsGXIIhN3qFQVwiEFYSQoNZOMTEdJ
- RRr0Jktobo5aHRxPwWco6LqCI3RUXwLTiXD8rEup4rF7Q5mAXuU7b0aZriVxPZfNK4qsXm7z
- 7L4QlyY87ttss7rf4Y3jBsfO+9FDYGwPEE4r3CPKmJrCqO6noOkIRdDt2Wy3qwSFjqtG0RQX
- Q7UoKoITGIw0griqgeLTcVyBJnSiXoO40+TccQUvEyDYb2DbTexLJsIGo9+HEjIIahFwNRpe
- Dcd0EdMCWgoi7qElVQzdwKf5sWgADjQchCPAryE0Wd5BeBDUXPyqSySUwURQM4v0FJqM7APL
- StE0Gvi2aASTIYzLLTI9TaYNA1SBN2njRnREyEdMS9MhHCbNKkVPoJkuXcUmKwImXTEXHYVa
- y4dPa+HXXN46qXHigoqJjrHah291gIwqWO9UMU2FC/V+9FAQ3dAJNyJk3EP0Joqoyd1MWasp
- +Kocrx+kbtUQLRdRcxAlh5AXpBVuoXUaENAIqGF8ahBDUVBaEyiASRhTN2i67YNvPEFIdwjq
- Hmbdo2kpENAQunSBeK6CqNmER8cY5AjHRrdhdcfwbwwS9EcZimzAh59ioUB+Okez1MCeMMF0
- UYSHgofteFiOi+sJTNNGzLOadF1H0zR8AR++sA/XdHCaJp5t4TomnufhoSJQESgIFFQ8VDwU
- BPfsvpfHfuoJcrkctmnyX7/wRVZ2TrJ1tc3BM0H2HteIhEN0Z8PcvSnKyh4Ty6zRsmwazRbl
- cp1Kw+DiFT/j+QCqpjO8TLB1ZZGW2eKNY/9Pe2fzM8lx1/FPVXV19/TMPK+7j/fdjiPiENuK
- jSKIAaEQZAWJg09BHPOvICFx5sIJiQsnOHCCA6BYyCBZChwijENCMLaX3ZV3vfu8zEy/1GsO
- 1TPPPLO7duJk9Zhsf6TRSDPdVd/+/ap+v36prio5abaIURCcIwSBdRHjHD5A11mEiBzseP7w
- m/OUJIcE8PlkmQB+ePMBf/Y3b4MSyEqAh1CH9FxvcvrQVKqIlKH/joQg0D49H+ysRBBXDVFE
- TxSpkY5KgcoESGiURPTlgCD49JERhBeYtQ4hIpQh0Hanw8hHZSTP0ljtGCKlDmgVUCJwPBeM
- RxCFxAWJDwIpInmWOsgqAeRJjw8SIUArTyYCXQeTKtJayd2jbNXBsgzGZcRYQWdhWkVChHkt
- VqsSCi0QpUACQkXE0k4i2an0kSxwRlMjJUZBCIIYBMH3QWbDT1LEVKYNKcBFELmEKmkM/cta
- 0URitxQEciRBpXFPUkWECFD7PgGkRU6iTPsrFdK6J1k6w1QxEk8idZeCDYDIBaIQ/bRNEaki
- pfTEE4dTCj9SBC+J8dQutJFgI1Im24q1Ywoh+UT2S2sGIZHT7FRTFhDiVFNoIqGB6Qh8lHRe
- YJRMBxiA1oNPvt6aTjiZzaFQKYiva3oMIkSqzFNmnm4RVwmATBJFaqeicWTRMilOqE2F9Tli
- khGVXPlhRQRhw5kEEIVcC+C9ox6FFMhCEF1A2LTvup02E4Dok8Ab33iVb7/+a9y7d497c88f
- /8U/IKVgWsW0BMUibT8uA3sTR6Yi1sv06ftM6N+LqFtBCMlvkF4nqFvR1xp7Taf9fKkJQBLY
- 3/JUhR+mgjhPYgwcfvR/PKjh2o1rlNnDb5p++Veu8MLXIo1reWn3VUaPuMceY2TRGBatZdEa
- ms5RlZpCZ2yPC3Kt8D5yUne0xjGrO6pSk2eK8ShnXGpCiKv9F41FSsGk1IxHOTpTVOXPNrlc
- Ki+VtWgN492kqcwztqqCQiusD8xqQ9NZ5o1ZaR6XmnGZ40M4U4aSksujnJdKfUZTDA539D2i
- q9F7v47IHj2z46amzjjKIuO+u0UrHrBTTliYGm80V/Q1otWMSk2RSUr/PoX/kLy6jN55BUTq
- Oq1xZ2yfKUmeKXYmJblWjIpPtlsIYaXnpDbEGFfHn+t0jMeLDmM9R/OWGGP6/YZe+W7z/v66
- nsVWTVVI8nzMzrQkzxS5/uRnHtb50zIaQwTGZc54lNpMVWqO5y3GBY7mDTFCfqCQmeNjdxOR
- dVwbP8s+htDeJZi71DancRW1L6ktXNtXVOKIKndoBUW1T7b96mOfHxjr0/HUNScP/ocYasZl
- zmQ8pRxfIjc/4uhkRh22eLC4gJ7fpsgLLl97hZ3tPcajjXJj5KPZA3784D3qNuBsRqY9ee7Z
- m4y5Pr2OYcHczljYOV1okEKxk+9xoXyGrXyHk3bG+4c3uTs7xHYZUkYmo5ydasy0HHNpesBi
- 4Ve+qKanU7N84epF/uj3fwPb3yv17W3cybu0HNCqGxwtHNYFtkepLYxLTa4VOut9FwOhu4ss
- z84/ZKxj0aT+dFx3ab9M9e1JopRctbdFa4crgPMjMrv9A976zyNuXBDcbqa8/psvrc45llcA
- 8/KIv/vwr3ntmd/laxd/61wVf16JMRLaW0TfosbPIzaHk34K95qPePP233Nr8QHTfJvXDr7B
- l3ZeRK8Fo2Du4xfvIUc3UJ9lwrtzIgYLQqb3Q54wIQaOuvu46NgrLqCEJLo5obubfCL60Wn9
- g/Po5kR3THQzsq2vIvL9T518LsaIr98jNDdR1fOIfBehJkTzMc0Hf4mv/xejn+fdd96kPrnD
- 9sUXufqlN9i99CrV1nVUVpwp6257h+/f/x536ps8M7rKF7de4FJ1janeIsaIDYaFm9P5NiWA
- Yo+8bxcxRhZuxn8f/4D/ePBvq+1ijBSqZDvf5Su7r3B9/BxFc4IuttHl/iPXA4jBEdrbiHzv
- zAP/J82QAM4Nzztvfped136Pq7njX//xX/jqt77J8tx1mQDK7Yq3b77DxdFlVH/W2TnHouuY
- mw7rPbUx5FnGJC8YFzlaKgKw6DoWpqM2BgHsVmO0UuxWFXptkrQYI3PTsegMtTF0zuJDZFzk
- jPOCcf+maOscC9Ox6DpcCJRas1WWjLRmqzw7iqFzjnlfv3We2hqKLEvlFQVapncUFqZj3hka
- axBCsDuqyDPF7qgiW9MYYqQxhtpaZm1L5ywuBEZasz0aUemzGuddhw8h1VkUTIuSrY2VmVpr
- sd5zWNecmBn/dfhDDkaX+OLuDSZ5QdZrXNpmqXFp591qTLY2w+NSY+ssi84wN0nDSOdMy4Iy
- 02RS0jrLvDNY72ispcg0kyJnfzyh2FgPeGEMZmV3g/EOrRQ7vZ0mecHCGBamwzjPwnRopXo7
- 50zygnytTOs9xjnmxqzaB7Aqb3dUYb1fHbP1DuP9qrxxXjDZWEti0XUY71d2t96v2lmuMsZ5
- /liNkyK1r3WNxnuscysNS41LDbujalXf0ibWeyrl2a+/y1fK91F6j7t33uX+g0Nmizkq32K8
- dYPR9Aqj/Re547aTtv6YpPIocg6bOl0B9XXuVtVKp96YWHDZvhedYWbmHHXHZCoglMWx4NDe
- 5rgcURRbbH18iy8w5eu//SdpFNDBBe40t4jx9MFx51yy05o9T/tMjlZpmOe6XZb9eunrM/16
- TWPq1w7nfW/zgqoohltA50ek8SU3SolAsa0UHVB5TwgBay2z2YybTc2f//P3Me7fV3sqIciz
- DK0USkq0VPgQMN5jfHKykhKtMvJMoWWa3qCxbtVZwlreV0Kcbq8USgqkEH15Htvf5M+kRCtF
- rjKkELjgU6MKgc6dndNESYkSglLrDY0poISY7kjmKkP3GiOR1lp8TN9h49xEK4WWkiJLZQrR
- B7QNjblS6A2Ny+0epXFpSy0VH3CXt350a1VmJmX6X6qzdbre1msjPwSQKfWQBhs8XW/7CORK
- 9XaWZFLhQsB6R20tfmMkiVYKJcTKl0pIQgw0vZ2Mc6u6lv4JMax8125MNiZ7X6d9ki8BWpfq
- bq1Frv2fbCR7+7mVfx6lcdUmhcTHVJYPEeMdSkpKrclE0uhjOGPHdV9valxqWGpc+lEJyUhr
- pEzTlRjvCOEiL08Vr1+8Qzl+joOtq+w3x9j6kEX9ISe3f8zHH/wT1jka4PjhjnmG5lP+X2f9
- FCgDLusxk+1rHF55mcPdZ9F6l9lsxmw2w4wa/vbDv8LFn24yuE+k/ezbDwng3BCMVMtJG5jm
- nmPveQ5QSqH6LD6dTnn2wgX+9A/ewK4NWVt2jmUQ0WoZRE4D8rJDLjtRjKmTG3cagJdkUiLX
- OnAmJEKIVbJYBtdUbypTSoH1oa/PP5QAlmWOdI6SYqXROI9d6/CbGlNgCw8lAEEKNJlSFFl2
- RqPxHvdYjZ7O+cdqVKukttSQEqXtjz3rf9d9YBdwmhidw24kgGXAyvuALUXS0DqHdacJQKvs
- 1C4+BbXGmjMJhWV5Ij1XWPrbh2WiDBjnTpNDn2hDjCvfNRsJ4DTZq5WdEL3dQ6R1tk846X8l
- 0/amD9bLILxOsvXZNulDoLEuJSN3mgCUlOQyJYBlkjXOnUkqmxpVH+Cbvu719lhqnbYXcnUC
- ZL3HB0cpA1XmGCtPpQIQcd5jrcX8lLNw/jzIbIRTE4yakGkY5zkjOaZtW57ZOuDbz38HH893
- 8sQhAZwbkmdfuMpbb73N0QVBPT3gUXf+Min51Z9l/dCBgYHHkgGfYVHGXxi+T15CSK6Mr5+j
- ksSQAM4NweTyl/m6TKOAfufla48bdDYwMDDwRBgSwDkihGTv0g32zlvIwMDAU8nPsUjlwMDA
- wMD/Z4YEMDAwMPCUMiSAgYGBgaeUJ/oMIMbIfD5/klX80uKco21bZrPZeUsZGBj4BRFCoOu6
- z02/Hq4ABgYGBp5SnugVgBCC6fTRE3MNfDLWWqy1g/0GBn6J8N7TNM3npl8PVwADAwMDTylD
- AhgYGBh4ShkSwMDAwMBTyk8A63uHHK80IusAAAAASUVORK5CYII=
+ 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
+ aMv5efPQVS4AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAYAAAAFSCAYAAAD7MQibAAAACXBIWXMAABJ0AAASdAHeZh94
@@ -11215,229 +11800,180 @@
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
- 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
- V0VvSro5eBYAAAAASUVORK5CYII=
+ AAAgAElEQVR4nO3daXRc533f8d+dBTPYNxIECIAAF4niIomkqJWkJJraLMmSHDsnW500cZ2e
+ tDk9fWOd45zEcXqauie1k1OncdPFbhO7SWM7qmKKWkxSpiRSIkVRJiWu2EHs62AbYJZ779MX
+ tCjRhMRtBncw9/t5RczM89w/AfL+8Nznuc+1jDFGAADfCXhdAADAGwQAAPgUAQAAPkUAAIBP
+ EQAA4FMEAAD4FAEAAD5FAACATxEAAOBTBAAA+BQBAAA+RQAAgE8RAADgUwSAD/T393tdAoAc
+ RAAAgE8RAADgUwQAAPgUAQAAPkUAAIBPEQAA4FMEAAD4FAEAAD5FAACATxEAAOBTBAAA+BQB
+ AAA+RQAAgE8RAADgUwQAAPgUAQAAPkUAAIBPEQAA4FMEAAD4VOh6GhljNDAwkOlakCWO42h6
+ etrrMgDkGMsYY7wuAtk1PT2t0tJSr8sAkGO4BAQAPkUAAIBPEQAA4FMEAAD41HWtAkLuMXZC
+ 7775uoaTUd2zY7sqo2Q7gE9GAOQB4zo6fGCflm/+lG4vthV3HDG4A3AlBEAecJ0JjU0apY4d
+ UEu0Rtu3bb3kfWOMbNu+rF1qYk6u7S5UmQByDAGQB4yZ1VQ8rF1PPazU8Cm9evCUHr9//cWT
+ vuM4l7VJx5Pq3Ht6oUsFkEMIgDwQCFSpqMIoGg6qoKZZhedOyrIshcNhSVIoFFIodOmPOlgW
+ 1KpHN8q1Lw8HAP5AAOSBQLBIW1aW6Ac/el6RgKt12x69YhvLslRYVbwA1QHIVWwF4QNsBQFg
+ PiwVAQCfIgAAwKcIAADwKQIAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADApwgAAPAp
+ AgAAfIoAAACfIgAAwKcIAADwKQIAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADAp0Je
+ F4AMMI4O7vlHjZpCBa2A1t35gNYsK/G6KgA5jgDIA8Z1NVe8VM/s3Ol1KQAWEQIgH1gBVVpx
+ 7d79Y83NJnXXI0+rqSIs27YlSel0Wslk0uMiAeQayxhjvC4CmZOOd2rvoRk9/sitF1+bnp5W
+ aWmph1UByEVMAucB14npZ8dalHYc9be1K7qkyuuSACwCBEAesAIValhia+/LL6nHNOvBLfVe
+ lwRgEeASkA9wCQjAfBgBAIBPEQAA4FMEAAD4FAEAAD5FAACATxEAAOBTBAAA+BQBAAA+RQAA
+ gE8RAADgUwQAAPgUAQAAPkUAAIBPEQAA4FMEAAD4FAEAAD5FAACATxEAAOBTBAAA+BQBAAA+
+ RQAAgE8RAHnESYzp1f1vK+V1IQAWhZDXBSAzjOvo2JtvaXg8qJSkAq8LApDzCIC8YDRx/mdK
+ L92s2rmTl79rjGzb9qAuALmMS0B5wElO6p0OW/durL34mjFG6XRa6XRajuN4WB2AXMUIIA+k
+ psaViI9ozwt71NXaoYmyZXpmxyaFw2FJUigUUijEjxrApSxjjPG6CGSIcXTgxX3a+sSjKvnI
+ y9PT0yotLfWsLAC5iQDwAQIAwHyYA8gGYzQ70a/3z/XImZtSLM7CTAC5hwDIgrn+d/X1v/gb
+ Pb93n4wV14s//qnXJQHAZQiALBhsPa4dv/b7aqqQrEBYU5PDXpcEAJdhDiAL7MkuffMvvqu2
+ vj4VWUYPfulP9Nk7Gz2rhzkAAPMhALLEuLZi4xMqLK9QYdjbJZgEAID5sDg8C3qPPq8//e4r
+ F75wbdXf83n94W8/6m1RAPALGAFkmT3bqxdf79dTj93lWQ2MAADMhxFAFswMd+rdsz2SJDc5
+ odOdcT0l7wIAAOZDAGRBem5KfX19F76wIvrVX3nG24IAYB4EQAYZ19G+f/yOOmMffXVaP3vv
+ rJof3OxVWQAwLwIgoyzVr7xFkWWXvlq6bIk35QDAJ2ASOBuM0ezkiAbHZyRJkZJK1ddUelYO
+ k8AA5sMIIAumuw7qq3+1V6nEiNYtL9PsTZ/Vs798j9dlAcAl2AoiC0Y6z+qp3/sD3bF1q37v
+ y3+gFc6g1yUBwGUIgCyoW3OrYgO9qor36k++/mcaMMwBAMg9zAFkkDFGdjqtcEHBz792lUym
+ FY1GPK2LOQAA88mDOQCjgYEh1dXVXvmjH9eDcTU0NKza2uvvQ7qwDPR73/y3OjpUoTvu3KpP
+ 7XpIq2rLbqhPAMiWBb8E5M506D9//dvqmbv+PkxyTK3d4xe/Hhj48Bq7mxrWd//sGzo74V5D
+ h0aDQx/0YTR0fL+++f2XdA09SJICwZB+5yvf1l9946u676ZK7f3Rf9ezz35Ff/eTY9fYEwBk
+ 3wIHgFHXe2169Dce0LmTvRdeMa7aTxzS7j0v6vDJDskYTQ206sU9e3Sqe1QyRl1d7Tpz9DXt
+ 2XtIcdvVsQO7tXv3br2w97BSv9D/6NlT2vT5Z9RzskWSlBzr0s+OH9eePa+oZ3xOxrjqbH1f
+ B/e9rANvn5HzixUaV6dHjJ66KazWawmRj7CCYVUvXaryklIVRYymZxPX1Q8AZNOCBoAxRm1x
+ 6ebGtXJiZyQZDZ98Q11Wk5547GENdp2WcWI6dm5aj376McXPvqn+hNG5E++oaOUW7VwX0ZHT
+ o9py73265bZtevLhe1TwC/2fGnK0oXmVzOx5uZISY10aCS7XYw/fp2Ov/1S2MTp3rk2373hY
+ a4v6dOj0+CU1uqkxOeElWrVhtc6/33ptfz/X1nPf/gN98Uu/r+/tOayVdz2uP/p3/1H/8plt
+ N/y9A4BMW9A5ABPv0tmTnUomXlJPW4/67n9IQ2MB3fVggyzjKhwMyIyd13ut5zQz3SdZATXa
+ UrR6uZqWlMqdKlNo5ON/KzepEbWcOqOZxJyGOjrUetdDqpOlmqU1ChYYNRZFNCWpqGKJSiNB
+ Fa1brzMHBqVbyj/oQaNnjulsV1xzU2F1jCS1a8faq09JK6idv/asfulfVdzgdwoAsm8BA8Co
+ 68Q5PfzbX9K6ioBSQ8f12sl+rStO6WTXuLbWSONTKamyXstK+vTI448rOdorUzBPV8GQEjOT
+ cl1XVsC62P/ouZPa8vkv6c6GqJypdu093qq6WiPHsZWaGdf5lKVNujBZ67iOOo++p5LV931Y
+ oXF1st/Sv/jnn1fUGLUdelmtE67WVlxdBFiWpcrKhT/5G+Oqv/WETrT2KlrZpO333KYCFvgC
+ uIIFO00YIzlL11w8mYZr1qu5PKX6rQ+oqO+Y9h9uUWFxgQLhJfr0Azdr/8sv6ETvrIrDlppW
+ rJAkWZFqNdWWyCpq1sbaab184JjSFw8gzUVW6NaG6IW/WGmzVi8PXrgsdGS/9r15Rg/sekAB
+ SbOj3XrlpZcUK9+gu5o/skrH2Fpx01pFJcmytHLTZgVnZzTa+b7Oj6fkTvXrZ63XdlPXyNmD
+ +vufHL2h790VGSO7oFKPPPaEbl+e0KtvtmX3eADyguf3AUz3ndWrx1pkmbRK6zdp59bV19iD
+ 0bvvntCWLZvmfXeq5TV1lD2gTT9f4WlcR2+8+abu377jwx5cRyfef1+bbp+/jxsxM9yp1lhI
+ m9dm+5nARk56TqeOHJRTf6c2r/xw76GpqSkVFRVd9vng+DlZTkoA/MnzAMhHH30gjCTJCunm
+ 2+5QbXn2bgibG27X3rfeVyhSrFvvfkANFWHZtn2hnpmZy24EsxITCh79S0n8+AG/IgCyYKrl
+ FX1rz4BW10bkpEZ1riMpezauf/Pv/1h1Wb4p2E6NaO+rrfr0Yx/Obcx7J7AxUnpWctMC4E95
+ cCdw7okN9uvWXZ/V07dVyEnF9N3v7dHOprjahqS6FZk/nmtPaN/uV5UIhuXaSTVt2nnlRpYl
+ FRRnvhgAiwYjgCxwZvr0p1/9urS0UVO9nbr7N55VWfsh3farX1BdeOHrYS8gAPMhALIgPjag
+ RKRKJUFHgYJChYPWlRtlEQEAYD5cAsqC1GSvvvP9v9RwMqLNd27Tpx++X1XF893QAADeYQSQ
+ RU5yQj/89n/Qvul1+p9f/W3P6mAEAGA+jACyYKztLf3ld36gGatad25/Qn++k72AAOQeRgBZ
+ EJ8YlhOtVlk0KGMcTUzMqLKy/MoNs4QRAID5MALIgmhxsY6/+bIOHn5b758b1L2f+6K++MRd
+ XpcFAJcgADLIOLZ++F//WO/0F2jtuvVavSyqLb/237QjC2v/AeBGsWdkxgUUjRYoHClQJOzB
+ on8AuErMAWSBayd0+ugbevXgQZ3umNS2Z/6ZvvDoVs/qYQ4AwHwIgCxjEhhAruISUJZZVtDT
+ kz8AfBwCAAB8igAAAJ8iAADAp7gPwKfStqN/OnhOiZTtdSkAPEIA+NRkPKnnXj9DAAA+xjJQ
+ H2AZKID5MAcAAD5FAACATxEAAOBTBAAA+BQBAAA+xTLQPGBcR8de36O+KUtOYk5rt39aG5az
+ 6gfAJ2MZaB4wxiiVSikSiSg9160Db8b18K71F9//uGWgU5PTSqXSC1kqJFmBgAJWdgbfruuI
+ /9K4WowA8oBlWYpECpSa7NfeA+/pjl2Pyxgj275wk1c6nVYymbykzdhwTG//9U9keVEwgJzA
+ CCAvGE30nNJrp2J66KHtKg5delqfbwTgOI5a3j4rmzuBF1QqmVRPZ7uWLKtVZfWSjPY92Nej
+ +PSMmtfcJCvA9B6ujBFAHnDthI6cHtKTj+1S8CrbBINBrbt3Q1brwuVc11XywIRCYUvrt2+U
+ ZWVmDGan0xrd163mNU26bevmjPSJ/MevCfnASimSntWLu3dr9+4XdLxtyOuK8DECgYDqm1Zq
+ Mjau6cmJjPU7NNCnVCqphuZVGesT+Y8RQB4IBMv14JOf8boMXKW6hhVqP3tavV2dWr+p8ob7
+ M8aor6tTJWXlGb+shPzGCABYYAWRiJYtb9BQX69SqeSVG1zB1ERMk7FxNTSvzNglJfgDAQB4
+ oKF5pWw7rcHenhvuq7ezQ6FwWLX1jRmoDH5CAAAeKKuoVHlllXq7OmWMe939pJIJDQ30qba+
+ UeGCggxWCD8gAAAPWJalhuZVik9PKTY6et39DPScl+s4qm9amcHq4BcEAOCRmuXLVRCJqKer
+ 47rau66rvu4ulVdWqbS8PMPVwQ8IAMAjoVBYdQ0rNDo4oMTs7DW3j42OKD4zrYaVq5j8xXUh
+ AAAP1TevvLCM83zXNbUzxqins12RaFQ1tcuzUxzyHgEAeKiouERVS2vUf75bjuNcdbu52VmN
+ Dg9peWOTgiFu58H1IQAAD1mWpcbmVUrMzWp0aPCq2/X/fMSwvKk5O4XBF9gMzgfm2wwuNjum
+ P9zzZSXshEdV4QMBBfRY9CEllNCridev+PmQFdQT0cc06ozpUOrwAlSIfEUA+MB8AZCyk3r+
+ /R8pSQDkhOpEhYJjrgaqxxWMXuGSzpSj2plqzS5zNBWcXpgCkZcIAB/4uAfCIHck5uZ0aP8r
+ amhaqbW33v6xnzPG6Nih15VMJnTvzocVYNtn3AD+9QA54IPVPAO952WnP/4pbTNTk4qNjaq+
+ aSUnf9ww/gUBOcCyLDWsXKV0KqWh/t6P/VxvV6eCwZDqGlcsYHXIVwQAkCMu3NFboZ7Ojnmf
+ 65tOpTTY16Oa5fWKRKIeVIh8QwAAOeKDh8VMT05oMjZ+2fuDfT2y02k1NLPvDzKDAABySG19
+ g0LhsHp/YX+gC/v+dF7cRRTIBAIAyCHhggLVNjRquL9PycSHS3Qnx8c0PTmphmb2/UHmEABA
+ jmloWiXHcTTQ0y3p5/v+dHUoXFCgZcvrPa4O+YQAAHJMSVmZKquXqK+7S67rKplIaGRwQHUN
+ KxQKh70uD3mEAAByzAdLQmfjMxofGVb/+W4Z11U9k7/IMAIgHxijWO9Z/cN3vqVDHTNeV4MM
+ WFpbp0i0UN3treo/36XKJUtVUlrmdVnIMwRAHjDGaMYt0kPbbvO6FGRIMBjS8hVNGh8Z1txs
+ XI3Nq7wuCXmIvYDySOzsAZ0u2Kptq0pkjJFt25Iu7AVUXFx8yWdnZ6e0/0y/0tewBz2A/MKT
+ JPKUZVkK/3zCMBwOKxKJXPJ+OhVSZVmFTKDAi/IA5AACwKdKSiu1a2Ol12UA8BCXgPKA68zp
+ rX37NJ668HVF4zrt2LTm4vtsBw1gPgSADxAAAObDKiAA8CkCAAB8igAAAJ8iAADApwgAAPAp
+ AgAAfIoAAACfIgAAwKcIAADwKQIAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADAp3gk
+ ZD4wrlrfflXHB+Iy6aAefvpJVfKoXwBXwAggDzj2jDqnIvrlZ57WUw82690TPV6XBGARIADy
+ gDFTihYskySFymsVno15XBGAxYAAyAshpe3EhT+6CdkuV/YAXBkBkAeCwWq5M20am0ur7ehx
+ Vdzc7HVJABYByxhjvC4CNy49M6w3Dh5VafPtuvOWhkvem56eVmlpqUeVAchVBIAPEAAA5sPF
+ Yh+wbVvT09NelwEgx2Q1AIwxGhgYyOYhcBUcx1FFRYXXZQDIMVwC8gEuAQGYD6uAAMCnCAAA
+ 8CkCAAB8igAAAJ9iGWieMHZC7775uoaTUd2zY7sqo2Q7gE9GAOQB4zo6fGCflm/+lG4vthV3
+ HDG4A3AlBEAecJ0JjU0apY4dUEu0Rtu3bb3kfWOMbNu+rF1qYk6u7S5UmZ/IsiwVVBbKClhe
+ lyJ7JiU7kfa6DCDrCIA8YMyspuJh7XrqYaWGT+nVg6f0+P3rL570Hce5rE06nlTn3tMLXeon
+ ql5fpyUblntag5O01bH3lEyOBCOQTQRAHggEqlRUYRQNB1VQ06zCcydlWZbC4bAkKRQKKRS6
+ 9EcdLAtq1aMb5dqXh4MXht/v1VTXmGo2NigQ9O7y1UTbiIzjqv7e1QoX8Vg15DcCIA8EgkXa
+ srJEP/jR84oEXK3b9ugV21iWpcKq4gWo7upUr61TzxstmumfUFljlSc1GNfVRPuICqtLVN5U
+ Lcvy/nIUkE0EQD6wLK24dYdW3Op1IdevpK5c4eKIxluHPAuA+PC0klNzqr93NSd/+AJLRZAT
+ AsGAKlcvVXx4SsnJ2QU/vjFG461DCkXDKmuoXPDjA14gAJAzKlYtlRUIaLx9ZMGPnY6nNNM/
+ oYpVSxQIBRf8+IAXCADkjA9++57sHJWTXtjJ6YmOYUlS5aqaBT0u4CUCADnDsixVrqmRk7I1
+ dX5swY7r2q5iHaMqri1XQWl0wY4LeI0AQE4pWlKqaEWRxluHtVCPqpjui8meS6nqpmULcjwg
+ VxAAyClW4MIoIBGLa25sJuvHM8ZovG1IBSURldSWZf14QC4hAJBzypuqFQgHFWsbzvqxkpNz
+ mh2eVuWaGlkB/jvAX/gXj5wTLAiporlakz3jWd+TJ9Y2LCsUUEXzkqweB8hFBAByUuWaZTK2
+ q4nO7C0JdVK2JrpHVdZQpVAh2z7AfwgA5KRIeaGKakoVaxuRcbMzGTzZPSY35ahqDUs/4U8E
+ AHKSZVmqWrNMqZmEZgYnM96/cY1i7cOKVharcElJxvsHFgMCADmrtL5SocKwYm1DGe97dmxG
+ idisqm6qYd8f+BYBgJwVCAVUsWqpZgYmlZpJZKxfY4xirUMKFoRUtsKbjeeAXEAAIKd9sDVD
+ LIP7A9mJtKZ6YypvrlYwzIa48C8CADktXFygkuUVmugYydjDayY6RmRcV5WrmfyFvxEAyGkf
+ TAZ/8Fv7jXIdV7GOERXXlClaUZSBCoHFiwBAziteVqqCsqhiGdgfKD44qfRMUlVr2PcHIACQ
+ 86xAQJWrazQ7Nq1E7PofFvPBQ1/CRQUqqa/IYIXA4kQAYFGoaF6iQDCgWPv17w+Umr5wT0HF
+ qqWePngeyBX8L8CiEIqEVbaiWpPdY3KS9nX1EWsfufDMgVVLM1wdsDgRAFgcLKlqTY3ctKPJ
+ 7tFrbu6kHU10jqi0vlLh4kgWCgQWHwIAi0a0qliF1SUab7v2yeDp3nE5SVuV7PsDXMRdMPnA
+ ODq45x81agoVtAJad+cDWrMs//a3+eCRkf1HOjQ7PK3iZVf3AJcLD30ZVqS88KrbAH5AAOQB
+ 47qaK16qZ3bu9LqUrCtrrNLQ8fMabxu66pN5IhbX3OiMarc0se8P8BEEQD6wAqq04tq9+8ea
+ m03qrkeeVlNFWLZ9YbI0nU4rmUx6XGTmlK6o1ETriE73vn1VnzfGKBAKqHB5aV59H4AbZZmF
+ evI2FkQ63qm9h2b0+CO3XnxtenpapaWlHlaVWXYirbGWQekanhNQWF2iskY2fgM+ihFAHnCd
+ mE4cH9HGTavV39au6JJ1XpeUVaFoWMtua/S6DGDRYxVQHrACFWpYYmvvyy+pxzTrwS31XpcE
+ YBHgEpAP5NslIACZwQgAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADApwgAAPApAgAA
+ fIoAAACfIgAAwKcIAADwKQIAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADApwgAAPAp
+ AgAAfIoAyBtG8eFz+t7fvaQ5r0sBsCgQAHnCtWd19MR5VRRZcrwuBsCiEPK6ANw4Y1x1nXpX
+ NbfcKb135OevGbmuK0lyHEe2bXtZIoAcxAggD6Qmz+vI2QkFZgc0NDaqju5Br0sCsAgwAsgD
+ gXC5tmy6WZJ78TXLshQMBiVJwWBQoRA/agCX4qyQB8LFlVq7tlIyjuZiM7qpqdbrkgAsApYx
+ xnhdBLJrenpapaWlXpcBIMcwB5AFxk3p+Bt79KOfvC07PqhznaNelwQAlyEAsmDi7E/1Rpel
+ gfOnZIUjeufwG16XBACXIQCyYG4mpprmdSoJOxruadHIlHvlRgCwwJgEzoJltz0i6/v/R2da
+ utXTPaQnf+v3vS4JAC7DJHAWpOIxDYxMaG4uoXAkqqKyKtUtKfesHiaBAcyHEUAWTHSf0N//
+ +LAkyU1NKNT8qJ79zZ0eVwUAl2IEkGVOckzPv3xMn3v6Ec9qYAQAYD6MALJgtOWwfrDvXUmS
+ m4rLrtnkcUUAcDkCIAuKa5q1Y0fxhS+skBpXr/G2IACYBwGQQa5j6//+1R/r1NClrzdseUS/
+ 97kHvCkKAD4GcwAZZIzR6MB5zaYvfb2guIJVQAByDiOADLIsS0uXN8nYs3rnjdfUNTojSaps
+ 2uhpAADAfLgTOAtGT+/TgfakWtvPqb4kqe6RpNclAcBlCIAsSEzFdOu2XVpSXq71935K7nCL
+ 1yUBwGUIgCxYtu4+ldqT2ryiXH/9P76npTdt9rokALgMk8AZZFxXLSffUWHNTWpYVilLRo7j
+ eP40LiaBAcxnwUcAxqTU3X5e6St/9Gp7VEtL24U/2bNq7+iTc/FYjno7WjSTunIf0xOTF9td
+ aJvUyPDENdcy0H5c3//OX+s/feObeu6lA2rtGlDKYTdQALlnwQMgNXxWr/30DbWNXX8EuPEe
+ HXmv7+LXMzMXVtu4s7366UuvqnvqwqncnurU/j0vqG38Sj0atZx4X3PXXdEFViCoBz/7u/rK
+ V76s3/n1X1JjmaMX/+6/6Bt/8/IN9gwAmbew1yaM0bkzg9r1uR06c6pd67bfIjc5pbcOHtL4
+ nCuV1OjJB+5Q18mjOt09ouKaVdpx5zr97MjrspMpDcWSumPnIxo8vF+HWi2NDK3VIw/ffckh
+ Vt9+s86f7tSqu1er+0yPbrpttSRpbuy8Xj/ynlIKauMd96u52tKxQ4c0MJ3Wuju2Sem4jr/1
+ mmLDE1pzx06trUups3NCS2sqruGvZ5SanVRXV5faz57Umc4hBSubdM/mtRn9NgJAJixoABil
+ NJgK6daKep2O75etteo58Y5K123TfbXF2v3yyzKJfr3bMqkNG9ao68Tb6lp7iyan4rpj+y5t
+ ibfoza6Y7r/3Pg0XBvT4/WskXTqFESxulIm1KG2a1ZsIak1pQKOSgpESrVxzs+zEmE6+d06l
+ jbNKLtusJ3ZUKJlyNGlZWrHuTt27ZUavH+7UzbVLND4+c21/P9fR7u9/S22zS3X33XfqV+7/
+ jJYvKVfAytz3EAAyZUEDIDV8Vm1dA0q+8KJi/X1qG7eViAfVVFcmyVXQsqR4TPFAVJZlaeXm
+ e1QTlXqLSlVRFJFrRxRwP3nO2rICai4zau3pULh8pQLucUlGHaff13R0qUrDUaWTM4pPzKn6
+ lioFAgEVRgNSqEhVFUWynLQKAtc3L24FgnriN59VYWH0utoDwEJasAAwxujsqT595gu/rsZC
+ S/Zku/a/1647G4t1+NA7aq6KaGgyJatypaqcVtmmRmZ2VvZ8nUVKlRh5Ty3tEa1a3XDZ2/Xr
+ b9Lf/+2revC3viCdPi5JmkukFCoJKBmfVNIJqm7tau09/KbUXK3iyrpPrHt4cFBL6mo1Ozoo
+ q6xOJQXzf9ayrMtO/sZ1ZLtSOBS82m/VNTOuo9PvvK7OoRlZ4WLdcd821ZZFsnY8APkh+LWv
+ fe1rC3WwcHm1lpUVyZJkRcpVWRJWWXWNIpYtY4U0NT2j9WvXacWKZYrH51RUVauaiiJVVpQr
+ Go1KwUJVlBUrWliuZZVhJZygqipLNTQwpLq6WlnBQpWXFauwqFw19TVaXlWmSGm1KkqLVL98
+ qeamZ1VRt1Jrm2pVUlmn2qqw4kmjJUuXasmSKhVFowpYIZWXlylaWKrqqgoVFhYoPjOjotIS
+ pWdnZEVKVXAN5/KBE6/oewf7dPeGlVn7vkpSQUmVNt56m+rLZnT01KzWNFVffC+VSikSIRAA
+ XMrz+wDmxnr0+pETSpuAVm64Wxuaq6/c6BJGLS3tuvnm3NxyORWPaWwukPW9gNLxcbV19Wio
+ f1Qrt9ynFVVRue6F5afT09MqKSn5hRZGwfFzspwrrpEFkKc83wyusLpRjz7eeAM9WDl38p/q
+ Oa7vP39ICloyriPXCmvt1p166O61WV13awVCKiy0NDEZ14qqT56HsBKTsk79UL84iQ7APzwf
+ AeSjkePP6cX+Zm1pDMtNj+vQ2+cVnenVtt/9itaWZf54xk0qNpFSRWWJEpPdeiTg07cAAARu
+ SURBVPXIsJ589K6L7897J7AxUnpWcjN3Sx6AxcXzEUA+ch1X8aSjlavXKT50VulgVDs3LFEs
+ LikbAWAcdbx3WIPTCQUKinT71nuv3MiypILizBcDYNFgBJAFbmpSz/3t/1bHRFpOytVDv/pF
+ 2W3HtG7XI6rI3mKgj8VeQADmQwBkwWj7u3q3P621q1ervrZaIY/vBCMAAMyHS0BZUFy1TIHT
+ h/TcPxxUKFqurQ88onvXr/C6LAC4BM8DyIJoRZ3uum+7Hrxvq5zRFu1/66TXJQHAZbgElAWD
+ J1/V/3rhqOpX36otm9brpuYVioS9y1ouAQGYDwGQBalEXCZUKCs9o66ODo2lC3XvJu92BCUA
+ AMyHOYAMMsZodnJYrS0tOnbksNq7OmWqNujJpz/jdWkAcBkCIIOMa+u7f/5Hshs/pR33P66N
+ DXuVuuNfaxvzvwByEJPAGWRZAd29fZeC8X4d2P+Kjpzs0eBAn1I2j4QEkHuYA8gC49oa6etW
+ S8spHT12RlUb7tdvPXEVd+dmCXMAAOZDAGSZMa4SiZSnD4khAADMh0tAWWZZAZ4QBiAnEQAA
+ 4FMEAAD4FAEAAD7FfQA+lbYd/dPBc0qkbK9LAeARAsCnJuNJPff6GQIA8DGWgfoAy0ABzIc5
+ AADwKQIAAHyKAAAAnyIAAMCnWAWUF4zsxIzO9w7IhEvVtKJOIW+fQw9gEWAEkAeM6+rEsSOK
+ p1xNDZzS0dMDXpcEYBFgBJAPrIBuv/tBhYJBTQ6ldbw7eVXNEvE5OWnuAwD8igDIA5ZlKRiQ
+ zp89pnNDtu65b4OMMbLtCyf3dDqtZPLSUJgZm9LBb78kcRcI4FvcCJYHjHHV+d5bGrZqtWXj
+ KhUELp0AmO9GMNdx1X2sRTZ3AgO+RQDkASc9qf/3w1e08Y7bZclS+dLlqq0qufg+dwIDmA+T
+ wHkgEIxo69bbxcIfANeCEYAPMAIAMB9GAADgUwQAAPgUAQAAPkUAAIBPEQAA4FMEAAD4FAEA
+ AD5FAACATxEAAOBT7AbqU7HZMf3hni8rYSe8LgWARwgAnyouKNEDa3YpSQAAvsVeQD7AXkAA
+ 5sMcAAD4FAEAAD5FAACATxEAAOBTBAAA+BQBAAA+RQAAgE8RAADgUwRAnjDGaGp0QJNzjtel
+ AFgkCIA8YIyr82fe1k9/8oJODsx5XQ6ARYK9gPKCpYr6W7QjMKczXpcCYNEgAPKAZVkqLy9X
+ bODD14wxsm1bkpROp5VMJi9pMzs7pf1n+5V2uGQE+BUBkKcsy1I4HJYkhcNhRSKRS95Pp0Kq
+ LK2QCRR4UR6AHEAA5AHjptXT0aGR3iENhdrVXdSoptqqT2xTUlqpXRsrF6hCALmIAMgjJY2b
+ tMHrIgAsGjwPwAd4HgCA+bAMFAB8igAAAJ8iAADApwgAAPApAgAAfIoAAACfIgAAwKcIAADw
+ KQIAAHyKAAAAnyIAAMCnCAAA8CkCAAB8igAAAJ8iAADApwiAPOGk4upsa1Hf6JTXpQBYJP4/
+ woPzHI/MKR8AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94
@@ -12730,165 +13266,146 @@
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
- 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
+ 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
- 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
+ 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
@@ -14168,895 +14685,732 @@
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
- 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
- SUVORK5CYII=
+ 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
@@ -15334,838 +15688,715 @@
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
- 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
+ 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
+ IyYbwTIXAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAAYAAAAD+CAYAAAAzmNK6AAAACXBIWXMAABJ0AAASdAHeZh94
diff --git a/VisualAnalytics/Tableau/Templates/SnapshotsExits.twb b/VisualAnalytics/Tableau/Templates/SnapshotsExits.twb
index 9956e52..b9b34de 100644
--- a/VisualAnalytics/Tableau/Templates/SnapshotsExits.twb
+++ b/VisualAnalytics/Tableau/Templates/SnapshotsExits.twb
@@ -1,6 +1,6 @@
-
-
+
+
@@ -2184,7 +2184,7 @@
-
+