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

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionAppDynamics 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

+

+ + + + + + + + + + + + +
ControllerApplicationIDFile NameFlame GraphFlame Chart
+

+

Tiers

+

+ + + + + + + + + + + + + + +
ControllerApplicationTierTypeIDFile NameFlame GraphFlame Chart
+

+

Nodes

+

+ + + + + + + + + + + + + + + +
ControllerApplicationTierNodeTypeIDFile NameFlame GraphFlame Chart
+

+

Business Transactions

+

+ + + + + + + + + + + + + + + +
ControllerApplicationTierBusiness TransactionTypeIDFile NameFlame GraphFlame 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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 + aMv5efPQVS4AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAAYAAAAFSCAYAAAD7MQibAAAACXBIWXMAABJ0AAASdAHeZh94 @@ -11216,229 +11801,180 @@ iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94 - AAAgAElEQVR4nO3deZgU530n8G9XdVX1PSdzwTAzDDOcQlwSNwgdCN1WLNmJEseOvbafJ3mS - 9bP7eNdeezfebDbOxvHGcZ7YsdZKYscbr+34BHQaIRAYJBACgTiGa4Bh7rvPOnv/6OnRDDMM - zNFd013fz/PwPPQxVT+aqfr2+9b7vuVKJpNJEBGR4wh2F0BERPZgABARORQDgIjIoRgAREQO - xQAgInIot90FEBHlnEQfdu3ajba+OAA31j74BFYvmDND2wO8RZXYvn4Zzl/px7atqzN2omYL - gIhoshL9ePdsJ578/c/gM5/55JRP/j/71p9h75l2wFOEJ579GNaUGhDrN+Njzz6BQs8M1zwO - tgCIiKbLHMR3vv5NbPrYf0D54DF897UOfHRLMX7+69MQrDgWbv4w6mMH8P3DGlZWajjVoeBT - z23DsXfPw+r7VyDxITywesGoTRqRPhw6egLLqpP467//MVbevQAnTrbg3vV3o+mdo1j723+C - ZTiHH4/YxxMbGiZVNlsARERTMNh1Cf/6j8/j+ef/BWc7TKxdUoH3L1zHpffPomHNYuz75R7E - 4Ybk0nHgzSPQAMxfei9++3c/imKjE67CJVi7ahEeevq5MSf/m4UqG/HMxz6ONXVBLN/8OH7r - wZXo627HqzftQ53kv4EtACKiKQjNqcdzn/wMKoa6agb1VXjj5cMYjEVx/33V2Pt6EA9/+Hdx - T20hAODM3hdmuAILpjh6H5PFACAimoJ0CyDgHroIXNOA0LUXcLFqJz5RXIgdO9biH57/Bt6p - q0ZV/SrUjrONZcuX4F9++n0I2rPYvrJukhX4x+zj0fsnd8HYxbWAiIicidcAiIgcigHgAK2t - rXaXQESzEAOAiMiheBGYiMgGeqwPx946ijCCuGfdWhT5pKzXwBYAEVHW6Tj+5kGULt+ETctL - cfDN49BtqIItACKirBOgeBXASiIJQPEqtnwbZwAQEWWdgPKqMhx7+3WchQvzl6xlABAROYLe - j9MXonjw8SfhRRyHXj6I/ppKFGX5MgADgIgo26QQ5peoePmXv4QAC8GqpQhl/xowZwI7QWtr - K6qqquwug4hmGY4CIiJyKAYAEZGN7JypzwAgInIoBgBRDmm/eAJ7du3BmSvtdpdCeYABQJQj - rL4zeOOChUceewRqz2V0xTl+g6aHAUCUI1xuHyTBBAC4RQESj16aJv4KEeUIl68U5clO7Nq9 - C72qBz7JZXdJlOMYAEQ5ovP0AUhLd+CpJ59CRbEPVzujdpdEOY4zgYlyxJyG1Ti455fYdVKB - 6A1h67YGu0uiHMcAIMoRLl8FfuvZZ+wug/IIu4CIiBxqymsB8T6zuSMcDiMYDNpdBhGNw87j - k4vBOQAXgyOavew8PtkFRETkUAwAIiKHYgAQETkUA4CIyKEYAPnC0vDuwdew55V96I1bdldD - RDmAE8HyxFuvv4yylQ9gRdBCWDcAyHaXRESzHAMgLwyisw9Q392PJncJtm5dN+67tKgKPaJm - uTaaSf7y0LjPJ60kEn1RWAZbf7lCkEV4i/wAUv9/6mAcpmpkZd9urwQl5GUA5IcY+gcFPPCh - nUj2ncWr+07iqQfvhq7rAADTNJGIJ9Dy5gWofTGba6XpKF5WieJF5WOeH7jSja4TLQBn9eQM - UXFj7tYGGIaBSM8gbhy8BDOhZ2XfgiRi7taFDID8UAx/kQWvJMBVtgA+620AgCRJAABRFOHx - ejB/cyP0KFsAuar9+FVovTEoijLmNSOsQfLJqFhdA1HiYZ0L0t/Cw60RBOcUoOa+RbA0M+P7 - VQfjaD9+Fcm4yQDIDzLWLy7Bj3/yCyiCgcaNO8d/V0CBHBh78qDcIAUUqAPxMc8nrSS0cAJy - wINgVRFcAu8TkIvS3UGZ5vbJEBUJWlRlAOSLqqWb8NGldldBmaQEPQi39I15PmlaMHUTcsDD - kz/dliiLEGURelTlMFCiXCGHvABSF/NHMlQDpqpDCXnsKItyjFuRICpuqINxBgBRrpD9qe67 - m0dyWboBUzMh+dm9R3dG9iuwNJMBQJQrpKHrN2NaAAkdlmFCDrIFQHdG8iswdYMBQJQrZL8C - l+CCNjj6QrAWVSG4RYhuHs50Z2S/ApMtAKLcIvmVMS0AdSABt+KGqHBMB90ZKeiBZTAAiHKK - HFCgDSZGPadHVQiym+P/6Y6JkghRcjMAiHKJHPKOagFYugk9rkHyyhAk0cbKKJekh4IyAIhy - iOxXYOkmTC21ZoxpmLB0jgCiyREVCaIiMQCIckl6pI86dCHYVA2YqgGlgCOA6M4JogC3hwFA - lFMkb2p9Jz2qARgxBDTAAKDJUUIeBgBRLvEMrRczsgXgElwQ2f9PkyQFFAYAUa5JTeJJrRqp - DsYhKm6IimRzVZRrlKCXAUCUayS/DGvoIrA6mIAouSHKbAHQ5AgcBUSUe9KzOJNWEkZMhdsr - QZQ5B4Amh/MAiHKQHPLCVPXUHw4BpSniPACiHCT7FRiaAXUwkRoCymWgaQpEmS0AopyTugZg - QouqMDUDbo9sd0mUoxgARDlGCXlhqDoSvVG4BBdv80lTxgAgyjGi7IbgFhHvjUJwi1wDiKaM - AUCUg5SQF/GeyNAcAI4AoqlhABDlIMmf6vd3eyQuA01TxgAgykHK0A3iRUWCS3DZXA3lKn51 - yBOHX/wJ2k0P3AAa127HosqA3SVRBqUnfnEIKE0HAyBPRJRCPP3AQ3aXQVmSvvDLSWA0HQyA - PFHiVrFr1y7EI1Gs3fE0FpQo0HUdAGCaJlRVvc0WKJckhSTgAlwekf+3Oc4wDNv+D13JZDJp - y54pM/Tr+NUr3Xjy8VXDT7W2tqKqqsrGomimWaaFWFcY/rIQrwHkODuPT14EzguDOP72WeiW - hdbzTVDKSu0uiDJMEAUEKgp48qdpYQDkhRBqK1147aU9uKhV46F7q+0uiIhyAK8B5Ini6sV4 - tHqx3WUQUQ5hC4CIyKEYAEREDsUAICJyKAYAEZFDMQCIiByKAUBE5FAMACIih2IAEBE5FAOA - iMihGABERA7FACAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAg - InIoBgARkUMxAIiIHIoBkE/0fvz6tcPQ7K6DiHKC2+4CaOYce/MgunoBDYBsdzFENOuxBZAn - wtePI1q8GlUB0e5SiChHsAWQD8wIDp+N4cEdVXjzxsnhp3VdT71smlBV1a7qiGgChmHYdnwy - APKANtADVe3Dnl27cPXCRXQHyvDhbWsgSRIAQBRFKIpic5VENB63223b8ckAyANycQ2eeKIG - ALB/z0tYs22NzRURUS5gAOSZbY89YncJRJQjeBE4Q+KD7Xjv7FVYiTD6ohyYSUSzDwMgA/TO - k/iLr38PP3vlFQhSArt+9prdJRERjcEAyID2c8ew8bnPobYQgKAgPNBud0lERGPwGkAGzFvz - MH74119F0/VrOPGbQ9j0yT+zuyQiojFcyWQyaXcReSlporenD96CQngle3O2tbUVVVVVttZA - ROOz8/hkCyAD2t/djf/+/J7UA8tA+dqn8JVPP25vUUREN2EAZEDFqsfx7W8PnfC1Nvz81WZb - 6yEiGg8DIANi3Vdx7MzV1AMjgvcvd+FpbLC3KCKimzAAMsCID+LGjRtDjyQ897sfsbUeIqLx - MABm2N5/ex6Xekc/d/zEGSx4gMszENHswgCYYVV1iyGVjX7OP6fUnmKIiCbAAJhhS9ZsxRIA - 8YEutPWEAQCyP2RvUURE42AAZECi5TC++I1XoMXasLy6EH01T+JLz22yuywiolG4FEQGdF48 - jSf+6L9h9ZqV+MMv/ilqrVa7SyIiGoMBkAGVDXej5/oVVGid+NM//5+4YZXd/oeIiLKMS0HM - MF3TIMnpW7InkUho8HjsvRsXl4Igmr24FMQ0tbW1o7KyYprbaENlZeW0a/nh33wOv7lRgDX3 - rsH9DzyE+sqCaW+TiCgTst8FFLuCv/2Lv8f1+DS2ofWgqbln+GFb24jllo1u/ONf/hXO9FmT - 2mR7e9vw37tP7cNffX8PJreFlN//z9/Ct//mK9iyuBSv/+y7+Pznv4B/eentKWyJiCizsh4A - V05cwM6Pbce5Uy1DzyRx+b1D2LXnRRw5dRkAEG6/iBf37MHp5m4AQPPVSzh37AD2vHoQURN4 - Z/9u7N69G7tePYyb77XVffYUVn70w2g5dR4AoPU048TJk9iz52Vc60mlTvOFUzi092Xse+t9 - mOPUeKpNx4cXyTjfP5UIAFyihJI5ZQgFQgh4gMFoYkrbISLKpKwHwIVIEo3Vi2H1nQEAdJ0+ - gMvJGjz+yMNobz4NWH04enYAOx95BLHzh3AjDjSdOApPzSo8sNyLw6c6sWbDRiy6ayOe2LEB - 8k3bP9WmY3ldPRC/CguA1nsV7ajEIzu24J39e2EAOHeuCSs278CyQDvePN0zegNGN3SxFPUr - GnH1xPlJ//t++Z0v4w8+9Yf4518dwvw1D+PLf/aX+KNntk7psyIiyqTsXgOIXcHZ081Q1T24 - fuEaWrbtQGe3C+vumwcXAMktAt3X8N6FJkQjrQAEVJuAUlyF2jlBIBKC1D7Bt3KjG03vn0NE - VdF56SLOr9uBagBl5WUQJKAm4MUAAF9hKYKKgOCyZXjv1XZgecnwJrrPvoNz18JQYzdwsT2C - HfctmVRKbv3If8RTny2a2udDRJRFWQ2AK++ew0N/8GksLRKgd57E66dasDyg41RzL+4pd6F3 - QAOK56E8cB07HnsMWlcLzJu/4gOAW0Ii3AvLsuASPjg9d589iZXPfBrrqr1IRi7jpWPnUT0X - MA0DerQfzYkkVgJImgaspIWrb59AoGH0Kp0nr5v49B88Ay+Ay4dewvl+C0sK7zwCiorsOfm3 - XTyJd89fg1QwD9s2roLMAb5EdBtZPU0Yc+qxuCi1S6lsKRYU6Ji79j4EbryDvUea4A3IgLsE - j21fjL0v7ca716MISEDN/JrUBuRi1FQGAE8N7p4bxUv7jkEfsf2YXI0V1V4AgCtQh4a5qXw7 - 8/ZevHrwFLY9tB0CgHhvC15+8UV0Bpdifd3IUTo6qhcuhnfoUd3K1XBHI+hpPoXmHg2ItOGd - 822YjL6LR/CDl45M/sOalCQ0MYgdjzyOdXUmXtk/+a4rInKerLYAGhobRzyS0NBYh0jreVzp - iUPAIIorVwIAQpUL8ehjC4ffWVuTDoAS1A6N1Fy4agsWYrT5i0Zu34WGhgZELrTiro0PY/WI - UaK+ObXYumXbOBVKaGxc8MEW/OVo8APAXUh1ElVizaLJ/IsBpbASS2on9zOT50JN3QJYRgLX - r/agcv6C8d82cB2IdWe6GCK6E3IAKGlI/T1pAT0XAD2W1RI4ESwDRt0QBgAgYuGKNagq9GRs - n1pPM14+eAKi5MXy9fehpliBrqfaR+3t7SgrK4N86ntwhVtusyUiyoakUgB96e+gfdBARcgN - 6fQP4NIjWa2BAZAB8cu/xtd+0YKGSgUwe/F+Uxx6ZAB/8tX/gbmZnhSc7Mfu3e/h8Sc+GHk0 - PNPQMgAtnOECiOiOCG5ADn5wfBpxwMjukPG8mAk82/S1tWDp9qfwzKoiIBnFd57/ER5uCKKp - HZhbk4k9hvHaz15DQpJg6gnMveu+8d8muAEPRygRzUpub+pPFrEFkAmJDvz5f/kfMMvmI3L9 - Ilb/zhdQcuUAlv32JzBXyn45XAuIaPay8/hkAGRArLcdMbkIQdGEIHshiS5b62EAEM1eXAwu - zxjhNvzT9/8O7XEJK9dswKM7t6PEP96EBiIi+7AFkEGWHsbP/+Ev8KuOOnzvzz9jWx1sARDN - XmwB5Jn+K0fxzf/zQwwki7B20w58899tsbskIqIxGAAZIBfV4HP/9WsIeUUAFvr6BgFvod1l - ERGNwgDIAE8giPcOv4o3j7yNE2du4N4PfQKffWqj3WUREY3CAJhhP/3Wl3HkuhuLlixBfZmE - 5R95HtszMvafiGh6GAAzToDHI8Mty1AsGwb9ExHdIY4CyoCkqeLssYN4/c2DOH2xF+uffA6f - eHSdbfVwFBDR7MVRQHnGJSpYuu4BLF33AIYvAhMRzTK8bUjGCSgq4gggIpp9GABERA7FACAi - cigGABGRQ/EisIMcb2rD+es9dpdBRACKAh7cv7oOAGCaFvYev4KewXhWa2AAOMgP955GEwOA - aFaYOyeIVY2pm5x39kfx//aeznoAcB6AA3AeANHsZefxyWsAREQOxQAgInIoBgARkUMxAIiI - HIoBQETkUBwGmife3b8L1wYAMxHFwo2PYsW8kN0lEdEsxwDIE0vX78AqRQHMG3jptWasmLdi - zHtM3YRlmDZUR0Q3E2U3BPGDThhD1ZG0sjsqnwGQJxRFgRHpwCuvHcWqh54AAOi6DgAwTROq - quLIP/4a/S2cCEY0G3hCPtz78e0wDAN97T14+3uvI8GJYDQVkdazeO3dDjz08DYE3K5Rr6Un - mgy09aL7Soct9Z0/dRKlZeUoKa8Y81pnWysG+nrQsPQuGyqzT193FzrbWlG/eAnckjzm9Qtn - TqGgqARllc6ZxKclErh25SJKyypQWFI65vW269egqQlU19VDEEUbKpw5SsCDqmU1aO9oR0V5 - BboutSHSPf69Q3o7O9DX24P5dfWQFGXUa7qq4tqVSygqLkFxWfmkamALIC8YOHjiGp587GFM - dEgUVBajoLI4a1WN1Bpthq8kiPrVS8a8Fj02CCOkoX7j2NfyWXdHEfqOdKH8rnkoLC4Z9Zqu - 67jcdQZzl8/H/PoGmyrMPjWRQG+yC4GyEOrvGvv7EH6rH5oqY8HGJRBzPABGEkQB5Y1zUd44 - d9zXvdd8iJwexNzVtQgWjL6/yGB/H1qjzZi7ohZV82sntV8GQF5IwGtpeHHXLgBAVeNarFlU - aXNNo3m9PiRi0XFfi4bD8AeCWa7Ifl6fHwCQiMcAjA6A9GflGXqPU0iyDFmWEY2Ex7xmGAbU - RAxefyCvTv53wuv3wzQMqIkEggWjX9NUFZZlwesPTHq7DIC8EMC2x5+wu4gJeXx+9PV0jfta - Ih5DYbE9LRM7+YOp0AsPDKBibvWo19InQK/Pl/W67CQIAhSvF/FoBIZhwO3+4BRl6Bp0XUeh - 4rGxQntIkgS3JCEaCaP0pm7URCwGtyRBkqRJb5fzACgr/MEgErEYTHP0KCQ1kYCh645sAQCA - x+eDmkiMeT4aDg+/7jRenw+aqkHX1FHP65oGXdMc+bviHgqARCw25rVoJAxJliHJyjg/OTEG - AGVF+pts7KamvaamTn5O6+pI83p9Yz4TIPW5yIoCaZyLw/nO6/XDNA2YhjHqeTWRgGkY8AYm - 39WR6yRZgSwr43aNxWMxuN1uiO7Jd+gwACgrPN5UAMRv+gbj1K6ONI/Pj/g410ai4fDwNQKn - 8YdCMHQdifjoIZGamoAgCFPq6sh1oihCVhTomgpjRDCmr4soHu+o7rI7xQCgrEj3d998skt3 - dfgc2KwHUp+Lpqpjusbi8ZgjuzoADH+b1dTRXUDRSBiyxwNZmXxXRz7wB4PQdR2Grg0/ZxoG - DMOY8pcFBgBlhSTJcEvSuF1AsqI4blRH2nhdY6ZpIhGLwRd0ZgCk+rNlRCOjx8THY7Ghi6HO - 6xYDUl1jhq7DGJrgCQC6pk7ruggDgLLGHwiO7QJycFcHgOEDd+Tnkr4uojhwtAsAiG43RNGN - aDgy/Fw6FKfa1ZEPfMEgdE0b1TWmquq0roswAChrPD7fmABwclcH8MEon5EX9z7oFnPexU4g - 1VpUPB7oWmp8OwAYug5d1xz9ZSE9FHRk15iuqnC5XFO+LsIAoKzxB4Ls6rhJumts5CS51MQw - OPpk5w8EoQ0N+wQw3PXhxGGxaW5JgtstjeoaSw0BVSDJU+sWYwBQ1qT7u9MXgtNjmp3a1ZF2 - c9dYNByGW5KgeJz7uXh8Phi6NtzfrQ31dTs5FNNzAbTEBy2AaCQ83DKYCi4G5wDpxeC+vu+r - ONtx2rY6SlCEB73bsV87hHazA5Wucmz1bMLr2gF0md221WW3e9yrUSGVY1f8JQDAFmUjlKSM - X2tv2FuYjSqFcmyWN2Cf9ia6rR7UiNVYI63EPvVN9CX77S5vRhT7SvDvt/0nuKICpJAb39j/ - v9ARbp/wZ7bKG+F2SXhDPQAAuE/ZCiOp44D2mynVwABwgHQA/ObKm7jY3WRbHUpSRnGbDz2h - AWiBJORBASWRELoqwjAE596nIBD2IBj24EZ5DwRRRGlHAJAFdBeNvzKkEyi6hOKeADp9vTBD - LgQiCnwRBT2lEZhuy+7yZkR14XxsWrAN3R3dKC0vxavnXkRvbOLl2kvCIbhiFnpKI3C5XCjp - DkCVdQwWjp1NficYAA6QDoDZYO+un2N+fQMali7H2ZPH0X6jBdsffdLusmzVeq0Z77/7DjY/ - tBOy4sEbL/4K82oXYNFdd9tdmm1ikQiOHTqAuTW1qF+8FKePH0NkoB9rNm/Nu9nRkzk+rzSd - x7XLF7B20zYAwLFD+1HbsAg1U1wx1pnjqcg2Hp9/eJSLmkgMzxB2svQyGNFwGIIgwrKs4Ylz - TjXc360mYFkW4tEIJEWBKDr7lOUfGgqqaanRP4auT+samrM/Tco6r8+HRDx1ETgaiSBYUHCb - n8h/3hFDQdM3OXF6MMqKAo/Xi8jgIAxdh2kYULxeCIKzx60oigKXywV1xFyA6Syj4uxPk7LO - HwgiGg4PDQGNOnpUR5rX54cgCNBUdXhklNNbAEBqdJhhGIjHYtA0DcFQ4e1/KM+lhnwqiMdi - UNXEUEtp6l1ibAFQVnl9PliWhVgknLqJhYPHdY/kDwaHu8YEQWAwIrU+VE9XZ+reALrG3xWM - WBZ6qBU9nTkAAAOAsiy96Ft3R/uox07n8fqRiEchiAJkB4//H8nr80HXVIQHB5BMJhkASHWN - ybKM8MBA6uY5Hs+U5wAA7AKiLEt/s+3r6R56zIMaSH0O0XDYsbfHHI/i9SKZTCI80D/tro58 - 4vX5oWkqEok4JFme1nURBgBlVbpvu6ezg10dI4zsGmMopshD3Rs9nR3DXR80tKZWNIp4NDrt - LwsMAMq69Hou7Or4QLorzLIstgCGjPzWn14ziUavETXdLwsMAMo679AQR57oPjDyoHbq7TFv - Jsky5KELnB6fz7H3jLiZ1++Hy+WCy+WC1z+9FWMZAHlisK0JP3nhG9h/IXL7N9ssfYJjV8cH - Rg775OeSIggCFK8XAD+TkdKLv7kladq3x2QA5Il+TcbDW1bZXcYdSZ/s2AIYLd015uQlj2+W - PvHzd+UDwyd/WYYkT+/2mFwLKI9ELuzHO1iDbQ2pZqE+tJRue3s7SueU4XSnivawPtEmskLX - dSTiUciKx/FLQY8UjYRhWSYnPI2gaSrURBxeXyDv7gQWUESsrvRgoKcToeIynGhPIKze2aKI - sWgkNTTWH4Dgck25hvz6RGmUdPNQFEV4PQokUYdfmQX9qIoIBHjiv5lf4Yn/Zn7FBwTzs0Xk - lQR4FRlRtxseRYbi1nCn65z6lZlZQoUB4CAr5zrzFoNEs51HErChNpT1/TIA8oKGw6++gm4V - APZh/2Ajtq1ZZHdRRDTLMQDygowNO56wuwgiyjEcBURE5FAMACIih2IAEBE5FAOAiMihGABE - RA7FACAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAgInIoBgAR - kUMxAIiIHIo3hMkTl4/txTstUZhqEjuefgrFst0VEdFsxxZAXojjfJeAZz/0JJ7d0YCj71y1 - uyAiygEMgLwwAEWqAACIRVWQoz0210NEuYABkBdEGEY89VcrDt1izx4R3R4DIC+UQkhcRHfC - xMXDx1C4pN7ugogoBzAA8oIL2x9+AKfeeBk9hXfj3mq/3QURUQ5gX0GeEL0l2L7zMbvLIKIc - whYAEZFDuZLJZDKTO2htbc3k5ukOhMNhBINBu8sgonHYeXxmPADIfq2traiqqrK7DCIah53H - J7uAiIgcigFARORQDAAiIodiABARORQDIF9YGt49+Br2vLIPvXHL7mqIKAdwIlieeOv1l1G2 - 8gGsCFoI6wYArgdNRBNjAOSFQXT2Aeq7+9HkLsHWrevGfZcWVaFH1DvequRXIAeUO3qvqRlI - 9MXueNtETifIIrxFqWVbklYS6mAcpmpktQYGQF6IoX9QwAMf2olk31m8uu8knnrwbui6DgAw - TROJeAItb16AOomTtKC4UbdzKVzi7XsKr+09B20gMeV/AZHTiIobc7c2wDAMRHoGcePgJZgJ - Pas1MADyQjH8RRa8kgBX2QL4rLcBAJIkAQBEUYTH68H8zY3Qo3fWAoh2DqLr9A1AtaAUeSd8 - r2Va0AYSKKwrRWHdnOn9U4gcwu2VoIS8CLdGEJxTgJr7FsHSzOzWkNW9UYbIWL+4BD/+yS+g - CAYaN+4c/12BO+/ScYkudJ2+AS2qwVM08eqixtC3Fn9ZCP7y0ORKJyIAGO4OyiYGQJ6oWroJ - H106c9tTQqlv/epgHEDRhO9VB1I3o5FDnpkrgIgyjsNAaVyi7IYgiXfUZZR+j+y/s9YFEc0O - DAC6JSXkvaMA0MIJCJIIt5dDT4lyCQOAbknyy9DuYNioFlH57Z8oBzEA6JaUkBdaOAHLnHhm - sToYh8QAIMo5DAC6pfRJ3ZhgbLJlWtCjKqQ7HF1ERLMHA4BuKd2tkx7lMx5LM5C0klCCHAFE - lGsYAHRL6W/1WvjWM3zVwdRr7AIiyj0MALol2a/AJbhgxLVbvic9SkgpmHi2MBHNPgwAmpDk - V6BO2AKIwyW4OAqIKAcxAGhCSoF3whVEjYTO8f9EOYoBQBOS/MrQchDjS/TFoHAJCKKcxACg - Ccl+BUkrecvrAEZC5wVgohzFAKAJyUPDO7VxloQwNQNGQh9eOI6IcgsDgCaUXq7h9QYAAA7E - SURBVD5aj45tAaRDQfLzGgBRLmIA0ITS3+4TfdExr2mcA0CU0xgAdFuSXxl3OYj0xWEOASXK - TQwAui3JLw/P+B3JSOhweySIMu8rRJSLGAB0W/IthoJyFVCi3MYAoNuSQ15YujlmWWg9qnEO - AFEOYwDQbaUvBGsjWgHpZaBlDgElylkMALoteWiYpzZiKGh6ETjJI9lSExFNHwOAbivdzz/y - OsDwCCB2ARHlLA7fyBOHX/wJ2k0P3AAa127HosrAjG1blN0QJHHUDeKNeGpYKIeAEuUuBkCe - iCiFePqBhzK2fSXkHRUAif4YBEnkSqBEOYwBkCdK3Cp27dqFeCSKtTuexoISBbqe+pZumiZU - 9dZLOt8Jt19CpKUfZ//tGAAgaVqQC7zT3i6R0xmGYdtx5Eomk0lb9kyZoV/Hr17pxpOPrxp+ - qrW1FVVVVdParKkZ6Dp9Y9RzxY0Vw2sFEdHUzMTxOVVsAeSFQRx/+wbuWrsIXeeboJQ1zvge - RNmNitU1M75dIrIPRwHlhRBqK1147aU9uKhV46F7q+0uiIhyAFsAeaK4ejEerV5sdxlElEPY - AiAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAgInIoBgARkUMx - AIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAICJyKAYAEZFDMQCIiByKAUBE5FAM - ACIih2IA5JFE7yV87/u7Ebe7ECLKCQyAfGElcOTYZRQHXTDtroWIcoLb7gJoZlw9fRQli9fB - derQ8HOmmYoCy7JgGIZdpRHRBOw8PtkCyANmpAUHT/dAireho7sbF5tb7S6JiHIAWwD5QAxg - 7ZolY58WRQCAIAhwu/lfTTQb2Xl88qyQB0RvIRYtKgQAxHv7sai2yuaKiCgXMADyzMoN6+wu - gYhyBK8BZEJSx3uHXsKPXzoMK96Js5e67K6IiGgMBkAGhC/sxxtXBLRePQVB8eHooX12l0RE - NAYDIAMS4R6U1i5FUDLR2XIeXYOW3SUREY3BawAZUHrXTsg/+AFOnLuClutdePTjf2J3SURE - YzAAMsAwkrjn/sewfEMckuKBN2B3RUREYzEAMmDw+mn88OcHUw/0AZhz78eXPvmQvUUREd2E - AZABJYs24wtf2Jx6YA7gJ784NPEPEBHZgAGQAX2XjuKHrxxNPdDjiBWOnaVLRGQ3BkAG+Ern - Y8sWz9AjEfPqG2yth4hoPAyAGfajv/sS3msf/VzFivvxxx99wJ6CiIhugQEww+7/8GewXh/9 - nOQrsKcYIqIJMABm2JyqGsBK4J0Db+ByVxgAUFC9FFVzCm2ujIhoNM4EzoD+c3vx64s6mpre - x/wCDVc6EnaXREQ0BgMgA+L93Vi++UHMKQxhyaYdSHaes7skIqIxGAAZULZkM4JqD+5ZMAff - /tYLKG1cY3dJRERj8BrADDv/3lvwlDVg84piCHf/Hu56yOTduIhoVrKhBaDj6qVr0G//xjvW - 1HQx9RczhkuXW2AOv2Ki5fJ5hLXbbyPc3z/i5wBAQ2dH/6Rr6Wx+D//3he/ga1/7a/zbnn1o - utIKzeBqoEQ0+2Q9APTOc9i/7wAu9EwjAuItOHyiZfhhJBIZev4G9u15Hc2DqVO5Gb6Kvbt3 - 40Lv7Td54eQpxKde0bAtT34aX/zi5/Gp33sGNUXAKz/6Fv7yhd0zsGUiopmV9b6Jc2fa8OAz - W/H+qYtYumUJLG0Qh988hN64haR/Dp7cfg+aT7+N95u74C9bgC33LsWJI/uhazo6euNYff9O - dL61F4fPA92djXh4x4ZR269ftRjXTl9G/cYGXD1zFY0rFwIAEr0t2H/kBLSkgGVrt2FBqYh3 - Dr2J1kENi1ZvAYwYThw5gP6OXtStvh/Lqg1cvtSNsvLJDd/UYgNobm7G5fOn8f6ldoihedg4 - zg3biYjsluUA0NGqilheWI33o6/CwBK0nDiGwOJN2FgVwK4X9wBqK46dG8Dyuxai+cRbuLJo - KfoHI1iz6UGsTVzAgUu9uH/DRrTLwGPbxi6xIPiqgb6zMFCPa1EXGgsFtAMQFR/qFjbC1Hpx - 6sRZFNUlEJuzEo9vKUJCtXAWLlQvXoNNaxN4/cAlLKuuRG9PZNL/wj0/+FucDZdg/fp78ZFN - j2PunAIIrhn46IiIZlhWA0DvPItLze3YvWs3+m7cwMVeA4mogJqqEFwuQBQEINKHqOCBCy7U - rVyPci9wwxtEoV8BkgrEZPI2e3GhvtCFpmuXIBYsgICTAIDLZ05jUClFSPHASAwg0pdAaWMJ - XC4BXg8AtxclhX64kIQs3m4ft7bzY5/H017vlH+eiChbshoAZ0+34ImPPYdqnwtm+DJee/ci - 1lUHceTgMdSVetDRpwJFdSixmmAky5GMx2CMdy5Wgkh0nsD5ix7UL6we8/LcZYvwxj+9im0f - /zhwLhUA8bgKt1+AFh1E3AIqFjfild8cgquuFL6iygnr7mhrQ2llJWLdrUCoCkH51u/13nTy - T1omDAuQ3OJtP5+pS+Lc0f241BFGUvRizcYtqCxQMrg/IsoH4le+8pWvZGtn7lAxygt8cAEQ - lBCKAhKCJXOguAxYgoSBwTCWLl6KmupyRKIx+IorUFboQ1FBATweDyB6URjyw+MNoaJYRtwU - UVwUQkdbOyorK4Zf9/oLUDq3HHOLQ1ACJSgI+jCvqgyxcBQFFbVYXFuJQFElKotlRBMmSsrm - oLS0CD6PBwJEFBSG4PEEUVxSAJ9PQTQSgS8YhB4LA0oQyiTO5V3v78ULr1/BhrvqM/a5AoDb - V4jlK1agpiSBQ8cH0LigdPi1cDiMYDCY0f0T0dTYeXy6ksnb9qlkVPrirJ50oXbZOiyvLb39 - D92kqekiGhsXZqC66dNj/eiKIuNrAZmxfjQ1X0PHjQ7UrNqEulIfTDM1GqqtrQ0VFRUQW4/A - Fe3MaB1EdGeSSgjWvE1o6+xBZWkhhJZDcOnRrNZg+wwlT/E8PPzovGltY7ad/KOtp/G9n+4H - RBeQNGEm3Vi45j48vGFJRsfdCi43fD4BfX1R1JX6xr5BHQQi7WOfJ6LsMxKpPwBgGUCsG1AH - slqC7QGQj/Sei/DUrcc9NTJg9WP/wStoP/hTnF/6ZSzJyMrQGgbiAhoWL4URC+GlfRewumEO - RDHVVyUIQmo28sKdgKlmogAimiSXS4AoKhD64xB9hcDyj6SCIIsYABlgWhYiCQO1C5dB7bkA - zeXGjrvK0BUFkJEASOLK6bfRNhiHIHmwcv3G8d/mEgA3RygRzUqClPqTRQyADChZtgPzjr2A - b//9QRgJDQ/8zmfRc/FtLC3P1B4VrNn2YKY2TkR5igGQAX3XL8DfsB4fWViPeRUlcAsuoH6n - 3WUREY3CAMgAX1EFpDOH8IsfHYSgBLFm68PYtLzG7rKIiEbh/QAyQCmswD0bNmP75nuBvst4 - 9eAJu0siIhqDLYAM6Dp3AN/9+WFU1t+F+579LBrr+O2fiGYf2yeC5SM9EYUleiGYUTRfvozO - hIxNq+1bEbS1tRVVVVW27Z+Ibs3O45MtgBkWG+jEhaYLOP7WYVy4chlm4RI89tQTdpdFRDQG - A2CG/fP//hLiVfdj2+adWD7v14is+mNsZQ8QEc1CvAg8w9ZteQhSvA1v7H0FR05dRceNFqi8 - JSQRzUK8BpABSctAd+s1NF04g7ePvo+CRRvxyae22FYPrwEQzV52Hp8MgIxLIh5X4fV6bKuA - AUA0e9l5fLILKONctp78iYhuhQFARORQDAAiIodiABARORTnATjI918+ifPXe+wug4gAFIc8 - +NRjqwEAg1EV391zHD0D8azWwBYAEZENPLIEUXDZWgOHgToAh4ESzV4cBkpERFnHACAicigG - ABGRQzEAiIgcisNA84SpRnDteitM0Y/a2rlw2zu4gIhyAFsAeeLk0cMIaxZiXWdx+L0bdpdD - RDmALYA8sWL9drjdbkS7TRw5nxj3PX0t3UgMxrJcGRGNRwl4UTi3BABgGSZ6rnbCUPWs1sAA - yBNuUUDL+eN4/0YCGzan7j+s66lfJtM0oaoqzu09ie7L7XaWSURDPCEf7vm9bTAMA4O9Azi1 - 5yiiPeGs1sCJYHni6qlDaDHLcM+KhZBvml2YnmiSCMcR64/YVCERjeSW3QjOKURbexsqKyoR - 7QtDi6nZrSGre6MMieHoiatYfm8prlxoQrCkClWlwTHv8gS98AS9NtRHRBNxCS4ESkJASXb3 - y4vAecGNtevWgAN/iGgy2ALICzJqGxfZXQQR5Ri2AIiIHIoBQETkUAwAIiKHYgAQETkUA4CI - yKEYAEREDsUAICJyKAYAEZFDcSKYg/REu9Eb67G7DCICoLgVzC2oBgBYSQvtg62IatGs1sAA - cJDvHPomznedtbsMIgJQFijH5+77AlwQ0BXpxNf3fRXd0c6s1sDVQB0gvRpoc+8VdEey+wtG - ROMr9pWgprgOHe0dKK8ox/nOs4ixBUCZUltch9riOrvLIKKbiIKIpRXLs75fXgQmInIoBgAR - kUMxAIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAyCPhnjb0x0y7yyCiHMEAyBMt - 547ijVd24eSNuN2lEFGO4FIQeSJY0YD77onh+ATvSegWVMPKWk1EdGuS6IJPFgEAyWQSMd2C - YWZ3aTYGQJ4oKCxEpGv0c7quAwBM00Q8oeKtlhg6I4YN1RHRzXyygI3zfTAMA72RBI5cjyGq - ZfcLGgMgj0mSBAAQRRFej4L6UqAsyAAgmg0Ut4ACnweJQTcKfB4sLgNUkwFAk2bi+qWL6Lne - gQ5cRLN/HmqrSse8q7pQAaBkvzwimpBbdKG+1Jv9/WZ9j5Qx3rl34267iyCinMEAyAsiqusX - 2V0EEeUYDgMlInIoBgARkUMxAIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAICJy - KAYAEZFDMQCIiByKAUBE5FAMACIih2IAEBE5FAOAiMihGAB5wtJjuHKxCS2dA3aXQkQ54v8D - V0VvSro5eBYAAAAASUVORK5CYII= + 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 + woPzHI/MKR8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94 @@ -12731,165 +13267,146 @@ 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 @@ -14169,895 +14686,732 @@ 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 - SUVORK5CYII= + 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 @@ -15335,838 +15689,715 @@ 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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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 + aMv5efPQVS4AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAAYAAAAFSCAYAAAD7MQibAAAACXBIWXMAABJ0AAASdAHeZh94 @@ -11215,229 +11800,180 @@ iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94 - AAAgAElEQVR4nO3deZgU530n8G9XdVX1PSdzwTAzDDOcQlwSNwgdCN1WLNmJEseOvbafJ3mS - 9bP7eNdeezfebDbOxvHGcZ7YsdZKYscbr+34BHQaIRAYJBACgTiGa4Bh7rvPOnv/6OnRDDMM - zNFd013fz/PwPPQxVT+aqfr2+9b7vuVKJpNJEBGR4wh2F0BERPZgABARORQDgIjIoRgAREQO - xQAgInIot90FEBHlnEQfdu3ajba+OAA31j74BFYvmDND2wO8RZXYvn4Zzl/px7atqzN2omYL - gIhoshL9ePdsJ578/c/gM5/55JRP/j/71p9h75l2wFOEJ579GNaUGhDrN+Njzz6BQs8M1zwO - tgCIiKbLHMR3vv5NbPrYf0D54DF897UOfHRLMX7+69MQrDgWbv4w6mMH8P3DGlZWajjVoeBT - z23DsXfPw+r7VyDxITywesGoTRqRPhw6egLLqpP467//MVbevQAnTrbg3vV3o+mdo1j723+C - ZTiHH4/YxxMbGiZVNlsARERTMNh1Cf/6j8/j+ef/BWc7TKxdUoH3L1zHpffPomHNYuz75R7E - 4Ybk0nHgzSPQAMxfei9++3c/imKjE67CJVi7ahEeevq5MSf/m4UqG/HMxz6ONXVBLN/8OH7r - wZXo627HqzftQ53kv4EtACKiKQjNqcdzn/wMKoa6agb1VXjj5cMYjEVx/33V2Pt6EA9/+Hdx - T20hAODM3hdmuAILpjh6H5PFACAimoJ0CyDgHroIXNOA0LUXcLFqJz5RXIgdO9biH57/Bt6p - q0ZV/SrUjrONZcuX4F9++n0I2rPYvrJukhX4x+zj0fsnd8HYxbWAiIicidcAiIgcigHgAK2t - rXaXQESzEAOAiMiheBGYiMgGeqwPx946ijCCuGfdWhT5pKzXwBYAEVHW6Tj+5kGULt+ETctL - cfDN49BtqIItACKirBOgeBXASiIJQPEqtnwbZwAQEWWdgPKqMhx7+3WchQvzl6xlABAROYLe - j9MXonjw8SfhRRyHXj6I/ppKFGX5MgADgIgo26QQ5peoePmXv4QAC8GqpQhl/xowZwI7QWtr - K6qqquwug4hmGY4CIiJyKAYAEZGN7JypzwAgInIoBgBRDmm/eAJ7du3BmSvtdpdCeYABQJQj - rL4zeOOChUceewRqz2V0xTl+g6aHAUCUI1xuHyTBBAC4RQESj16aJv4KEeUIl68U5clO7Nq9 - C72qBz7JZXdJlOMYAEQ5ovP0AUhLd+CpJ59CRbEPVzujdpdEOY4zgYlyxJyG1Ti455fYdVKB - 6A1h67YGu0uiHMcAIMoRLl8FfuvZZ+wug/IIu4CIiBxqymsB8T6zuSMcDiMYDNpdBhGNw87j - k4vBOQAXgyOavew8PtkFRETkUAwAIiKHYgAQETkUA4CIyKEYAPnC0vDuwdew55V96I1bdldD - RDmAE8HyxFuvv4yylQ9gRdBCWDcAyHaXRESzHAMgLwyisw9Q392PJncJtm5dN+67tKgKPaJm - uTaaSf7y0LjPJ60kEn1RWAZbf7lCkEV4i/wAUv9/6mAcpmpkZd9urwQl5GUA5IcY+gcFPPCh - nUj2ncWr+07iqQfvhq7rAADTNJGIJ9Dy5gWofTGba6XpKF5WieJF5WOeH7jSja4TLQBn9eQM - UXFj7tYGGIaBSM8gbhy8BDOhZ2XfgiRi7taFDID8UAx/kQWvJMBVtgA+620AgCRJAABRFOHx - ejB/cyP0KFsAuar9+FVovTEoijLmNSOsQfLJqFhdA1HiYZ0L0t/Cw60RBOcUoOa+RbA0M+P7 - VQfjaD9+Fcm4yQDIDzLWLy7Bj3/yCyiCgcaNO8d/V0CBHBh78qDcIAUUqAPxMc8nrSS0cAJy - wINgVRFcAu8TkIvS3UGZ5vbJEBUJWlRlAOSLqqWb8NGldldBmaQEPQi39I15PmlaMHUTcsDD - kz/dliiLEGURelTlMFCiXCGHvABSF/NHMlQDpqpDCXnsKItyjFuRICpuqINxBgBRrpD9qe67 - m0dyWboBUzMh+dm9R3dG9iuwNJMBQJQrpKHrN2NaAAkdlmFCDrIFQHdG8iswdYMBQJQrZL8C - l+CCNjj6QrAWVSG4RYhuHs50Z2S/ApMtAKLcIvmVMS0AdSABt+KGqHBMB90ZKeiBZTAAiHKK - HFCgDSZGPadHVQiym+P/6Y6JkghRcjMAiHKJHPKOagFYugk9rkHyyhAk0cbKKJekh4IyAIhy - iOxXYOkmTC21ZoxpmLB0jgCiyREVCaIiMQCIckl6pI86dCHYVA2YqgGlgCOA6M4JogC3hwFA - lFMkb2p9Jz2qARgxBDTAAKDJUUIeBgBRLvEMrRczsgXgElwQ2f9PkyQFFAYAUa5JTeJJrRqp - DsYhKm6IimRzVZRrlKCXAUCUayS/DGvoIrA6mIAouSHKbAHQ5AgcBUSUe9KzOJNWEkZMhdsr - QZQ5B4Amh/MAiHKQHPLCVPXUHw4BpSniPACiHCT7FRiaAXUwkRoCymWgaQpEmS0AopyTugZg - QouqMDUDbo9sd0mUoxgARDlGCXlhqDoSvVG4BBdv80lTxgAgyjGi7IbgFhHvjUJwi1wDiKaM - AUCUg5SQF/GeyNAcAI4AoqlhABDlIMmf6vd3eyQuA01TxgAgykHK0A3iRUWCS3DZXA3lKn51 - yBOHX/wJ2k0P3AAa127HosqA3SVRBqUnfnEIKE0HAyBPRJRCPP3AQ3aXQVmSvvDLSWA0HQyA - PFHiVrFr1y7EI1Gs3fE0FpQo0HUdAGCaJlRVvc0WKJckhSTgAlwekf+3Oc4wDNv+D13JZDJp - y54pM/Tr+NUr3Xjy8VXDT7W2tqKqqsrGomimWaaFWFcY/rIQrwHkODuPT14EzguDOP72WeiW - hdbzTVDKSu0uiDJMEAUEKgp48qdpYQDkhRBqK1147aU9uKhV46F7q+0uiIhyAK8B5Ini6sV4 - tHqx3WUQUQ5hC4CIyKEYAEREDsUAICJyKAYAEZFDMQCIiByKAUBE5FAMACIih2IAEBE5FAOA - iMihGABERA7FACAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAg - InIoBgARkUMxAIiIHIoBkE/0fvz6tcPQ7K6DiHKC2+4CaOYce/MgunoBDYBsdzFENOuxBZAn - wtePI1q8GlUB0e5SiChHsAWQD8wIDp+N4cEdVXjzxsnhp3VdT71smlBV1a7qiGgChmHYdnwy - APKANtADVe3Dnl27cPXCRXQHyvDhbWsgSRIAQBRFKIpic5VENB63223b8ckAyANycQ2eeKIG - ALB/z0tYs22NzRURUS5gAOSZbY89YncJRJQjeBE4Q+KD7Xjv7FVYiTD6ohyYSUSzDwMgA/TO - k/iLr38PP3vlFQhSArt+9prdJRERjcEAyID2c8ew8bnPobYQgKAgPNBud0lERGPwGkAGzFvz - MH74119F0/VrOPGbQ9j0yT+zuyQiojFcyWQyaXcReSlporenD96CQngle3O2tbUVVVVVttZA - ROOz8/hkCyAD2t/djf/+/J7UA8tA+dqn8JVPP25vUUREN2EAZEDFqsfx7W8PnfC1Nvz81WZb - 6yEiGg8DIANi3Vdx7MzV1AMjgvcvd+FpbLC3KCKimzAAMsCID+LGjRtDjyQ897sfsbUeIqLx - MABm2N5/ex6Xekc/d/zEGSx4gMszENHswgCYYVV1iyGVjX7OP6fUnmKIiCbAAJhhS9ZsxRIA - 8YEutPWEAQCyP2RvUURE42AAZECi5TC++I1XoMXasLy6EH01T+JLz22yuywiolG4FEQGdF48 - jSf+6L9h9ZqV+MMv/ilqrVa7SyIiGoMBkAGVDXej5/oVVGid+NM//5+4YZXd/oeIiLKMS0HM - MF3TIMnpW7InkUho8HjsvRsXl4Igmr24FMQ0tbW1o7KyYprbaENlZeW0a/nh33wOv7lRgDX3 - rsH9DzyE+sqCaW+TiCgTst8FFLuCv/2Lv8f1+DS2ofWgqbln+GFb24jllo1u/ONf/hXO9FmT - 2mR7e9vw37tP7cNffX8PJreFlN//z9/Ct//mK9iyuBSv/+y7+Pznv4B/eentKWyJiCizsh4A - V05cwM6Pbce5Uy1DzyRx+b1D2LXnRRw5dRkAEG6/iBf37MHp5m4AQPPVSzh37AD2vHoQURN4 - Z/9u7N69G7tePYyb77XVffYUVn70w2g5dR4AoPU048TJk9iz52Vc60mlTvOFUzi092Xse+t9 - mOPUeKpNx4cXyTjfP5UIAFyihJI5ZQgFQgh4gMFoYkrbISLKpKwHwIVIEo3Vi2H1nQEAdJ0+ - gMvJGjz+yMNobz4NWH04enYAOx95BLHzh3AjDjSdOApPzSo8sNyLw6c6sWbDRiy6ayOe2LEB - 8k3bP9WmY3ldPRC/CguA1nsV7ajEIzu24J39e2EAOHeuCSs278CyQDvePN0zegNGN3SxFPUr - GnH1xPlJ//t++Z0v4w8+9Yf4518dwvw1D+PLf/aX+KNntk7psyIiyqTsXgOIXcHZ081Q1T24 - fuEaWrbtQGe3C+vumwcXAMktAt3X8N6FJkQjrQAEVJuAUlyF2jlBIBKC1D7Bt3KjG03vn0NE - VdF56SLOr9uBagBl5WUQJKAm4MUAAF9hKYKKgOCyZXjv1XZgecnwJrrPvoNz18JQYzdwsT2C - HfctmVRKbv3If8RTny2a2udDRJRFWQ2AK++ew0N/8GksLRKgd57E66dasDyg41RzL+4pd6F3 - QAOK56E8cB07HnsMWlcLzJu/4gOAW0Ii3AvLsuASPjg9d589iZXPfBrrqr1IRi7jpWPnUT0X - MA0DerQfzYkkVgJImgaspIWrb59AoGH0Kp0nr5v49B88Ay+Ay4dewvl+C0sK7zwCiorsOfm3 - XTyJd89fg1QwD9s2roLMAb5EdBtZPU0Yc+qxuCi1S6lsKRYU6Ji79j4EbryDvUea4A3IgLsE - j21fjL0v7ca716MISEDN/JrUBuRi1FQGAE8N7p4bxUv7jkEfsf2YXI0V1V4AgCtQh4a5qXw7 - 8/ZevHrwFLY9tB0CgHhvC15+8UV0Bpdifd3IUTo6qhcuhnfoUd3K1XBHI+hpPoXmHg2ItOGd - 822YjL6LR/CDl45M/sOalCQ0MYgdjzyOdXUmXtk/+a4rInKerLYAGhobRzyS0NBYh0jreVzp - iUPAIIorVwIAQpUL8ehjC4ffWVuTDoAS1A6N1Fy4agsWYrT5i0Zu34WGhgZELrTiro0PY/WI - UaK+ObXYumXbOBVKaGxc8MEW/OVo8APAXUh1ElVizaLJ/IsBpbASS2on9zOT50JN3QJYRgLX - r/agcv6C8d82cB2IdWe6GCK6E3IAKGlI/T1pAT0XAD2W1RI4ESwDRt0QBgAgYuGKNagq9GRs - n1pPM14+eAKi5MXy9fehpliBrqfaR+3t7SgrK4N86ntwhVtusyUiyoakUgB96e+gfdBARcgN - 6fQP4NIjWa2BAZAB8cu/xtd+0YKGSgUwe/F+Uxx6ZAB/8tX/gbmZnhSc7Mfu3e/h8Sc+GHk0 - PNPQMgAtnOECiOiOCG5ADn5wfBpxwMjukPG8mAk82/S1tWDp9qfwzKoiIBnFd57/ER5uCKKp - HZhbk4k9hvHaz15DQpJg6gnMveu+8d8muAEPRygRzUpub+pPFrEFkAmJDvz5f/kfMMvmI3L9 - Ilb/zhdQcuUAlv32JzBXyn45XAuIaPay8/hkAGRArLcdMbkIQdGEIHshiS5b62EAEM1eXAwu - zxjhNvzT9/8O7XEJK9dswKM7t6PEP96EBiIi+7AFkEGWHsbP/+Ev8KuOOnzvzz9jWx1sARDN - XmwB5Jn+K0fxzf/zQwwki7B20w58899tsbskIqIxGAAZIBfV4HP/9WsIeUUAFvr6BgFvod1l - ERGNwgDIAE8giPcOv4o3j7yNE2du4N4PfQKffWqj3WUREY3CAJhhP/3Wl3HkuhuLlixBfZmE - 5R95HtszMvafiGh6GAAzToDHI8Mty1AsGwb9ExHdIY4CyoCkqeLssYN4/c2DOH2xF+uffA6f - eHSdbfVwFBDR7MVRQHnGJSpYuu4BLF33AIYvAhMRzTK8bUjGCSgq4gggIpp9GABERA7FACAi - cigGABGRQ/EisIMcb2rD+es9dpdBRACKAh7cv7oOAGCaFvYev4KewXhWa2AAOMgP955GEwOA - aFaYOyeIVY2pm5x39kfx//aeznoAcB6AA3AeANHsZefxyWsAREQOxQAgInIoBgARkUMxAIiI - HIoBQETkUBwGmife3b8L1wYAMxHFwo2PYsW8kN0lEdEsxwDIE0vX78AqRQHMG3jptWasmLdi - zHtM3YRlmDZUR0Q3E2U3BPGDThhD1ZG0sjsqnwGQJxRFgRHpwCuvHcWqh54AAOi6DgAwTROq - quLIP/4a/S2cCEY0G3hCPtz78e0wDAN97T14+3uvI8GJYDQVkdazeO3dDjz08DYE3K5Rr6Un - mgy09aL7Soct9Z0/dRKlZeUoKa8Y81pnWysG+nrQsPQuGyqzT193FzrbWlG/eAnckjzm9Qtn - TqGgqARllc6ZxKclErh25SJKyypQWFI65vW269egqQlU19VDEEUbKpw5SsCDqmU1aO9oR0V5 - BboutSHSPf69Q3o7O9DX24P5dfWQFGXUa7qq4tqVSygqLkFxWfmkamALIC8YOHjiGp587GFM - dEgUVBajoLI4a1WN1Bpthq8kiPrVS8a8Fj02CCOkoX7j2NfyWXdHEfqOdKH8rnkoLC4Z9Zqu - 67jcdQZzl8/H/PoGmyrMPjWRQG+yC4GyEOrvGvv7EH6rH5oqY8HGJRBzPABGEkQB5Y1zUd44 - d9zXvdd8iJwexNzVtQgWjL6/yGB/H1qjzZi7ohZV82sntV8GQF5IwGtpeHHXLgBAVeNarFlU - aXNNo3m9PiRi0XFfi4bD8AeCWa7Ifl6fHwCQiMcAjA6A9GflGXqPU0iyDFmWEY2Ex7xmGAbU - RAxefyCvTv53wuv3wzQMqIkEggWjX9NUFZZlwesPTHq7DIC8EMC2x5+wu4gJeXx+9PV0jfta - Ih5DYbE9LRM7+YOp0AsPDKBibvWo19InQK/Pl/W67CQIAhSvF/FoBIZhwO3+4BRl6Bp0XUeh - 4rGxQntIkgS3JCEaCaP0pm7URCwGtyRBkqRJb5fzACgr/MEgErEYTHP0KCQ1kYCh645sAQCA - x+eDmkiMeT4aDg+/7jRenw+aqkHX1FHP65oGXdMc+bviHgqARCw25rVoJAxJliHJyjg/OTEG - AGVF+pts7KamvaamTn5O6+pI83p9Yz4TIPW5yIoCaZyLw/nO6/XDNA2YhjHqeTWRgGkY8AYm - 39WR6yRZgSwr43aNxWMxuN1uiO7Jd+gwACgrPN5UAMRv+gbj1K6ONI/Pj/g410ai4fDwNQKn - 8YdCMHQdifjoIZGamoAgCFPq6sh1oihCVhTomgpjRDCmr4soHu+o7rI7xQCgrEj3d998skt3 - dfgc2KwHUp+Lpqpjusbi8ZgjuzoADH+b1dTRXUDRSBiyxwNZmXxXRz7wB4PQdR2Grg0/ZxoG - DMOY8pcFBgBlhSTJcEvSuF1AsqI4blRH2nhdY6ZpIhGLwRd0ZgCk+rNlRCOjx8THY7Ghi6HO - 6xYDUl1jhq7DGJrgCQC6pk7ruggDgLLGHwiO7QJycFcHgOEDd+Tnkr4uojhwtAsAiG43RNGN - aDgy/Fw6FKfa1ZEPfMEgdE0b1TWmquq0roswAChrPD7fmABwclcH8MEon5EX9z7oFnPexU4g - 1VpUPB7oWmp8OwAYug5d1xz9ZSE9FHRk15iuqnC5XFO+LsIAoKzxB4Ls6rhJumts5CS51MQw - OPpk5w8EoQ0N+wQw3PXhxGGxaW5JgtstjeoaSw0BVSDJU+sWYwBQ1qT7u9MXgtNjmp3a1ZF2 - c9dYNByGW5KgeJz7uXh8Phi6NtzfrQ31dTs5FNNzAbTEBy2AaCQ83DKYCi4G5wDpxeC+vu+r - ONtx2rY6SlCEB73bsV87hHazA5Wucmz1bMLr2gF0md221WW3e9yrUSGVY1f8JQDAFmUjlKSM - X2tv2FuYjSqFcmyWN2Cf9ia6rR7UiNVYI63EPvVN9CX77S5vRhT7SvDvt/0nuKICpJAb39j/ - v9ARbp/wZ7bKG+F2SXhDPQAAuE/ZCiOp44D2mynVwABwgHQA/ObKm7jY3WRbHUpSRnGbDz2h - AWiBJORBASWRELoqwjAE596nIBD2IBj24EZ5DwRRRGlHAJAFdBeNvzKkEyi6hOKeADp9vTBD - LgQiCnwRBT2lEZhuy+7yZkR14XxsWrAN3R3dKC0vxavnXkRvbOLl2kvCIbhiFnpKI3C5XCjp - DkCVdQwWjp1NficYAA6QDoDZYO+un2N+fQMali7H2ZPH0X6jBdsffdLusmzVeq0Z77/7DjY/ - tBOy4sEbL/4K82oXYNFdd9tdmm1ikQiOHTqAuTW1qF+8FKePH0NkoB9rNm/Nu9nRkzk+rzSd - x7XLF7B20zYAwLFD+1HbsAg1U1wx1pnjqcg2Hp9/eJSLmkgMzxB2svQyGNFwGIIgwrKs4Ylz - TjXc360mYFkW4tEIJEWBKDr7lOUfGgqqaanRP4auT+samrM/Tco6r8+HRDx1ETgaiSBYUHCb - n8h/3hFDQdM3OXF6MMqKAo/Xi8jgIAxdh2kYULxeCIKzx60oigKXywV1xFyA6Syj4uxPk7LO - HwgiGg4PDQGNOnpUR5rX54cgCNBUdXhklNNbAEBqdJhhGIjHYtA0DcFQ4e1/KM+lhnwqiMdi - UNXEUEtp6l1ibAFQVnl9PliWhVgknLqJhYPHdY/kDwaHu8YEQWAwIrU+VE9XZ+reALrG3xWM - WBZ6qBU9nTkAAAOAsiy96Ft3R/uox07n8fqRiEchiAJkB4//H8nr80HXVIQHB5BMJhkASHWN - ybKM8MBA6uY5Hs+U5wAA7AKiLEt/s+3r6R56zIMaSH0O0XDYsbfHHI/i9SKZTCI80D/tro58 - 4vX5oWkqEok4JFme1nURBgBlVbpvu6ezg10dI4zsGmMopshD3Rs9nR3DXR80tKZWNIp4NDrt - LwsMAMq69Hou7Or4QLorzLIstgCGjPzWn14ziUavETXdLwsMAMo679AQR57oPjDyoHbq7TFv - Jsky5KELnB6fz7H3jLiZ1++Hy+WCy+WC1z+9FWMZAHlisK0JP3nhG9h/IXL7N9ssfYJjV8cH - Rg775OeSIggCFK8XAD+TkdKLv7kladq3x2QA5Il+TcbDW1bZXcYdSZ/s2AIYLd015uQlj2+W - PvHzd+UDwyd/WYYkT+/2mFwLKI9ELuzHO1iDbQ2pZqE+tJRue3s7SueU4XSnivawPtEmskLX - dSTiUciKx/FLQY8UjYRhWSYnPI2gaSrURBxeXyDv7gQWUESsrvRgoKcToeIynGhPIKze2aKI - sWgkNTTWH4Dgck25hvz6RGmUdPNQFEV4PQokUYdfmQX9qIoIBHjiv5lf4Yn/Zn7FBwTzs0Xk - lQR4FRlRtxseRYbi1nCn65z6lZlZQoUB4CAr5zrzFoNEs51HErChNpT1/TIA8oKGw6++gm4V - APZh/2Ajtq1ZZHdRRDTLMQDygowNO56wuwgiyjEcBURE5FAMACIih2IAEBE5FAOAiMihGABE - RA7FACAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAgInIoBgAR - kUMxAIiIHIo3hMkTl4/txTstUZhqEjuefgrFst0VEdFsxxZAXojjfJeAZz/0JJ7d0YCj71y1 - uyAiygEMgLwwAEWqAACIRVWQoz0210NEuYABkBdEGEY89VcrDt1izx4R3R4DIC+UQkhcRHfC - xMXDx1C4pN7ugogoBzAA8oIL2x9+AKfeeBk9hXfj3mq/3QURUQ5gX0GeEL0l2L7zMbvLIKIc - whYAEZFDuZLJZDKTO2htbc3k5ukOhMNhBINBu8sgonHYeXxmPADIfq2traiqqrK7DCIah53H - J7uAiIgcigFARORQDAAiIodiABARORQDIF9YGt49+Br2vLIPvXHL7mqIKAdwIlieeOv1l1G2 - 8gGsCFoI6wYArgdNRBNjAOSFQXT2Aeq7+9HkLsHWrevGfZcWVaFH1DvequRXIAeUO3qvqRlI - 9MXueNtETifIIrxFqWVbklYS6mAcpmpktQYGQF6IoX9QwAMf2olk31m8uu8knnrwbui6DgAw - TROJeAItb16AOomTtKC4UbdzKVzi7XsKr+09B20gMeV/AZHTiIobc7c2wDAMRHoGcePgJZgJ - Pas1MADyQjH8RRa8kgBX2QL4rLcBAJIkAQBEUYTH68H8zY3Qo3fWAoh2DqLr9A1AtaAUeSd8 - r2Va0AYSKKwrRWHdnOn9U4gcwu2VoIS8CLdGEJxTgJr7FsHSzOzWkNW9UYbIWL+4BD/+yS+g - CAYaN+4c/12BO+/ScYkudJ2+AS2qwVM08eqixtC3Fn9ZCP7y0ORKJyIAGO4OyiYGQJ6oWroJ - H106c9tTQqlv/epgHEDRhO9VB1I3o5FDnpkrgIgyjsNAaVyi7IYgiXfUZZR+j+y/s9YFEc0O - DAC6JSXkvaMA0MIJCJIIt5dDT4lyCQOAbknyy9DuYNioFlH57Z8oBzEA6JaUkBdaOAHLnHhm - sToYh8QAIMo5DAC6pfRJ3ZhgbLJlWtCjKqQ7HF1ERLMHA4BuKd2tkx7lMx5LM5C0klCCHAFE - lGsYAHRL6W/1WvjWM3zVwdRr7AIiyj0MALol2a/AJbhgxLVbvic9SkgpmHi2MBHNPgwAmpDk - V6BO2AKIwyW4OAqIKAcxAGhCSoF3whVEjYTO8f9EOYoBQBOS/MrQchDjS/TFoHAJCKKcxACg - Ccl+BUkrecvrAEZC5wVgohzFAKAJyUPDO7VxloQwNQNGQh9eOI6IcgsDgCaUXq7h9QYAAA7E - SURBVD5aj45tAaRDQfLzGgBRLmIA0ITS3+4TfdExr2mcA0CU0xgAdFuSXxl3OYj0xWEOASXK - TQwAui3JLw/P+B3JSOhweySIMu8rRJSLGAB0W/IthoJyFVCi3MYAoNuSQ15YujlmWWg9qnEO - AFEOYwDQbaUvBGsjWgHpZaBlDgElylkMALoteWiYpzZiKGh6ETjJI9lSExFNHwOAbivdzz/y - OsDwCCB2ARHlLA7fyBOHX/wJ2k0P3AAa127HosrAjG1blN0QJHHUDeKNeGpYKIeAEuUuBkCe - iCiFePqBhzK2fSXkHRUAif4YBEnkSqBEOYwBkCdK3Cp27dqFeCSKtTuexoISBbqe+pZumiZU - 9dZLOt8Jt19CpKUfZ//tGAAgaVqQC7zT3i6R0xmGYdtx5Eomk0lb9kyZoV/Hr17pxpOPrxp+ - qrW1FVVVVdParKkZ6Dp9Y9RzxY0Vw2sFEdHUzMTxOVVsAeSFQRx/+wbuWrsIXeeboJQ1zvge - RNmNitU1M75dIrIPRwHlhRBqK1147aU9uKhV46F7q+0uiIhyAFsAeaK4ejEerV5sdxlElEPY - AiAicigGABGRQzEAiIgcigFARORQDAAiIodiABARORQDgIjIoRgAREQOxQAgInIoBgARkUMx - AIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAICJyKAYAEZFDMQCIiByKAUBE5FAM - ACIih2IA5JFE7yV87/u7Ebe7ECLKCQyAfGElcOTYZRQHXTDtroWIcoLb7gJoZlw9fRQli9fB - derQ8HOmmYoCy7JgGIZdpRHRBOw8PtkCyANmpAUHT/dAireho7sbF5tb7S6JiHIAWwD5QAxg - 7ZolY58WRQCAIAhwu/lfTTQb2Xl88qyQB0RvIRYtKgQAxHv7sai2yuaKiCgXMADyzMoN6+wu - gYhyBK8BZEJSx3uHXsKPXzoMK96Js5e67K6IiGgMBkAGhC/sxxtXBLRePQVB8eHooX12l0RE - NAYDIAMS4R6U1i5FUDLR2XIeXYOW3SUREY3BawAZUHrXTsg/+AFOnLuClutdePTjf2J3SURE - YzAAMsAwkrjn/sewfEMckuKBN2B3RUREYzEAMmDw+mn88OcHUw/0AZhz78eXPvmQvUUREd2E - AZABJYs24wtf2Jx6YA7gJ784NPEPEBHZgAGQAX2XjuKHrxxNPdDjiBWOnaVLRGQ3BkAG+Ern - Y8sWz9AjEfPqG2yth4hoPAyAGfajv/sS3msf/VzFivvxxx99wJ6CiIhugQEww+7/8GewXh/9 - nOQrsKcYIqIJMABm2JyqGsBK4J0Db+ByVxgAUFC9FFVzCm2ujIhoNM4EzoD+c3vx64s6mpre - x/wCDVc6EnaXREQ0BgMgA+L93Vi++UHMKQxhyaYdSHaes7skIqIxGAAZULZkM4JqD+5ZMAff - /tYLKG1cY3dJRERj8BrADDv/3lvwlDVg84piCHf/Hu56yOTduIhoVrKhBaDj6qVr0G//xjvW - 1HQx9RczhkuXW2AOv2Ki5fJ5hLXbbyPc3z/i5wBAQ2dH/6Rr6Wx+D//3he/ga1/7a/zbnn1o - utIKzeBqoEQ0+2Q9APTOc9i/7wAu9EwjAuItOHyiZfhhJBIZev4G9u15Hc2DqVO5Gb6Kvbt3 - 40Lv7Td54eQpxKde0bAtT34aX/zi5/Gp33sGNUXAKz/6Fv7yhd0zsGUiopmV9b6Jc2fa8OAz - W/H+qYtYumUJLG0Qh988hN64haR/Dp7cfg+aT7+N95u74C9bgC33LsWJI/uhazo6euNYff9O - dL61F4fPA92djXh4x4ZR269ftRjXTl9G/cYGXD1zFY0rFwIAEr0t2H/kBLSkgGVrt2FBqYh3 - Dr2J1kENi1ZvAYwYThw5gP6OXtStvh/Lqg1cvtSNsvLJDd/UYgNobm7G5fOn8f6ldoihedg4 - zg3biYjsluUA0NGqilheWI33o6/CwBK0nDiGwOJN2FgVwK4X9wBqK46dG8Dyuxai+cRbuLJo - KfoHI1iz6UGsTVzAgUu9uH/DRrTLwGPbxi6xIPiqgb6zMFCPa1EXGgsFtAMQFR/qFjbC1Hpx - 6sRZFNUlEJuzEo9vKUJCtXAWLlQvXoNNaxN4/cAlLKuuRG9PZNL/wj0/+FucDZdg/fp78ZFN - j2PunAIIrhn46IiIZlhWA0DvPItLze3YvWs3+m7cwMVeA4mogJqqEFwuQBQEINKHqOCBCy7U - rVyPci9wwxtEoV8BkgrEZPI2e3GhvtCFpmuXIBYsgICTAIDLZ05jUClFSPHASAwg0pdAaWMJ - XC4BXg8AtxclhX64kIQs3m4ft7bzY5/H017vlH+eiChbshoAZ0+34ImPPYdqnwtm+DJee/ci - 1lUHceTgMdSVetDRpwJFdSixmmAky5GMx2CMdy5Wgkh0nsD5ix7UL6we8/LcZYvwxj+9im0f - /zhwLhUA8bgKt1+AFh1E3AIqFjfild8cgquuFL6iygnr7mhrQ2llJWLdrUCoCkH51u/13nTy - T1omDAuQ3OJtP5+pS+Lc0f241BFGUvRizcYtqCxQMrg/IsoH4le+8pWvZGtn7lAxygt8cAEQ - lBCKAhKCJXOguAxYgoSBwTCWLl6KmupyRKIx+IorUFboQ1FBATweDyB6URjyw+MNoaJYRtwU - UVwUQkdbOyorK4Zf9/oLUDq3HHOLQ1ACJSgI+jCvqgyxcBQFFbVYXFuJQFElKotlRBMmSsrm - oLS0CD6PBwJEFBSG4PEEUVxSAJ9PQTQSgS8YhB4LA0oQyiTO5V3v78ULr1/BhrvqM/a5AoDb - V4jlK1agpiSBQ8cH0LigdPi1cDiMYDCY0f0T0dTYeXy6ksnb9qlkVPrirJ50oXbZOiyvLb39 - D92kqekiGhsXZqC66dNj/eiKIuNrAZmxfjQ1X0PHjQ7UrNqEulIfTDM1GqqtrQ0VFRUQW4/A - Fe3MaB1EdGeSSgjWvE1o6+xBZWkhhJZDcOnRrNZg+wwlT/E8PPzovGltY7ad/KOtp/G9n+4H - RBeQNGEm3Vi45j48vGFJRsfdCi43fD4BfX1R1JX6xr5BHQQi7WOfJ6LsMxKpPwBgGUCsG1AH - slqC7QGQj/Sei/DUrcc9NTJg9WP/wStoP/hTnF/6ZSzJyMrQGgbiAhoWL4URC+GlfRewumEO - RDHVVyUIQmo28sKdgKlmogAimiSXS4AoKhD64xB9hcDyj6SCIIsYABlgWhYiCQO1C5dB7bkA - zeXGjrvK0BUFkJEASOLK6bfRNhiHIHmwcv3G8d/mEgA3RygRzUqClPqTRQyADChZtgPzjr2A - b//9QRgJDQ/8zmfRc/FtLC3P1B4VrNn2YKY2TkR5igGQAX3XL8DfsB4fWViPeRUlcAsuoH6n - 3WUREY3CAMgAX1EFpDOH8IsfHYSgBLFm68PYtLzG7rKIiEbh/QAyQCmswD0bNmP75nuBvst4 - 9eAJu0siIhqDLYAM6Dp3AN/9+WFU1t+F+579LBrr+O2fiGYf2yeC5SM9EYUleiGYUTRfvozO - hIxNq+1bEbS1tRVVVVW27Z+Ibs3O45MtgBkWG+jEhaYLOP7WYVy4chlm4RI89tQTdpdFRDQG - A2CG/fP//hLiVfdj2+adWD7v14is+mNsZQ8QEc1CvAg8w9ZteQhSvA1v7H0FR05dRceNFqi8 - JSQRzUK8BpABSctAd+s1NF04g7ePvo+CRRvxyae22FYPrwEQzV52Hp8MgIxLIh5X4fV6bKuA - AUA0e9l5fLILKONctp78iYhuhQFARORQDAAiIodiABARORTnATjI918+ifPXe+wug4gAFIc8 - +NRjqwEAg1EV391zHD0D8azWwBYAEZENPLIEUXDZWgOHgToAh4ESzV4cBkpERFnHACAicigG - ABGRQzEAiIgcisNA84SpRnDteitM0Y/a2rlw2zu4gIhyAFsAeeLk0cMIaxZiXWdx+L0bdpdD - RDmALYA8sWL9drjdbkS7TRw5nxj3PX0t3UgMxrJcGRGNRwl4UTi3BABgGSZ6rnbCUPWs1sAA - yBNuUUDL+eN4/0YCGzan7j+s66lfJtM0oaoqzu09ie7L7XaWSURDPCEf7vm9bTAMA4O9Azi1 - 5yiiPeGs1sCJYHni6qlDaDHLcM+KhZBvml2YnmiSCMcR64/YVCERjeSW3QjOKURbexsqKyoR - 7QtDi6nZrSGre6MMieHoiatYfm8prlxoQrCkClWlwTHv8gS98AS9NtRHRBNxCS4ESkJASXb3 - y4vAecGNtevWgAN/iGgy2ALICzJqGxfZXQQR5Ri2AIiIHIoBQETkUAwAIiKHYgAQETkUA4CI - yKEYAEREDsUAICJyKAYAEZFDcSKYg/REu9Eb67G7DCICoLgVzC2oBgBYSQvtg62IatGs1sAA - cJDvHPomznedtbsMIgJQFijH5+77AlwQ0BXpxNf3fRXd0c6s1sDVQB0gvRpoc+8VdEey+wtG - ROMr9pWgprgOHe0dKK8ox/nOs4ixBUCZUltch9riOrvLIKKbiIKIpRXLs75fXgQmInIoBgAR - kUMxAIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAyCPhnjb0x0y7yyCiHMEAyBMt - 547ijVd24eSNuN2lEFGO4FIQeSJY0YD77onh+ATvSegWVMPKWk1EdGuS6IJPFgEAyWQSMd2C - YWZ3aTYGQJ4oKCxEpGv0c7quAwBM00Q8oeKtlhg6I4YN1RHRzXyygI3zfTAMA72RBI5cjyGq - ZfcLGgMgj0mSBAAQRRFej4L6UqAsyAAgmg0Ut4ACnweJQTcKfB4sLgNUkwFAk2bi+qWL6Lne - gQ5cRLN/HmqrSse8q7pQAaBkvzwimpBbdKG+1Jv9/WZ9j5Qx3rl34267iyCinMEAyAsiqusX - 2V0EEeUYDgMlInIoBgARkUMxAIiIHIoBQETkUAwAIiKHYgAQETkUA4CIyKEYAEREDsUAICJy - KAYAEZFDMQCIiByKAUBE5FAMACIih2IAEBE5FAOAiMihGAB5wtJjuHKxCS2dA3aXQkQ54v8D - V0VvSro5eBYAAAAASUVORK5CYII= + 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 + woPzHI/MKR8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94 @@ -12730,165 +13266,146 @@ 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 @@ -14168,895 +14685,732 @@ iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAABJ0AAASdAHeZh94 - AAAgAElEQVR4nOzdd5Rc2X3Y+e9Llbq6uzrngEY3cgYGwAyAGWBy4DBItChLNm1ZpuRdr48c - ZK/O8ZGXzl5715JsyYESRdvyyqJEiuJwhjPk5MEg54zOOafK8b13948OAwwCMUN0dw3w+5yD - g+7q6qr7Xr+6v/u76WlKKYUQQoiHjr7SBRBCCLEyJAAIIcRDSgKAEEI8pCQACCHEQ0oCgBBC - PKTMlS6AEELkO2e6iz/4zttomoamB/n8X/kFqnyf7DUWJ1xqGvZkJ9/63rvzj2lUr9/D9lCU - Ud9a9qypvO/lvxPJAIQQ4idwZnq4lqrhV37lV/ja3/wFKr1qsUJXSn30z3Vv/l4p3PnHnGyK - 3/wHv07EdTHLW/mVX/5r2IMd7P/5X+ELj29BA7QbX+/jr8XHHr8PxyUZgBBC3Iv5yhw0nGQv - v/Evv8+/+1d/lwvf+23OhT5P2+zbnB6DzOw0X/rVX+PsH/xDphpfxDd+knD1U3yhOU5Xfz// - 81v/nWdf/gXWlN344hqx4YucdEsJdn2bb1602FA4y/WJAvatK+S9k338xr/+Tdpf/SbnxiEd - ifCzv/p3aSvz/FSHJBmAEELcg4FLH/DNb36Tb/2375MMNLIxMEl71ObYxSkO7PTxZ68cp8AC - IzPK26e60XSD7Y+/xFd/4QXGuvtYvesQrU1N/NVf/iXWVHrv/EaaTsuWA/zVv/FVirwGX/zK - L7K3xmQ0PMx3XztFwNLQkkO8e6b3pz4myQCEEOIeNG55gq997fPz3ykO7m/lx++/y6S3lVU+ - By3YzF//2tewAJTDty/d4YXmu2+0T1oA5WAUrf7oPe4DyQCEEOIeDF56n2984xv8/h/8MeNp - jcZHDtL5J/+Z5n1PYlh1fHG/n6//y9/hm9/6H5zuGJ8bMJ7/XV3T0E2L3WtC/Of/9Id0T2UA - DU3TFiOBhoamLXw1/5i28EMNj7+Blx4x+Kf/6nf45rf+iLNdkz/1MWmyF5AQQjycJAPIUwsj - /0IIsVQkAOQp27aZnPzpUzwhhLgTCQBCCPGQkllAQgixxJRSxCd6OXL6KoGqVh7buRZT+8Tz - gO47yQCEEGKJuXaUdz68yuPPvkhbwRjvnxtZ6SIBEgCEEGLJaZqJ12Piug52DgIFn3AjoSUi - XUBCCLHENN1LbbnFe2/+CM0w2bI3uNJFAiQDEEKIJZeL9TKSqeell17i2UPbuHLywkoXCZAM - QAghlpwZbMAff41XX+3AyeZYs/eplS4SICuB81Yul2N2dpbKyuXbG1wI8XCRLiAhhFgm+bbC - XwKAEEIsE9d1GR8fX+liLJIAIIQQDykZBBZixShyqShnT55gNufn4MF9eE39k+8TL8SnJBmA - ECvG4fLRwxSufZSDO5t490TPfbnPqxD3SgKAECtGwx/w42RtbNshEPRL618sK+kCEmKlKJ3S - 6kpOXTrKALB25xN8unsFCvHpSAYgxEpx4ly+Ns0TL7zIiy8+RdfpszjSBySWkWQAQqwUs4BV - 9RZvfv8VDF1Rv2kfhjTJxDKSACDEitFZtWUfq7asdDnEw+pTBYB8W832IFo4x67rrnRRhBD3 - Sb59rj91BpBPq9keRI7jkEql8uZCEUL89JRSxOPxlS7GItkMLk/JZnBCPHgcx2FycpLq6uqV - Lgogs4CEEOKhJQFACCEeUhIAhBDiISUBQAghHlISAIQQ4iElAUAIkVdc15V1RstEAoAQIq+c - OfIBY0ODEgSWgQQAIUReCc9MEwnPrnQxHgoSAIQQeUNa/ctLAoAQIm/Ytj33fy67wiV5OEgA - EEKIh5QEACFE3nAdBwA7l1vhkjwcJAAIIfKG6zorXYSHigQAIUT+mB8DXsgExNKSACCEyBu2 - Pdf148h9MJaFBAAhRN5YmAUqXUHLQwKAECJvLGQAriMZwHKQACCEEA8pCQBCiLwh00CXlwQA - IUTecGXwd1lJABBC5I2PMgDZCmI5SAAQQuQNyQCWlwQAIUQemZsHurApnFhaEgCEEHlDBn+X - lwQAIUReku6gpScBQAiRN3I3ZACyH9DSkwAghBAPKQkAQoi8ceMYgIwHLD0JAEII8ZCSACCE - yBs37gKakwxgyUkAuA+Um6Pj/FFee/VVPjh1layjcO0Ml46/yxvvHCWSdlBKER3v4Y0f/pAL - XaMoBYnxbsYToJRD/7XLhLNqpQ9FiBUlu4AuLwkA94Hr2gTKW3j+xRdp8Y9z/Oo4wxePECvd - yONbanj/yBmcbJQjJzo48PTT2P2n6JrNkZoZYjqpiI91cXXSodijrfShCJE35J4AS89c6QI8 - CAzTT22NSTI6zdBkltqNBfSd19m5o5KAm6XI7SeWGKOgZj0FHg/rt7Rxpm+ckF+RTsxy4mof - +599Dg1Q6uYs4OPfC/Egu7Hbx3GcB/L6V0rlzXFJALhPoqPdnLjci2b5afYaOJaJB0DT8OoG - jutiejwAaB4PhuOg7ByXTh0mVFpPgaEADdd1cV0X27ZxHEf6QcVD5cbFX9ls5oG7/hc+3/ly - XBIA7gOlXII1a3i2bi2pcBcfnu2hmiSjCYdaK0NEOQR9xaRmx3BVNbGxUczSzehZD48cfIrA - 4Accax/jsXU1GIaBYRgAGIaBZz5oCPEwcB0b0zSxbRtD1x+4699xnLz6XEsAuA/sxDhvvXMK - Gw3XVWx87CnqrSLeeP17nDV0mrY9jjcQotK8xPdfeQXNU8pzzxWT6DTQNZ2mrY8x8cHbDFWX - 0RDKjwtDCPHg01S+dEaJm+RyOWZnZ6msrFzpogixbE5+8C7ZTJpUMsmG7Tupa2xe6SLdV47j - MDk5SXV19UoXBZBZQEKIPOK6DoZprXQxHhoSAIQQecNxXKz5/nHZDG7pSQAQQuQN13UwTXP+ - a1kUttQkAAgh8srCLDjJAJaeBAAhRN6wczksrw+QDGA5SAAQQuQtmaS4tCQACCHyhp3LYRgG - pmXlzWrZB5kEACFEXtF1qZaWi5xpIURecOYHfXXDQNcNGQReBhIAhBB5YWHQV9d1dEOX7aCX - gQQAIUR+mB/w1QBDN+TmMMtAAoAQIi/Y9tygr2FZkgEsEwkAQgjxkJIAIITICwuDvoZhYJoy - DXQ5SAAQQuSFGweBxfKQMy2EyAuL00B1A9PyYEsGsOQkAAgh8oJkAMtPzrQQIi8sLvzSNAyZ - BbQsJAAIIfLCQgZgmtb8SmBZB7DUJAAIIfLCQgagaXPbQUgGsPQkAAgh8sLNGYAuewEtAwkA - Qoi8oxsGjtwQZslJABBC5IWbdwPVURIAlpwEACFEXlDuwjoAqZaWi5xpIUReuDEDsCwLQBaD - LTEJAEKIvCALwZafudIFyGtK4boOtgOWqeOiYejaSpdKiAeS67iLlb9uGHOPyVTQJbWMAUDh - 5FJcOHmMsZjGzn37qQpa9F06zqX+KdB01u96gtWV/rkK1zJwnTB9/TYtLeXLV8wb5FJT/PE3 - /gvjoR38nS+s42S74om9rStSFiEedK7rfBQA9PkAIIvBltTy5VoKrh59H2/Lbp7et4F333oX - V7l0jSd54eWXeflzL7G6qoDkxGXeOHydRDKN4yYYHZ4llUyQyix/X+DwmTcoevSr1PoimL5S - hvrPL3sZhHioaHMZtm7MVU2OZABLalkzgNmsxc7KAiw9QIOWY1opEhOdvP6DFMXVq9i9fR1d - 168x0KNzymez55Ey+q+fJZMbYGoqy0s/9wIFy1dgAiVljF/uxI2EOfzGnzLrrl/Gdxfi4WLn - cpjm3OCvZADLY/kCgKaxZV0VP37lVTw+i/BYlDbD5Au/+LdQymXk2mE+OD3Ik9u2M2qaHHxs - NXZumKYNu9i3r4X29z8kDssaAMrWHGTL0KscH0rSE2zhL33h0WV8dyGEWFrLmAFoFNVu4Atf - 3ISyM7z19mFKVI5kSuH3W5TX1eKMJgEDpVzU/A2iV9LQ+R/znR8fB0AN9BDWSvj1Xzi0wqUS - 4sHkOM7i4K+5OA00u5JFeuAt6yyg+HgXH5zpwHUdWncewlAZTr7/PtO2QzaneOypF9EDCZzR - N3j93TCHHq/HMucuCMM0l33OatPuL/Lvd38RgEx0gDdPjC1zCYR4eLiuK1NAl9myBoCi2rV8 - rnbtTY/te+Gljz0rxOd+7ucXv9u9Z+7/1n3L3/0yO3iVoxd7AbCTM/Qki5e9DEI8LFzHwZjP - ABYXgtmyEGwpyTqAu1KLXVFmQQ1fee7ACpdHiAeX6zpokgEsKwkAt6GUIhmPoBXWsX9/3eLj - 5h3OllIuU4PtnL3UjVlSz77dW/GoNBdPHWUs6WXPY3sJ+Q0io10cP9dJZesWtq2pJzneSTzY - RlWBTe/Vq5S2bSbkkYVm4uG1cPUvzAJyZBbQkpIAcBtuLs0f/fY/5tLHuvzbDnyZv/vztw4C - u3aSsVnFwedeJNx9lJPXxmnKXiVduZXHS+K8fewML+xby7EzvTz+/NN0fvhjusorKZ0dYcZo - xR/ppGNW4zmp/MVDzLZz+PwB4KN1ALISeGktawBQTo5EKgOA5fHh9Szd2yulyGazeL0e7GwO - 3eO550Fkw+Pnb/3m76Fcm7GBHkZn4gAEy+tv/3wryOat63FzWaZnM5Q3+Bi4qrNzZzkBt4gi - t59YYpxgzToKLA9rNq3mTP8EJT5FIjrJyY5B9j/zLNp8uRfKv/BPiIfBwqU+d90vPMgD9RnI - t8/1sgYAZ+wC//3dETbUBomEE+x/6XOUe+9fq9e1E7R3jrN+fQsol4GhIdpWN3P+R+/Q+PLz - VH7C15u6/ja/+6cXyaQm2VRfRLL5RdY03uZVlCKbnOHo4eOUrn2ELTUB3u8wsQA0DY+u4ygX - Y35gS/N4MBwH5eZov3iKosJK/IYCNFzXxXVdHMfBdV1yshuieEjYuRy6YWDb9uJjmUz6gfoM - LHy+8+WYlrkLSKNl0x4Obasi3v0hF4aT+AonOXrqCoGaNTy6rZXhrh4CRXCpP8MTO1q4ePII - IzGdPQcexxMf4NjpqxTUrmXv1haGOzqIpmfpH4qyfd8TzFz/gLeO99LTu5ZHn3yCbPbGk6zI - JWY5cfwkKbOMxx7bSYF195wgPDbIM3/5a/Qc/wt+7mee5/uvnwZ23PI810lz/OgpNh54jooC - E5RDqZZiJJaj3pMmolyC/hCpmRFcVUVkZASrbCt6xsOO/U9RMPwhx66NsG9DHYZhLM6EMAwD - j8dzH8+/EHlMm9sJ1LIstPktIR60z4AzP9MpX45p2YfcM+kEsWiEK91TVIU0Tp3rYtf+A5Qn - 2jk3nGS89zJnu2Ps3bGO/jNHseu289yh3VhuitMXutm1fz+lseucH04y3teFUbmeZ57YyPVL - XazbsYcNG7bx0otPETJd+gcHPnpj1+XCmfM0bd3LxjqN42e6fmJZq1u3kYnOUJmb4N/9zn8m - VVB32+flEiN094xz/J3X+cGrP6R9JMaabeu58OYPePX1t6ht3YzXX0G1b5ZXXnmVkwM6m5uL - 0AwTQ9dp3LwX3+QVhsKy6EU8vG47DTRPWsoPqmXOABTDXZc5nQ5Rv/EAq4qiHOsZAesMaEFa - fDBllbD30W34cRgJu2zZXYqhQYBRhrpHwTwLWiGrfTDpK6GhJoSeVfiMmbu/s+swONJP1NHQ - 0Khsun1//txzXSLhGbxVW3i2wQO7fp1nsg5er3Xb53uLV/NLv7r6Y4+G+PzP3PweGx99mo03 - fO9bs48yADzseuLZu5ZfiAed67po87N/xPJYsS4gAOVkKC33sXbrDrzZMI5lgG4wt+W+zqpq - H+eu9rO11o+rBymtmHuuJxvGtW4tuqZZZFJhYrEYXp/35p8ZBrWlJQRaNtEQVMRzd77QlJPl - h3/0/3B21Efr2jXsfewAq+vLsTwmuiYzdYRYCjdmADA3FXThLmFiaRhf//rXv75s76abeAOF - hALzg6G6QVNDBdcuXmYmbdHcWIXP4yFYVIiBRrCqDjXZTcdQhNrGJtY0zT13NmPRdNNzdSyP - l8KiECFvjsudI1TU1VHo8xEqLsb0eAmWlNDY0MBY1yUGJxPUNTXht24fBDTDZPPep3n64F5C - ZppLZ47wF9/7PoOZIratuX030P3mui7pdJqCguXc/k6IldN9/SqlFZWUVsxNtOjv7iBYVEx5 - VfUKl+z+UUqRTCYJBoMrXRRgmTMAPVhJ003HreEtrOKxx6sWH/HV1Xz0U81g1cZdrFp4wHuH - 5xpeamrmWvxVqzZSNf8LhY0NAFSuapx7wFPAtj0/eTWvUgrXyZFIJLHtHMlUDl/Aj9/v/Ym/ - K4T45KSlvzJkIdhtuHaW737jn3Ok12Xrjl3sfubLbFhVhdwNUoilsXA/4IVdQBe+dmQQeElJ - ALgN3bB4/qv/Jz9XWLjSRRHi4XDbhVGaZAZLbNlXAseTaQAsrx/fEq4E/mlouk6RVP5CLJuF - XT9vHAS2LHMxMxBLY9lXAv+Pd0fYWFdIZDbJ/s+9SNlnZP+bbCJMJGdSEcqPwRshHkS37gaa - H1smPKhWZBrowW2VxLuPcGEoyaMNGhdOHmM0ofPIY/spMaIcfv84abOIxw7sQ4110D4xy9Rk - jM179tNQ6mOi5zKnrw9QuWoLO9fXM9jeQSw9S/9wlG37DlHtT3Hsg6NElZ/d+/ZTYmW4cPI4 - YymT3Y8+Rnnw9vP572bk0tt8v7+MX/vKwft/WoR4yC109Wh81CDUdUMWgi2xZe+DyaQSRCMR - rvVHadrto//iEfT6zezxxDhy9CQ7yhIUrN3HngqFbTvEJgcxqvfy3KYcr75zjNpD6znZEee5 - 55+n68gbXJkoJ93fRXDLfp5pjfPhuQ585ZPYdbs41OQlq2z6Lp7BatzCbiPMseNnePnpvfdU - VieXJT2/nUTF5uf5m5s1bMfFNGTPciHuJ7U4CPxRlSR3B1t6y78SuPsy3z3Ty+bPfZX6Ao3D - QyMkoi6zGlTWNFDdUszgmQsc68qyevt+LM1DaUkhhteh2KuTCY/jrWnBY5i0tNZxbCJKka+E - xhtWBIdWbcd3+iInRjPUrt/F6NAIqZjLtAaV1Y33XNrZrg/45//pNSyvgWunSdkWq3c8xd/5 - 65/DK9emEPfNQgag37ASWDcMclnZHmUprUgX0LPr9vPmj44wXPI0TbVldHqa2d5UyHQ0QzQc - p3njVoxYF9cHZliNSywaZnJ2jKQRxFfWQO7MeaabvXRfHqThkQ1EPrYLRCISpX7NZjzZEa4N - TNJUW0avv5nt9UFm4vbti3YbsckRvvT3/m8OtnjIJsd57c2LlCeucGUadlTc51MjxENsYbD3 - xla/rhsoJYPAS2lZ27F6qJEN9YUYvlKeff4A8alp6ncepFGb4PyldrzBYoKhIoY7LtE15WfP - 1jqUsulrv0znSJpDB3ZheMp4fHcrVy9eIrRhH60lHhrbWvAAuhGgpaWOQFExkz1X6RyxeWRX - G007n6DOneDClU68BUX3XN6iylre+/M/5mpnF0d//EOGEjpeXzF32BJICPFpLUwDvXGrFe0O - s0PFfaOpfLkzwR2MXjxKdvVjNK3AjghOLkPn+aOcuT6IL1THU08/wdRAH01rW1nqGJDL5Zid - naWy8pPexUCIz56J0REunDzGnieeoigUAuDK2dPMTE9y4JkXVrh094/jOExOTlJdnR/bW+Tn - RPwb1Gx5bMXee/j8m3z/yAA79x5gx/pVFHoNQmtbV6w8Qjy45tqhN+21qCGzQJeYDGXeRcOu - l/jVr7xAbuwy//W3/jV/+OrxlS6SEA8kOzc3NmeaN2wFYVqLC8TE0vgMBwCFa2fJ2vc4SKQU - djaD4957k8JOx+jr62JgcJScUUBtecmnLKsQ4hPTZBBgqS1bF5ByXc588BqjUYesDV5vkEef - 2sd4zxAbNrR98tdTLpdPHqF04z7qi+/t9mrhoWt0ZyrZs772np4/2n6Ci4NpDn3pr9FaV7o4 - V1kIcX+phb6eG7qATNO86f7A4v5btgCg6Tq7Dr6MHW7nrcsmz+9fjVIuwdVNKKXIZTPkclmU - 7sFjuKQzDoFgEEODbCpBxoFAQQHm/Jac2ZkexvVathRZZLMZnFyOnNLxe3RS6Sy+QBDL0Mik - EmRthT9QQFnzRq69+Q6xtbUU3kPu07DlSb68Os7kaC//65vfxqnZzldfenSJz5QQD5+FXT9v - 7AISS29FB4GVE+W9dy/z7DN7+fEP/pRgeSOTI0MU1zZipafxNu5jR1WSw+d6MfUsWlELB3e1 - AYqBq100bXkOcPjwx6+iBcuIT4ygQrUUmWlsfxNPbCrijTfPEioNUtm8iQ3N5aypNWkfTrOr - wXfncrkO3RcO8/bhM3T1DmCnI2x6+df48qFNy3ZuhHiYLHb03DAKvLAxnPOxO4WJ+ydvxgCK - a1o4ePAJttSWsHrX4xx4ajdqNkb3uQtMJePE4xk6ujvnnqwUszOK4uK54hvFNRw6eJB9W2oo - b32EAweexM8saApcjfL6FpprSgCN4uJiZsPRu5bFyab4X//jmwRa9vCP/sk/45c+v4cNW7ZT - 7JfWiRBLwV7MAG7dCkJ2BF06eT8N1DQttu9/mrUlFrmF/kAN/H6NbFZxtwn5pr+aF15+mqmB - Dt47PsmLT+wkk0nj8939zl6GN8D//g9+k+MnT/PN//A6Y+OjNM+00fTCXmpLZTdQIZbFQjYg - A8FLZtkDgKabeBbvxavj8XpAA8szN5BreLyY2tztID2WScumrfzw7R/Q6fESql/HgW2tgE5T - WynnO6do2FCK5ZmLArrpxTLm9hP0WB6c2DjvHD2H7Siq27ahlEvPQIzV+4rvXkZNp6x+DS/V - r+GlLymSkXFOnzjBqQsdfOHQjqU7OUI8pOxc7qbWP3w0HmDbucX6Qdxfeb8S+E5cJ82H7x1n - 1xOPEzDvoSdLKdKRYY5cmeapfVuXvoA/JVkJLB4m7ZcuMDLQx8EXP4823/IfGeznytnT7H/6 - efwFK7AVwBLIt5XAeTMG8EnphpfdO9cQTdz7NLFUUvHI7i1LWCohxKfhOA66cecMQCyNvB8D - uDMNX6iWe46jmkZJbcNSFkgI8Skp15X9/1eAnHEhxIpTqJsWgcHc/QAAuTH8EpIAIIRYcXbO - vmURmEwDXXoSAIQQeUDdvBMoHy0EcyUDWDISAIQQK87O5TAkA1h2EgCEEHlqISX4TM5U/0yQ - ACCEWHGOe+t+P6Y1N0lx4V4B4v6TACCEWHF3mwaqJANYMhIAhBAr7nY7fi5OA83JQrClIgFA - CLHiXNdF+1gGoOuyBfRSkwAghFh5CrSPrQQzZCHYkpMAcB8opcimYlw49g4jsbnHnGySsx++ - xetvfsBUIodSipmh67z+2mucvjaAqyA22s5IDJRr03XxPOGs9HWKh5Nt5zAsmQa63CQA3AfK - sbl24TRTE8PMpgHlMnjxOHbtdg7ubObY8TPYmTAnzw/yxLPP4Jm4ROdUhkx4jHBaERlupydh - UezRfuJ7CfFAUurjO0Eskgxg6XyGN4PLH7ppsXXvIfpP/YA4gHIYnNXZtasMv1tIkdtLPDFB - QfVaApaH1o2rOTMwQanPJTozynDPKPuefRqNuWzixn/S+hEPA9u2MUxz8bpfYJomruM8MJ+D - fPtcSwBYEgrXMOZOrqZh6TqucjHmb3ihmSaGo1CuQ2/3JQp8JXg1BWi4rotSCmf+ordtmQMt - Hg5KqVuvd017oD4Hruvm1fFIAFgKmkGZkWYokqXBmyKiFAX+EMmZYRy3mtnhEbzl29DTFlv3 - Pknh6FGOXR1i/6aGxYEvpRSGYeCROyGJB1xufpqnx+u95Xo3LQvlug/M52Bhumu+HI8EgPvA - zs5w+EdHGJscINf3Kukt29m0bSNvvfsalzSdlu2P4/UXUhe8xg9efRUrUMlTTxaR7PZgGTr1 - G/cweex9hsNV1Ify48IQIh9oaLIQbAlJALgPTE8ph15++ZbHX/ril276fv3uJ1l/w/e+tkcp - BcBix/6nl7KIQuQt15nrDvn4QjCY2w5CtoJYOjILSAixohYGRD++EEwsPTnjQoiVNd/D8/GF - YDC3GthxJANYKhIAhBArauGm7wu7f95I13VUnkyZfBBJABBCrKiPpv3fZimYpskQ8BKSACCE - WFGLGYB5awZgmhaOLbuBLhUJAEII8ZCSACCEWFELN33XbzMN1DAM2QtoCUkAEEKsqIVpoLfb - /1/X9bzZN+dBJAFACLGiFjKA2y0E0w1j8efi/pMAIIRYUR9lALdWR5IBLC0JAEKIFaU+Wgl2 - C13GAJaUBAAhxIpauOm7aVq3/EwWgi0tCQBCiLylaXNpwY03iRH3jwQAIcSKcu4yDXRhcVi+ - 3EDlQSMBQAixou42CCyWlpxxIcSKch3ntq1/+CgrcCUDWBISAIQQK8p1Fbp2mylAfHSPAFfJ - QPBSkAAghFhRCgV3CACGMTcG4NgyFXQpSAAQQqwoJ5e77RRQAF1fmAUkGcBSkAAghMhfMg10 - SUkA+IxTSmHn+UpJx3WJplMrXQzxMUqpvKhYHce57T5AAKYh00CX0q13YBCfKZ2Tk3z34jn+ - xp5HqSosWuni3NbFkWF+9/D7/L2DT7KppvYnPl8phZOz0Q0D3ZA2yv3gOg52JkVsbJBcMo5y - nMVuleL6FgJlVYuLrpaTch0cx77jDeEXy5QHgepBJAHgM8x1XX7cfpXD3V20lJXzle07SWaz - /Oj6VZ5bt4GAx7PYwrvbh1spNbfcXikW7tCtmN+aRdPmvlIK186RTcbJJmJ4C4vxFZegaXev - oB3X5d3ODkajEY70dN8xALi2jes6aBrkUjkuvHKCqjV11G9bBUotVla6YaBpOppuzJXtNhXD - 4jHr+ieq1JTrfuIW8Z2mL94vruPM94LMH4em3fGYlFLz52r+7zj/dToyQ3igi8TU2FyZTWux - a0XTNGKjg1Rt2kVx3ao7VsR3o5T6CWVyb/4zKRc7kyY1O0lsbIjE9DToOjM915lo/O0AACAA - SURBVCioqMXyBwBwsmmy8QgA0YkRioqKML2+eyoPyuVezlm+Wvhb3u3vccu5VQrNMG57rIvn - RLv5MyEB4LNGKXBzYHhIZLOcHx4C4J3263xxzRre6+vj948dwXEcXm5rIzk9Tmp2Cn+ojMKa - BgyPF03TUUrh2jap8BSx0QHsdArlOjdVIpquz1eiOq5jk0vGsbNpdMNEKZe67fsJVt5aoS9U - QJqmE02nuTw6gmUYnB0aJJ3LYRk6M8lpygJlaJpOcnqcqa4r2Okkmm6gXIXHCpMYn6X/aCfK - dRbngZu+ALppYXp96KaJ+lj3l1Jq8TFvUYiSpjWLFcodT6nrkomFmem9jpPN3vvfQtMobVlH - QVnVvf/OT6DmA20mFiExNUo6MjMf8OYqAtPrR7csvMEiPAVF6KaFnU6RSyVIRaaxU8n5QOai - XBfHtsnGwlj+ACVNbRTWNOEJFi7uve/aNiMXjjF2+TROJk1py7q54HoP7EyK6OgA6fA0VqAQ - X1EIX3EpmmHgZLOkw1OkwjPY6eRN+/m4To5MLIxyFabPD5qOchxmeq8z2XEJb3Auk80momSV - BujM9rVjj/dT0tRGcf0qDI/vjhVdcmqM2f7OxXOm6Tq+UBkljW2fKsDdC6Xcn9gYuufXcl0S - U2NEhnooqKilqLYR3fioqlbKJTU7TWSwGyeXQblznzfXcfAEi/CHygiUVmJYcw3AbCJGKjxF - amYS0+ujuL4Fb3EJum5IAPhMUQqmO2D4BKz7AoPhJGORCA2WwUQ0zAdv/4AjybmNtc60X2HL - ZC9KKQzTIjY+xFT3FYKVdRTXrSKbiBIZ7CEdncH0BbB8ATTDmF+NqaHpGsp1cR0H5TqYXi+B - sip8RSEMr4/xy6eZuH4OX3HpLa2y2HQ7w12v0rzxL9M5k2M6meBgaxtHerrpnZnG0ML8zvv/ - lr/2yC+zzlPP2JXTmB4fwco6nFyWiY5hchmwM1kKyqsoKC1CNz0o1yGXTuLmMuSSCZxcdq41 - eyNNwzAtlOsS7u8kOT1B9ebd+IpCtz2lTi7LTG87s/3tGJYXy3f3YHGjbDLOyPmjNO55Em+w - +GN/KoWTy6IcB9Pnv6WyUkrh5rKko7M3LXJKhadITI2RiYXRTQtPIDh3Y/T5oJaKTKMcZ/Hv - MtfKVeiGiW6YmD4/umGi6To2GiPhGHX1zTRs2Hbb1rNumtRufZTRi8eZ7LiI6zqUrlp3c3kX - WtDzrUfXsYlPjDDdfZVsPIrlD5CYGsO1bZRSWP4AuWQcTTcwPB5Mb+CmTEk3TMpbN+MtCuEP - lTFz/Cga0LxzF/HJERKTo+imh1BjK65hMXbmDMUNbVjpCNNdV5jpa6e0eR0lzW0fqxgVyZkJ - hs5+iOXzLwYy184RHenHVxgicB+D9QLXydF9/g/wFVTRsO5nfqrXUq7L7EAXUx0X0XSd+MQw - sbEBylo34isqwU4nmenrIDrUi+HxYnh9i8Fc03USk6NER/pAKaxAEOU45FIJdMuD6fGSmp0i - MtJHQXk1JU1rJAB8pigHho7DbA/udDfvdsfw6Ro/09LM73b00q776E/G8Og6XfEkav1aGhpa - 8BaFyERniY4OEBvpJzrcC5qON1hE5YadFFbWzbXEPoGKdVsZPvMhU52XqNq4c7H1o1yH/it/ - zFD7X5CMj3NYf5bSQIAvb93B8b4+TvT1UuwfYjY1w3sXfkBJ4BECJeVUbdyF5S8gFUlw+UdD - BCsqmemfoHxNJRVr15J1shiagXGPrdOFluDopRMMnfmA2q2P4i8pv2FzMZdsIsbk9fMkpsYp - rG6gYu0WLH/BPZ+DVHiawVPvMd19jZote26qNO10ipHzR8glE1Su305hTeNNG5ulIzOMXz1D - Jha56TV1XcdbVELl+u0UlNfgKSi86XWVO9d9kksncDJp7Gwa0+vH8gWwAoUY1kcBsafjOqmJ - MDPJHE2WB6VcJgePEKrcgsf3UcDSTZPabY8xevEE091XSUyO3tRS1jQd3bTQLQ+GZZGJRUjN - TOIvraBuxz4KKmqx00myyTjp8DROLofl8y+2Rm8J0h/j2DY+vx/TF6CksY2SxraPznEiAYAv - VEZNw3bSkRkigz1MdlwgFZ6idutedNOaO6fhaUbOHcVbWEz9zgOY3rlr2s6k6Xrn+ySmxu97 - AFBKMd7/Ll1n/guabhAsaaWkasunei3HzjHVeYlwfxcF5dVUbdxJcmaCqc7LDJ54B39JOZlY - BN0wKVm1dq4C/1hQdx2bdHiaTCxCcnYSw+MlUFKBt7AYT7CYXDJOfHyY2YFOhk6/LwHgMyUT - hUg/oEiOXODiiJdmn4ddazeyNpLkdCRO1HF5urWNN7s6GQ2UsLa0AoBAaSX+kgpKm9eQnJnC - U1CIr7jkphbUJ1FQVk2osZXwYBfByrrFrqBsJsLs2DkMK8BY33sM6z7WNR6gKuBnc1UVh3va - qQheQkOjK9aPW/cUNVv2Yni8KKUYuz5ENpVl1Z7V5FJppvsnqNhey3878Q2aSlfx8qZ7a2Fp - mkZBRQ11Ow4wdvkUQ6ffp7RlHYblJZuIYaeTpMLTKOVStXHnp+r/9hWVEKpvITzYTWqmhUBZ - JTD3IZzqvEgmGsbw+hi7fAo7m6aksRU0ndTsFKMXjoGmUb3pkZuCjunxYn2s0r/puHQdyx+4 - p26tiZFhdF1nZmqCdDKJa09x/q1/SM3q59n0+D+5qctC03VqtuzBX1I+P1agbnotO5vGiYVR - ykU3TKo2PUJRbdNiy97yF2D5Cz5Vd9hcl+Htj1c3517fcWw0TcMfKpvLOn1+pruvMnTmMDVb - H0U5NsPnjqDpGnXb9y1W/gCGx0tBWRXJ6fFPXLafJJOa4vqxf0tR2Toy6WnaT/y/7H7pD9CN - uwe9G81lixkmrp0nNtJPqKmNynXb0HSd4rpVBEormelrJzY2SLCilrK2TXOZ4W3ohkmgrIpA - WRUlzWtu+bmnoJDSlnWEmlpJTI1JAPjMUAqmO1GaDkUNDI4PMRQu5Reb6iiprGFPUzPfOnGM - Qq+PFzdv5ezoCOeGBznY9tFFoGkanoK5vuNPXwxFMh4nm81Q2rKe1OzkTV1B8ZlOktEh1j36 - 6wx3/pDdUx9SFXqS0TOHWZWc5XhsjHSuj03B1VxN9DJb5sfweAFwbYeRK/0EijUKrTcIFlpM - 9qY5fOVdjvYd5tr4FQ6sPkTIX3LP5fWHyqjfeYDRiyeY6bkOmoau63Mto7IqShpX4y+p+FTn - QtN1SletIz4xwmTHReofeQLdMAkPdhMdGaC8bRPF9S2MXz3DZPsF7FQSb2GIiWtnsQJBqjbu - xB8q/1Tv/ZNMT04Qj0ZoWbeevo52hvt70TLHcOwkY71vsv6xf4Rp3RxENF2npKmNkqa2O7zq - XHeKZpifaFDVddXigq7bsW0b07p9VaQvZpYfjSFomkZZ60a8wWJGLh5n8OQ7c909yqV+18Fb - sjhN0wiUVTHZfoFsMn7HyvOTcl2bnnN/QC4TY/szv0U83Mvl9/8vhjteoWH9z971dzPpNL0d - 17HtuS7bbDqFPTNOy4YtlLesv+m5lr+AqvU7qFy7dbFby7FzdJ87RmVTG6HKmtu+x92m1+qG - SWFVvawDyHdKKdJZGzuXJT7RS1+mks5MDW9FC/DrOrtb16IbJnuamtE1jVVlZTQWh9hYXcO1 - 8XFS8zfbuF/sXI5LZ05y9tiHRCIRKtdtI5dKMNV5CdfJMdL1GoaniMKKPQwXHaKQCP7e72Jn - UuxqW0eRL4rP8vD01i8S8pdwdug00UiYrmtXmOgfYaZ/grLKQdz4OYqKesgkUnx46h3KCiqI - Z2JcHr3wicts+Quo3/U4jXufomnv0zQfeJFVB16kduveT135LzB9fspWbyAdmSY63EcqPMV0 - 52UKKmoWU/SazXsINbYy29/J2KWTeILF1G7fh7eodMnmt48ND2F5PNQ3tVBaUcVQfy8j3W9h - +ULY2TjTwyc/1evqpnXXyj+dThOPxVBKkcrkOH51iP/6gzNc6pnAdT/5VM6F9/r4XcE0TSNY - XU/9zgO4to2dSVG7bR++4ts3Dvyl5YAiMTHyictwO0opZsfOMXDtOzRv/iuEKjdT2/oipbWP - 0Hnm90gnJu76+9lMhtnpqbl/U5NEp8aJODqR7J3P0ULlr5Si9+IpPvzOt/jwO3+Inbt14oKd - y3Ht/FmGenvuekMd4+tf//rX7+2QxXJyXZd0Os3wTJr/8J0T9PcPMB3NEVdBJhM53o3aVAR8 - fHnXXPdJPJvhjWtXKfF4qIiE0Q2T46PDbK9voDJYeF/KpJRiZHCA0cF+dF0nEg5jlNRztHOW - C52jFHtzTA/8OZlcgOFwHa+MxTHsGEXZSzRseZmqtp1cH/+ArOPy87u+St9MN5eHLlA84SMy - Nc3E4DBuOEXz2m4KKuoxvTnG+4KkLMXzT3yB0egwkXSYvU2PfeJpfZquY3r9c7OH7qHbSymF - nc3MTzu9+3t5AoWkIzNERwZITI5ieLzUbtmz2D+r6ToFZVVYgQK8RSVUbdiBblr0dlynr6sD - 07LwFxTct6mKmVSKjisXqW1ooqKmFo/Xw8hAP5nYVdq2f4Xo9HXsXILqVU/ft/fMZrO0X73K - 9/7s23zw3gfMukH+v3fa+cHRDsam47x5uodMzmF1bQke8+Zz2td5ncKiEOVV1beUR9N1etqv - ESorp7S8AqUUiViMaHgWy/LgKyymqKaBwuoG/CV3zqZMX4DYaD8AhdUN93xcSilc1yU3X8ku - bFmdy0S49N5vYpg+Nj/xz9AMCwUUlqxm4Oq3cewUlY0Hbvt6yWSSsvJyGla10NjSSnmoCGe0 - F81fyPT0NGWV1Xi8XmzHxbhNt6Rj5zj5+p/hGh5iU+NoQE3Lupveo7fjOoO93UxPTlBUUkLB - HeoA6QLKc37DIRaL8sZglmIvfGlLwdz6bd1gR8giR47Y8Ak6BjqpdzqxpzQuhAspCeg02mG6 - rr9GLTvxhNpQ2u3/3Co1RnK2G9tOo9z5jEHT8AUq8AVrMEwfHl8J2azDQE8n3qIinIJifnCk - l8HD75B1FUpB16vv8Ux5DxS+xEgizngqyy7/DpxMP/3t/5Oa0np6ZzqxnWZOXe0iEAmRzmok - PBqrKusY6+kj2AqFZeCr+3mmfR1Mec+zzl3LztodDI2d50zv+3S0f5+gbuA4GXR9rq/VMH2L - Xy8oCDVTUNx822mNynXIZWPY2Rh2No6dTaAbHgrL1mKYXqZHBzn22rdZ+9jT1Launz8lGn7L - c9POlUopXKXwVjcxOHQNx4ngD9Vid5/H4/VTXFKK5TGwszHSmSFcMkwNjTE5NsrIYD9KKcKj - R2lc3UpxqIRg+SZSbhDHUeQcl2CBhWnMz9lXOVRqEs1fgdJu7WM23BSpcDdjgx1koj2QyzDR - N4npCWLqEVRgM2W1e5geOcnU0FFmR8+Sy0QoLF2Dv7AWV2mk7RzZnDs3ZVxTmLkRLG8R3kAF - mqYtHu9CxeS6Ll0d7Xzwzrtc7+onrhcT99Zw4s0OGioL+eVnG1lTV8ibF+K8erSDsx2j/Orn - d7C+qWKxsndd96bxF8fOoBuej1r/moaaP9eR2RnOHDtCMp0lVBSkvqmZyuqiu95LwHWyzI6d - I6uGiA5cQiuMESiqo7BsLZpmkLNdbNfBZ1nouoZyHVLxEQxPCdFwjP7uLiLRGMGCAppWr6a8 - qoqBK39CZOoaaw/+W1LK4o3z30HXDJ5b9yLlbT/L4LU/o7LpIP6CKnKZKKn4KIWlawgUr5or - k1K4ysXQNCJDPeiGS0VVho6rV7h+Lk62cA3Hrk1RECylobKYjasqCBX5sEyN8NQ4aStA6api - cukmrh1/j/q1m6loaEEpRTwaYbCni8IgJMIdXDvVh71+063nSNPRVD6sBRe3yOVyzM7OUlFR - QTIe5cIHr3F8CErrC5j2mKSVwtJcmhIfUjT1Nrn5LO/Gysmd/9OamiJR8SSjpc/Bx+Yqe7MT - NA3/Pk4mgmV6bhoYdJ0srpNFNzxUNOwnUPNXOXqum8szOv3TGTyGTlOJycYtdQwnElj9r7NK - P8Kp8M8x5tOY8ehsHB6htnSa1aFzJGr28Z3hCOmZHXjTleBCRqWpLUjxaOh1SgNNeIsfY+3q - AJWNz/HhpXcZOtVDWTxH2cbrhKdO4roKRxmgGfi9HhYGKzO5LEq5eE0LhcJ2bPz+EjYf+ndU - 1G2/6ZiVUoz3vkXH6d8jEZmrhB2lYeg63qrncWt/gdn4IH2RMHqgEI9vriVvGQaPNbXQFiqb - m3ypFDNTEwz39xGdvow9+11cJ4qGQkOBZs6vqbBx0VFKx73DYCeAjkL3hHhl9CuMJYqpafTQ - vLoAv9dE0xS1Uz+kYPJt3KJ1TJQcIu5rRukWupuhMNlB9ezb2Ilh1Md6djVcNOWgoWGYXlzX - nvun5sri94eobHmJc4ltRH0WkxMpZvvG2Fx4kkbPOUzLx/Zn/j2hqu0c7+9hKhHnmdZ16CjO - nj7L//rej5jVK0gYxRRXBaht9JDq6OLxhiglxikyyUk27PsNhuxd/M/3z1JSbfFzu7exqW6u - 7/qdV/+CxpZWWjdsIpcOc+mDr1NW+wjV675C/+w0b144y+rySvav2chfvPY2p/sSRNKKUr9G - Q2Gcjf5v4/V62Pr0f6SwpPGmfm/lOrSf/G26L/wRtpqfLgn4vBbNO3+D/uxmzveNUFgFFWaI - /etWoWaPc/nw1zGDjxJVe7gy4dIXVgQ9sKXaYG2dQ6T33zPtW8dUw1dRCiLpMBpQ7A9BLk5j - 32/htWfmrwQdpZkUNz7NY0//CyYnJ3H8Xo729fBU0yomjv+IqZnXicQu4igdXZtbxBbNhTgZ - PsSk2oRmuazbEqSo0EI5OYqn3qdq9k00/27S6bWYuSTP/81/gKYbnD9xlOmx6xD9YzLpCC5z - 03hvqf9xJQDkq8UAUF6Bm5hm+PifcjhXw5DHi5HMUmlqZNIjVE9/i4FMCxc8awkSIBgwKQqY - tJbU8X57D3Fi7LKvU+fp4az1i4S1VjY2VzAdTzE8Ocku7c8ptEcYrfwCZYHVlAdCNFUVYxk6 - djbC0HQvXUMXqZ59jwH7cd4a2UvIC4/VQEu9l6RrcMUycVWG1aN/SCyc45Xxr+KYDqaZoSYX - o357FasSf46ZGOTV8b9MOFeJr0jn8zs2cmnwOM3xv6DBNwqA7tuOt/RlSnJVqHiWTHaI6eTv - k9AdLkV3ErVLyDg+lO5n76ZVPLWrgfPDg7x1/RLpXIatFZU0FhQwkJqlbuoVPP4Gtj/z29SU - lwJzrc3YTA/n3/77DEdyhEN7wBsgEtaozvVT4R5jwr+LkfIXicwqimOj1JUX4C+pZjqXIWEY - tCbTmI5D0nHRXY0CNYoe+1PiRhGX0wfIZlwMJ4Xfk6Wi1sfMrEFsWiMU8BLyeTAMRXV9HYHA - R2sTMukU00NXCOVeIaxvQlv9t+nNTVBXFGJ0LAXRC2xK/RFDqVUUGrMUe8Ik/KuJ+jcQSpyl - 0B5lMF5Lr7sL2ywk4PMQKvBSHfLS099LPGtj2Fks3aG0xo/h85OxLcaHs9R7e2g0r6CA6aLd - 6MqmJHyKYLCIUN0z9LS/SWlQo2bvP+XVgRi249Di9ROcifL66R6Suj4XoAo1Clv8BI0IldPv - 4MuNY/lXU1JSQmTqKqFt/4J3xmMow0A5Os+1bGFrcYB3jr1Nc6iG1bu2c+X0v2Gg/RUMXSPa - +vfpzJVCTqF7dbKjBmeuToPp4npzBO0Mny/7EzxWCg9ZfIH1VK7536hvbqWwOIRpmsyMnuTM - j/4PLkd20Jtciz3fUNpb8g5BM8qrU79E/aYqCkMWybjNdEeUL1T+N1LJGSwtx/vhr9KXaqKt - vpSxmTjRWIwv1X6bgDXDEb5GXBWhK4cgcYrMDNlMlrY1aygtNDl5+Ed4TANvLoIZKOG5F/4K - rY1rmJycxFtUyDeOH6bZ1Fk9eZyJ6e9xPrKbKaeNllKX1YVhfHofiUgnxWv/NieztcSzWaZH - M2wvPEV17C28BVWkYyNkSn+RmbEcBWs2U1pZS6rnOt7od4knR3l/+gWyrp+KGovyGovp0Qx2 - xqGmooTV5baMAeSrhTGAWCzNqZNn6HQ8DHp8rE2meHFmlvpsgmzqDVLpHG/FnmfCV8De8jYO - FJSxLpyjqKqFC3GdvpxOcbiGVUYvHruPcaMVr19nIhfHCB9ngzrFgP4k0dLdDMTh9Q9nOXF2 - nLMdUY4PQaSwmHG7ltzMJHXmObRAPdsaiqgo9DGUjjLl8zHrKrLRAZqSR7jGJiatEpQyKaYQ - X0MZBRUFDM6W06RfoL4gQWjNbvqZpK2xhBrtJJXJs0yUPU/KqiAQP01Exbjur2Ymfgac75Bw - HE4lniZQtBnTV45mhUAr5nR/llMTs7w/NoLreFC2h2sJnZi/DNtTjnIMiqJHuNSfxPJUkw5P - 0t3TxbWT/5F4pIdjs4eYcWqIF9VhltSSDa3GVTZV8aMkp2Y511dDJKxTZyXmuz0M4h6LCcfh - 8PgMZ4ZcRqZGqeP7uN4Czllf5tJABRPpYsZz5WQylXir6jHLm1kVKCNYWIjhC1JXVEZVo0nr - uoNU1zRTXtVAqLIewwwxHY1TlD1CtrCMuFXBk23r2N1Uhtv+W4QzJm/MfpGY/1Fy0RmK9CFC - qSukMopQ618nUfGX6Jz04DP9PL53H83VtZy9cJ3zWZ1xTwk+q56Q1YiTrmbMX4obrMZXVUum - bD3jVivu7DCl2Wv4cpPESh5h9bZfo7L4Ua5P1pCOnCA69GMi3tV4jCAzuQThnmO0FBxhe+go - G4vOUu89R2XyFIWxK6SMYkbLPkfnUBWqYiNm+AhjM71M+TfgT6fIeT1c7pugd2CI0/EpqjUv - qb4TDPR9i8nQAcxcGC18mXOjGxnqzlFcYeFYDpFcknVr/JSWJHnU/FMCRoLXeJ6kXkxt7gyD - cS9dw3F6BvsZHu1h5trvMB7VuZB8DKUgbptE9CLGVQ2bA2epKFPkKtZTFywm6aZpcd7En+rk - ramfpcbXT5lngLptL7B+fSltzSHqtXOU5j7kgvM8F/qryaZSWFPdVHtdmjc00H7xIpODY7S0 - beLsWDkdo4W46TSb9xxi/ZoN+E2LZDJJ3HV5t6sDlxS+qe8xlSrgMl/m2UP7WNe2lmujWTqn - AmhqDG/0A9Kah6F+F3/4Cuu0N8mFNlO/+x8zNXgYJzfMkcJHOD05y/GhQXKpy9TbZzmb2MtA - tgE8PirWriKlgqSnFdGpWR7ZvoPa1TslA8hXCxlALBql/cJpLhcVUZ9I88TQNB5HkSi4TLt7 - mFD2EH+SXsNw0OZf6wYN/z979x0jV5In+P0bz6bP8p6sYtF7TzbJJtmG7We6d2dudmd1mpUW - N4AEQcLh9gCd9M9B0gmLw0qnP4TbO0GQdJL29vYOazQ7prunfZNNNr33LJpyLJtZWenzWf2R - VUWyWU2yuyurssn4AAUyszLfi5eV7/1eRPwiwghgqTrCyvPXJZf3fY/2Ivwk00ei9QPOeFu4 - qGynwSywp/TXRMx6Qq0/J2MEueTa+DeGePPwEUqqzsd7nsdfUsuNnkmU0jhvhf+KlBfi1+It - XDQaIxGWNtYzPD5BQ/ozNquXOFbzh5xNeOhC4dWGRSTDCvGkRWL4DuG6I6x37qC3/ow/79VQ - lHHe4F3ccAc9dT8ll7doT3xEJ2fIRFYTtEZwLIdD2f3cDLTgax7gEwt5tNdbJG/FSQ6HWVmX - ZE3hLn4hTV/7cowVy5h0BvG9JBsShzHSSc4V/oAlDc1MpM6xIvA+Z5WtHLfXo+kqAd2gORal - s7aWnsE7LCt+zgrvEucKmzk59iJuwCPckKVdEQSjUYINddy6mYPhQV5u/DvMsMlY3Y9ZNK7T - Y5c45rvkfbAVCJsGa1pbGMlkuJOYmPn7mgqEdJN6w6AOqFMUOk0TPAs1/RfYFPmV+veYtFU2 - OEfZyhl+7b9OHx3ltnggQIF6JhijAQsDAaiA6/v4lDsshfAJe1l+HNKoy2m4zW0I18XOF8j1 - 3CJqmmRUhb+NhsmoKg1ikpBh0t6xmqF0hlvjCQBWmz7P8/9R9DxOKjvZqVwmXOxnxG/kAqtB - NXFcF0PxQNHpo4tVbe0IIbg9nmC3cZXO1Hucjr+I09KIxiKE1cilc2nSgRQNnsfb+l/iheL0 - tfwnrMtO4iX+Jf3uTv4uvZOuhjAdXTHqBHT0HCcYPkUiO8IHvEQu2M2K+gjrxv9fnOIk/4Ef - UcJkO6fZxhnezbzDnWgTuqqW06mn5s/ZLk6zlZPkav6A1nQtE9E0Iv0fcPx1fJraTzx0hV3G - BxzzN3Ne34XuTPJ7/l+RN9v5u9zrFG0fL+DcN2dWuXlpunkQW0UbqcE1bWjK8OLSZfzDFw8w - NjZGMBbjX/zyXdrsT+koHOF08W3QW7muuGR88KaGRkQ0h98xDxIq3OGmv5huerlb7OQjsZ+C - obNCDPIK7zJU8yIN0R9wc2CAxd7/RtaL8mv3LRzToLupgXgwyJXhYbLFEsIvd/5GhcwCmje+ - 7zHed4XPDx9nwtJpaawlN3SVcRqI6jY3zp1DrWshoN7rGCsWi2Bn+DyTRbge0bTFpajO3UbI - FD+kVm1jjb6dDzWfDkXhgK1wPrKIm2YNbekEmzUYEoLTAUFNQyeGnWKxf4Xnsl2sjt5Cs/uJ - 5Q9Q6wYQ2UmSxRLpiEHOzjJRG2R02SJi2SyhWoN4Yw2WGqezeIKQGaYQ6qY1FiXkeTyXzbDY - O8EYBl/aq2kyCjQGSlzKphnJ5AkVfdLB64zqRTqEipY8x/boZrr9wwiR5Wb9jxnL9BLL1ZFT - Opm0FFqdM9giSH/LT7HDnSyfcGnWTBoWl1jakSIetmiKWASSIZbpEVY3NhFu62S0uYVap0hd - IYFpqbQqzWj2VaJeiuxknObAh+TUMF+IPbREalhV18C65la21TbSKTRC/20xBgAAIABJREFU - bolSbBVBL8ci7xxxPckWLcbPgwF+omnscl1GDI+4cokN6vsEgiqDjT9ivR1lq59lnenzoqex - SDGh0cAwNVLZIgPpDGFNJa4JCq5Pm27wejjMNsNgqabRoGmkAlDQ4G6gifrMCXQnR1Ax2ep/ - wV19OYXgJuqCgq7GEI0xl4YaHzMeoDESYqmv8prr8ZaisV54NOkWjctMGpomWR++i04jw4Uc - zckCLReuUHv5OhQK9PseDWMJNo2OsT0S4qVQPZs8HV1VsOJhokaBhoYi9W0K+cZ6Sg011DR5 - aORIRnYy4m5ixI1Q1KNsbnJ5sb3EvpYCQcXmXMInHorRGo9h6M0syl6jhkF2eWuJannG1Rih - cIDcHdiifUZTcJjept9H2AFiapyUW6TBOUYm1sz2tuVYlFDSFwin36fgpvlc3Uc23MIrSydp - Dw9hB5oI5W+i4lL0A7zIQXrtNVj1O6gLmayur2d5bYylAVin+Ti1S4jZPTTlrrNOW04u/x4Z - TSfX/Pv8MUXWa7X4pAhovTy/6lW6nJMErWEm4u8QCdfQodq0ajod4RANsQAtkQCdoQgdkQj1 - hk5rOEDI1MknBUtqg+zrbqOrpY18Pk9mPMelQ0dYrr9HOrqJVXW7+E8tiwOqykpUmrQQdYEw - 8boGSvG1RK0BWp3blMxOjo6/TaQYYWe9ySKzHVOMES2e505oCXrqEA36MKOBH1JjNNJaW080 - GgR8orrO8kCAvSj8nu/x9zVV1gDmi1Oc4KOPT7P/1X3cPPoh6sqXaUwcZbRhHy35i5we1nh5 - 5+qZLsLpGsCVu338+6snCJkudc0eZjCNUEqojkWdE6M2a/L+JGxMFNh2O4mZzqIVi9hhE6W9 - lotddXweVglpATQrw+bsp7glE8OwGDfbUQNraQx4JEsF+hQFW1doNCziOCRyBhMjOmkvTCEU - plQssdv5iGZ3kHeVN0goDcQ1wRozS5f6BUVRQ7img23xScKKy1jJ4FI6womJGgaLHlE82lSL - TaX3iBRMisECw+ENjIfWoJPBIsydQpCC5RNzxlH0MDX17cRNqM1mqfd9bN/hfNFnIK+iuArr - FIVdQrBUUfi8JsZB1cfPjaMGshiaRzZvsKhwlTXuecJemLwo4Kmvcz3aiFpvYpZ8msYtapNj - aEoBQiZefR0lTZC1LlByBwmVHFq9TtTAVnCGSZVOkfNGKZqdjDc8Ty4apE4ZJxMo4QqfWEmj - oaCjuAoHS4L+MZOV4TwvNxVp80t8lAhxKh1lpxfgx4pGIWBzpa7Albo8Jc3FtjTiuUEihSxh - N0AqYDNsdlAfMMgb5TtO4YHilGsClg4xR6WuqFFX0EkGbQbCFrYPNUWVtObgGxCyBK1XJ3FK - gluxKAORMJ4vKFmC8LjD1pE0L8XqMBuj3I4XOdTsIPQMGh6qp1BrKdQVNfKGw0jIIo9GJmtQ - 55bYFMpQq7jUuz5hW2PEdLhRCvHJZAvt8RD1fgbVnyBplhBaGN0TOF6QAiYMWbT7hynqzdjG - bpYXXeKWSiqbxnf+irzQaQi8wLB3DtUbphiKMxFbynC4kXDAwfR9NE9Q0nyEb6MV8hSLCnVe - kl6WskSvo9V2mQxYeIpNxnQoqh4WBnopRyQzgO7HUQt95AOrSYbWsTpXot5PMxJMcddM4ZoR - FLtA3YTNS6mVRCwDW/j0hy1O1hRIxIo4vqCuFKYrFaWhZKJ6CjYuqYxFNugQam3jlb0/YGxs - jMLYINeP/LcIPYvR+hMmwzo7J0cwMjFCXggcjdORKAdr4zw3McmiYhqj1Iuvt2NaJlHFw1R8 - bCEYFjmulv6Kgh5Ctyfoi2xhLL6TQCHMpGnQocPGQoaiZhNU8ig4FDWfrOHIADBf8olrnLod - Yu+2ReTHr3K6N8zKYA/X/aXk+m/w/CsvE1LvLdLhOA6JRIK7yR7eP36MhB/EEgIPH9WxUdVy - lV+b/usJsAHV8dBKHoWQin3f6EsBGH65iUDx773eETA9xEYD1KnXTD8nhEepqJC3VDThE1Xy - GKUkth4ha8QQOjPZBQKfAB5h3yOAjza1FR9BytawPQVTcfGLKTzHRlEUotEYtqvPvE5XwXZV - PCEIANPJjrpfLmsGSNoqSUeh5Cgzx9YkBAVdwVFLBE33wYwH2yNYSqHZJRRfo9bvQMWngE+e - AsUAFMOPy4j2UT0f4VoIr5zLY6sxfM1lOhMpMHW8RR5MO9XwieAS9F2MqbyQgqsyUAgSESpO - 2MKd+lOp+LiPyBTS8QjgoVkCshoFV2Ey7mMaDw72cV1BIa/RllFJqDZ+nY+hP3pZRctWMDMe - WkzD1pyZ/cV8j4BtUG+7IHx81SVjOAwIEwcFw4eYBzUuRKd24QnIKDCmlv/9plQfAo6Capfw - 7Al8oWAFwtjGg3NW6a5HJOkRsRXGox6FaOUz21Vf0JjXyGgeOXP2xZhiJZWaospE0CWvu7gC - 1jSa/Gev/ozR0VHSI5f5iy8+xtXiBIIhSkLgIdB8H80XkA8yqYQoqQqLJjPoU1O2z8zQGwCE - j+0LUq7A9sbQyOEhGKQNCwMATfWJBx003cOb5WslxwHMF9+bmddEaBrC9/E9l8H+HoJaGF2U - r8re1Jz0nudhWRa6uYyboxPffEGM3MNPFR/zltIjfqcAHlCeumxpOXrkZ99H6okKWDZi3Zur - fXoq6idhTv1MKwBY5S/0bGOfS9wb/PPQGM3s1M939HWfX4lZ/xwApHnEL79mWw8VdWL2feuU - L8AAJB/9951WBEjMvr9bjyhTBhh8gu1/E/e+Xl3lf2ZZVG6mfOrUG2b5TlZC72N+Pzb1M3PS - CUGssRXLsrAsC1G3geFisfydzzx6Wz1MTdkxHUg9ZjnOeyPaA1M/ANhgF2c/JwBZA5gvVm6Y - g0f7eOHFbQxfOshodCuLC6cZbdhLbOQoN7129m3ofKgJqLGxkXzJmcnpf9oIIVCnVv1y3W++ - IIskfT8IwmZ5HY2xsTGam5ur4ryWNYB5ogcbWRy/xm9+/WuMaCsvrY2Sux3AUBXaV28ncewQ - g6lWOmqMB94nhCAcePKZBb/X9MquriVJC216SqNqOa9lDaBKTdcAmpqaFrookiTNEdd1GRsb - o6WlZaGLAiBnA5UkSXpWyQAgSZL0jJIBQJIk6RklA4AkSdIzqqJZQL7vMzQ0VMldPLVc16VY - LFZsxShJkuaf53nk83m8R6zSNZ9kFlCVkllAkvT0kVlAkiRJUlWQAUCSJOkZJQOAJEnSM0oG - AEmSpGeUDACSJEnPKBkAJEmSnlEyAEiSVFUunDzO+MiwnBp8HsgAIElSVRke7Gd8dGShi/FM - kAFAkiTpGSUDgCRJVcO2y4sXuvbXLWIozSUZACRJqjqeN/ti69LckgFgjviey0DPJSamFq72 - XIuei6c4dOQow6ki4FOcHObo4cPcHJoAoDhxt/x632O07w4ZW3Z6Sc+26Qu/68oAMB9kAJgD - nmtz/ugnnDzxJXezAD7DNy9TCLSwZlkHx784TMnKcejQKRavWMHQuS/oyzhkh28wlIXCRD8n - b4wQlEviSs84T17455VcFH4OCEVj9bb9xPXfkpt6rmXZBtoUBSefQNMN7NwwRuNq2hobiG3s - 4uytUVYZ4Dl5Tp6+wvZ9r6ApYkGPQ5IW2vQ0yY7sA5gXMgDMASEEhmFw7/ItUAQk+q5y7PIg - W3c/j1K6hR6sBQRqOIxi2bhKiaOf/IbG1mU0Tt3+u66L53nYto3jOJRKpQU6Kkmaf8VCESgH - AsuyFrg0c8/zvKo6r2UAqAifzMh1zvQVeenlFwjoKsVMmNLkONBMMTGGiC5D9U12vfI7iBuf - cbZ3gk2dtaiqiqqWg4GmaZimubCHIknzqKiVv/ue55ZvqsTTVSt2XbeqzmsZAOaAa6c5/eVZ - Bu70Yo0dQqxZSvrcGfLRVo5/eRgt1Mj2zUsJWxf48NMxClmX/a/XYfeAEDort+3ii4OHGK47 - QEtUX+jDkaQFM935KwcBzw8ZAOaAooZYtXEjKzZuBEA3g6hNP6Bol7/MQtHRVJ1t+18hmyug - B8IEdYG3/DniCqhKmD37X8RTZS+wJAH4VbJk4tNOBoA5IBSNaDz+lWcNvlrJE5pBLG7MPFY0 - cyoNS6AZgcoWUpK+B1xnaiCYzAaaFzINVJKkqjHd9FMti6Y/7WQAkCSpajhTNQDPdRa4JM8G - GQAkSaoesgYwr2QAkCSpakxPBSEDwPyQAUCSpKohp4KYXzIASJJUNe6/83cc2Q9QaTIASJJU - NR5I/5SjwSpOBgBJkqrG/TUA2Q9QeTIASJJUNe7vA5D9AZUnA4AkSVVJ1gAqTwYASZKqxvRA - MJDTQcwHGQAkSaoest93XskAIElS1XgwDVSuClZpMgBIklQ1ZBro/JIBQJKkquE4NpqmTf1f - DgSrNBkAJEmqHg/c9csaQKXJADBHfM+l/8YFkoXpxw43L57g8PHz5B0f8Cmkhjh88BA9dycA - KEwMll/ve4z03iJjyy+89GzzPA9V12f+L1WWDABzwHNtzn35MadPHWcoC+AzcuUofXY9y5oU - PvvyHK6V49Ch0yxdt4aRC1/Qm3bIDfcwnIVCso9TPeME5fps0jPO81x0vbxqnkwDrTwZAOaA - UDTW7niRjUubyk94DjcHLbZtXELTouUEiimyuSHMptW01NWxcWMX/bdGp16a58SJK+zYsxVN - iAU8CklaeJ7nzfQByHWBK0/ec84BIQS6rnPv8u1jGwZBRSB8hZCiYjsOejAKCNRQGMW2cdUS - Rz/5DY2ty2gIlBeEd10Xz/OwbRvHcSiVSgt0VJI0/xzHIRAMAWCVSk/d99/zvKo6r2UAqASh - EHMLJCyfRsUh7TmEAhGKk+NAM8XxMURsOapnsvuV30Xp+ZTTd5Js6apDVVVUtRwMNE3DNL+6 - tLwkPb2EEDM1AEVRnrrvv+u6VXVeywAwB1x7kpNfnGag7w7W8GewbjUr13Xywbu/IWL6xLq2 - EAw1ErXP89uPhikW4MU3arFuAEJj+bbdHP78IEP1B2iN6gt9OJK0YFzbxjAD5f/LPoCKkwFg - DihahHXbtrFm2zYANCNAwGjizdfasT2FUCiAELB1/6vkCyV0M4CpCbzlu6hRQFVC7HnhJTxF - /jmkZ5sPMNUX5nkevu8jZN9YxcgrzhwQQiUcjT70vBkMc39FT1F1IpF7d/iKZkz1wgtU3USt - dEElqco5dnkgmKZpsgYwD2QWkCRJVUUIMVMLkCpLBgBJkqqCbZcnfyvXAHRcW04GV2kyAEiS - VF2EAAG+nAqi4mQAkCSpKkwvAakoCpqm49hyMrhKkwFAkqSq4HlTAUBVp7oAZA2g0mQAkCSp - 6ghFkZPBzQMZACRJqgrTTT6apqMqqkwDnQcyAEiSVCXKTT5CgKKocjK4eSADgCRJVeFeGqiO - osoawHyQAUCSJOkZJQOAJElVwXGmagC6jqZrM4+lypEBQJKk6jCT9SkQ5ZFgUoXJACBJUlW4 - VwPQUHVd1gDmgQwAkiRVh6k7/qn7f/BlFaDSZACQJKkqzIwEVhQ0Xcdx5FQQlSYDgCRJVWFm - LiBVrowxX2QAkCSpKkxP/aAoCopSvjTJwWCVJVcEqwifRO9FDp7qQVWgpmsjezcs5tLRT7kx - lkcx63n11efJ9xxmvH4Py+N5Dn18iI0vvkqNIRfCkJ5N7n01AHWqFuC6rqwRVJCsAVSC79Jz - 8S67f/gOP3zrNdLDtynmRxkp1fPO22/zXCdcvD2J7zq4nsedc8cJL99KXF78pWeY53kIRV6S - 5pOsAVSEysr1HRz64ANMzaeubTV+cZJgXSuKEMTaWrGvp/ACFqcO/Zba2kbe3NKAoHzH43ke - juPgui6WZS30wUjSvLBtG1VRylNCiHIgKBTyT9VwAM/zquq8lgGgEnyXO/1DrNy0neZAiRMn - eyh1NONa5bxm37JwVROh6azetJ7E5XNkHZ+YLmbaP33fR1VVdF1/zM4k6ekw3e6vaRqqps48 - 9zSdA67rVtUxyQDwCK6V4Vf/9v9gILSRn7+2hAv9Ots3dDzBOz2SqRyNkTBhU6WQTqOEN5Id - PkrObuH6hR6aN76GGL1JKNrMqm3dfHLwJD94eTvK1GLY4iv/StLTznVsNN1ACDFzgfRc76k6 - B4QQMz/VQDa4PcLd0+9S6HqFiDeMatbQc+34k71R6OzZt4c7pz7ng89Osf6FfcSMGLu3LeXQ - Bx9BxxaW1RkE6tqpCwrCzUvZuSTIUKo6qoWStCAeaOupjgvk007WAB5B1XWK+QK+U+LyyQ8Z - ydU82RuFwIw2sOel1x54Ot66jNffWjbzONK8jAgACs3d6+as3JL0feR5Hop6rxkIkNNBVJis - ATxCy4Y36HIuc/dOP59fKfF7P35xoYskSU+tcvv4VMrndBOJnA6iomQAeIT+Mx/wmy/Ok5xI - 0Xv1FH/z/tGFLpIkPbU8z53pCJ7+V04HUVnz3gTkezlOHrnGhue3YM73zr+hjs2v89+vPQBA - afIOX1wqLnCJJOnp5d036EudGfwlawCVNO8BINd3gYGREbShtWxure4QUEgNc+nWMABOPsGt - gQKwdWELJUnPEE9OBVFR8xsAfI+LPVn2v7mLM8ev4Lds4OjHn7D2pQNE/Byffn6OPZva+Ozo - ZUp2icVrnmddU4ovziTJTI6y46U3GTj9HkOTHq5ezxuv72b86jGOXh1DFyVindvZs1Tn0y/O - UHRsmpduZ+fa9m9d3EJqhMuXLwMg1ABvvvnDufokJEn6CsdxCASDQHldYECuC1xh8xoAPC9P - 2jepNeuhcBYLwZruMBd7UqzXr2K2reLyqYNYWpiQKjhz7hTrXu5iaNLnJz94C00Bv6OTtD3M - 8K0eRos7uD6U4513foCXuspnVx1unb5AWjGIBxTOnD/znQJA4/Id/NHyHXP4CUiS9PXua+6R - WaDzYl4DQL7vPL3DY/z6N+9STI5wZcRiw+J1ZD89y0XFYuMLNVy6pbF57/M0aCAUDQq36Oxa - gq4qOLk+zt222bt7Dzf9jyhZPqqmoykCa+obY9uwfsfzLA4Knle+3SRSrpXnX/0P/xVnhx58 - fsULP+Wf/OyV7/oxSJI0C8d20GLlO/+ZGoAt00Arad4CgO97XLg2yY/+4Hep1wROfpCPj11B - vLCBBiVJr9rBLlWwZn0X733wAfXxMJHmbrYuurcNoZgUk3c4enSC8TujbN+l0aQX+OV7HxL0 - kli121m6cSW/+uS39NVECdQtYu+Wld+4rIoe5D//p3+G60EhnWAslQMgGG+cq49DkqSv8B+o - AZRv6GQfQGUJ35+fRFvf93EcB03XETOPXXRdxXMcXBR0TS0/b5VwPNANA1XxcT2Bppbnx3Hs - Es7UY1VVSYyNEIzESfee4Lqziv3rm3BsC8f10AwTXf32ma4TNw/xz//3D8kXUyxpCKCu/wn/ - 8He2z92H8gi2bTMxMUFTU9O87E+SFtrB3/6GhuZWVm/cDMBHv/xbuleuZumqNQtcsrnjui5j - Y2O0tLQsdFGAeawB3D+/x73H5d0rmj4zIEEIgW4GuH+qJE2973fGfb/zfbzcOAdPnCRQ38me - HU1TrzGZi6mWxu5c5fU/+kf0nvoN/9E7B/jlR+fnYKuSJM3m/rn/q2WunKfd93sqCCFo7l7P - m93rK7L5psUruZZIEkrc5H/513eIdMqRwJJUKZ7nzQwAg/J0EI7sA6io73cAqJDp5qr40ud5 - Y4kPW/5rJjNFYjXxhS6aJD21PNdFVdV7d/9CyGFgFSYDwCw8p8Sf/4t/wpVsC1u3b2HPnj0s - aqhd6GJJ0lNrZkH4+2oAiqLINYErbF4DgHP3NP/q/RssaQzheEEO/OAA0Spc7lPRTP7wH/9P - FPJprpw6yi//4l8zlCiw49W/x9vPPz0dUpJULdzpBeHvW/9XUdWZwCBVxjyPBPZZvuUFXt/Y - xOT1Q1zoy7Gry+T6mWMM5jS279xBWOQ4+eVxckqMHTu34iX66R1PMDKWY+OOnTSENNIjtzl5 - 6TYtyzayprOekf4B8oUEtwezbHpuFzWGxbmjx0i5Qbbs2EbM8Lh25jhDBYPtO7YReczau0II - NN0gEquls7ubwZFxkomrDI2n5umDkqRny2wXekVRcD0ZACppYZqAfJfe4TTNGwPcvXQSp3kN - 24w0R46cYm00idK5k62xAqWiQ37gCpPxLezcaPHh50d4+6U1HDxxh30v7eT6kY+5Hn2dyUun - UVfsYNu6CCdOXWdT/QiZ+nVsa/EplUoM3riA37qGzeoER46e4dV9Wx5ZPM8p8av/+0/54FyS - 7hWr2bHnBf7ROz8lGKjuuYsk6fvKm7rQTw8Ag/KEcJ4rm4AqaZ4DgM+VE59w+5O77PjRH9Ed - F3zx2U1G1VFuAUZ9J01L13L5yy85aYZYs/05hAjQ2tpIOOxSa1ynmOzHWLyWWDjC+nWdHB6c - IB5sYGV3K6Y1QVDpJ75oNdbhk5y8G2DZxm3c6rlJ4s4oPYDZuOTxxVQ0dv7gH/DqzxowDX1m - mUZJkipMnmrzap4DgGD19pd4qdvhtx8fY2nra7Q21KC27eS5zigj45MULIddLx3AT1zk1JVh - Vqg+rudSTA0x6RmYNa0UT1/HWlfPjat9NK9dSTH54F6KJZ9te19Czd3hxNV+OhrimB272LEo - zEgi89hSKopKS0vbdzpSpzjBwU8OkXME9UvWsWvtIi5++TE940WEUcdrr+0lf+MLxuqfZ0U8 - z8GPD7LppdeoeUzzlCQ9jabTPfX7awCajmPLZVIraV4DgBJppkuEMKIRXj+gcamnlw3PvUjm - 2BHeveqwavNz1ARdjn3+AZZRz+7dHaTOXeXU5x/QE4ywf+9u1IDC7nVJPnr/t7Qs28qmRpO7 - mTY0QFECtLU1YpgqZ458Qk5EeW7Pc0TVTrLHjvDeVY/Vm3d+q7J7joXlKQSMJ/nIPHrPnqZ1 - x6usqjfxfR8rP8yo3cQ7b29i/NphLtyepNtz8XyPO+eOEV25nbi8+EvPOjHrf6UKmbepIL6t - wVOfU1q5n+7Iwpbj5qF/x1/dbuC/+cNXH/9iz+aTX/wNxVgtTq6AVruE/WsMzg3WsHtjK4XJ - m5y5rrEscJ33rpWob2jlzf1bUUR5NKTneTiOQyqVor6+vvIHJ0kLLJVMcO7YETbs2EVtfQMA - F0+doFTMs3XP/gUu3dzxPI9EIkFjY3XMK1b14wBaN+2pioUrl+z+Pf7xrie8JxFgGHE2vPAK - 9arHqd9+SoLFOFa5OutbFq5qIjSd9ds2MXbhFFnHJ6YLFEWZyYVWVfWB6TMk6WmlTaV/apo2 - 851XFAGIp+ocmB7tXC3HVPUBQFEXrojj1z7jT/7sF/iqAM/FFQZr977Dz3+8l0cOXxAa3V0B - Tp3u5eVNDSRtn5XRFi4Nf0nOauXa+Ru0bH4DMXKTQLiB53cs46PPT/CDAztQv9LhLOdEkZ4F - nl/O9lGVeyOBFUXF87yn7hwQQlTNMVV9AFhIufFB3vwv/hl7OjXs/CgfHbpKKHmCS4m9bHhk - y4ygdfXz5C6e4Lcf97B+1x4iRog9O1Zw6KOPaF2xnWW1Onm7g/qQIBRayq6lFsMpi/YaY74O - T5KqxnS65/0DwVRVnUkPlSpj/tYD8DzOH/2IkWz5sVACbNu7g9HeIVaueILUzK9uz/e4ceoL - 9O6dLKl7gvx832fk+kmGjKVsWlL3RPsIRKIc+/QTNvx0P6NXTtM7YfBCfZwnyUwWqs7yjbtZ - vvHec7Hmbl5/s3vmcbh5KeHyq2laIkcYS8+u6Xn/758KQiiKHAdQYfPXui4Ea7bt5/lNbVj6 - Ivbt3UncMFnavejx752FkxngTqGGrie5+E/tv3HZBpLXTlN4wn00rXud15Y5/OX/82/44rrF - T3/8MmrHVlY/WfyQJOkJTY8EVmUNYF7N73oAhokwdDRdwzRNPGeSzz69zMsvb+e3v/z3oNeQ - SGVpbqknPzFOy6bX2Nxc5JNDZyg5Fo1LtrFr/SLAZ+DyZTrWHED4Lp+//ytKQmciMUm8uQk7 - lyLcvpl9a6K8++5BhBmga91O1nc1sLLJ49qQxabWxze19J/+kCO9Bfa/9fusX9aKKgStWzdV - /sOSJAlFUeRcQBW2wPk1Pq7rgg+h+sW8+uabbG2L0Ln9Zd58Zy/2yAS3Tp0mLVRMw+TM+TNT - b/MZH/Wor9MAHz/cwMuvvsmBLa1Eunbw5ps/xLRG8O0cJT/Mmi07Wb24HoSgrqGWscSTzenT - sfkVfrR3HRcP/YJ//j/+M/76M7kgjCRVguOUB4Jp92XHKKoql4SssKrpBBaKgjLVO15uBxSA - j+3Axl0v0BkUvCDuxStdF7guoIIQCqoiEKKcOQACBGixLt5+q4H+m1f46PYgrz+/Ccdx0LUn - O2yhqggFNEWhkM9TKMhRiZJUEdU9HOmpVTUBYHaCZRtX83cf/IbbNVEC9YvZv3UVCMHi7jBX - bqdpWxb62ne7E/18fPwyqu8RblkBvkdfX4ol259sbv87J37DL04m2LP/Dd75g1ZMozpydyXp - aeM4DvBgDWD6/7ZtV03e/NNm3kcC+76H6zGzyLvneiiqgud5qOpUm5+iIfDwvPJgENexcT0f - VdPRphZ595wcn356kv0H9iE8D1VV8T0XDwVF3Btw4Tg2ng+6ruMVEnx87BavvrjjiYaZ+56H - LwT5iUGOHPyCieASfv+1bzeVxDclF4WXniU3r17m1rUrHHj7RzM58n03b3Dt4nleePPtpyYA - PLOLwk8TQnlgkXd16sF07/+9gV8K0wkBmm48VFChhti5YRFDExaLpjKBhKLODNCa3p6uT3X2 - +j6J0SRbn9v62Iu/73uM9V7ik08Pc/L0WdKZNGte/Qf89IXKrD0sSc86x3HQvtI0q05d9B3b - emoCQLWp8iagryeEINLczRNPESQEjV0rnuilbinPn/3Pf8Kqt/9HuGkZAAAgAElEQVSY/+6n - f0TvwX9Deu3LtNR86+JKkvQoszRECDkdXMV9bwNAJalmiJ//l3/MJweP8icf/SW5dIL13i42 - NK0jbFThGpaS9D3ned4Do4ABNL18eZqeKlqaezIAzEIIhUWrtvOHK7fhOjYTo3c49OlB/vbD - HD97a/dCF0+Snjqe605l8N1P1gAqTQaAR5heG7ixfQW/+/eXU+UzZ0vSU2V6WghXDgarGBkA - nlA1zeAnSU8bx7EfSAGFexPDycFglVMFM+1LkvSsc133gYng4F4NQE4HUTkyAEiStOA8132o - E1iVNYCKkwFAkiTpGTUnfQC+73Hwvb/GMurK/fZCsPG5l2kMz8XWJUl62jmOQyAYfOA5TZse - CCbTQCtlbjqBfZ+cEuGNAwdk4pYkSd/CLBl28mJScXMTAIRCoz3J37z3W6IKgGDT86/S/IzX - ANxSil/9uz+n9rk/YN/KGi4c/oieZAmh1fD6G/vJ3TjEWP1eVsbzfP7h52w+8Do1hvzWS88e - x3bQYg9mAd2rAchZeCtljmoAHsMEeefASzNPLeBa7lXB91wunzzJ0k2bGfd8rPwIY24Lv/v2 - RsZvHOH8rUmWeh6+73H77FHia54jLi/+0jPKn7UGIM+HSpujGoAgjEff2DihcicAtY0tBJ7Z - IOCTGb5GKtTN5tpxxnPgFtIE65qn5jBqwb2ewg1YHP/01zQ0tfPWtloE5XQ4z/NwHAfHcSiV - Sgt9MN+Z7XlcHB5ic1v7QhdFqlLTa/9a1sN3+8Vi8ak4D6Cc0eS6btUczxxdogVd3Z2khoeY - pDxoKlj77AYAzy7x0QefozV38cnVQQbcYRbv6cYplb/cvlXCVU0UTWfTc1sYPXectO0TN8qL - 4UznP2uahmE8eunKRC7H+1cv86MNmwhW6YyJp+/c5k8/+ZB/+tobbGr/dmtAS083z3PRdH3W - 77uqqo89D74vvKmp66vleObkEi2EYMnq9Vw5c4qxgmDtpq3UBOZiy99PQjN5+z/+Ob4Pud6T - nMx3sbg1xPULR8harVw910PrljcQIzcxgnU8/9wKPvzsGD949TnUr1R7Hzf6+OzgAH9z7gwb - 2trZUKV32COZDCXHIZnPy9HU0qzK63eU8/7v/44oSnmtkKfte1MtxzMn4wB83+Pzd3+B1rqK - nZuWc+Q3vyDxDPfbCCHQNB1d1wnWd7CkOYZmxnj+uVUc/ugjjO4dLK3VCdYvoiEkCDZ0s3tl - nOHUN//QRjJpLMdhNJOuwJHMjWQhB8BEPr/AJZGqlee6qKr60IVRUVU5EriC5i4NVA2zvK0W - 4fts7AwwlIb6hjnZ+veaWbuIpVP/jzYt4bU3l8z8LtzUTTlRStDYufobb9vzfUazWXxgolCY - g9LOPc/3GctmARkApNlNT/b21akgpMqbszTQlU1h3vvwE4KqT7oU5/X6Odmy9Aiu55Euli/8 - o5nMApdmdo7rkikWAZgoyAAgPWx6qoevTgUB5VRQORCscuamDwCoa1vBvnUNaL5PMplAr44m - rqea47kkc+XmlWQ+t8ClmZ3luqSmLvzZKsl8kJ5c380ecrkMq9ZvWph2a3kdqag56wP48uwZ - woaBaRoUb5/i2sRcbFl6FNfzSZfKd9ej2eqsAViuw0S+XEsZSKUWuDTSNzXYf4fx4aGKroUx - PdDrq9NBQ7kGYH/DGoDnuhRSCQqpBHYhJ/sQHmHOxgFoxRzJoktdAAYSRZY9w1lA88VxyzUA - XVVJ5HLYros+SzV6ITmuR6ZURFdVHM+jYNtVm64qPcwqFrFKpakVu+a/jf6bVjp832fizjXG - rp+/tw0EgXgdi3a+NGsz07NsjpqABC+//gpHj3xE1hZ0b32F1uDj3yd9N8l8Htf3WRSvIZnP - kSkWqQtX1/wbiammqVXNzfQlk6TyeYLx+AKXSnoSVqmIPTUwK5fNEK+tq8h+pgeBPbwkJAhF - +cZTQWRGBjBCERpXbcIpFcknRsgM9eEUchiR2JyU+WkxdzWAYC17Xnp16qFsuJsPE4U8qqKw - uK6O0WyGdBUGgIl8Hk1RWVxTx82xcTKlIq08HQHAyqZRzQCqXh2Deuba/aNVC/l85QKAV26i - UdWHaxjqLEHhUXzPxcqmiXd0E23uAMAIRcgM9WEXZQD4qjmt000vm5i8dYo7srm34pL5HJqi - sLqpBcfzZu62q8loJoOhqXTU1OD6HkXHqfg+fd8nlxghPdRXsX04xQIDpw4xdu1cxfax0PLZ - 7Ezbf76CfUyPqgEoivqNFoSxsmk8x8a870KvmeX2aFdmEz1kjiZr8CnmsijBCLmRXibMTrqf - jpu8qjaayaAqCssbm8r9AVUYAJKFHLqisrShEctx5mUsQGFinLtnj4DnYYSiBOK1c76PUnYS - K5fGx8e1rQWpBWRGBhm/fp76ZWuJtiya85p3cSp7S9M0Cvk8vu9XpHbvel8/DkBRVTyr+MTb - KqbL2SeB+L08dD1YrhXbheo7Pxba3GQBeT4ff3YQxZvg6Nl+Eue/oK86xyU9NaYHgYV0g/aa - OAFdJzUPg8Fc2yJ5+yrJ29eeqIxj2SwhQ6cpGsXUtIqX0cpnuXvuCL7r4vs+meHK1AIKqQQA - nlWq2IWllJ1kovc6/ix3wFY+w8jFE1i5NHfPHGay/+acZ+oU83kUfAxNJZ/LMuuc/XNgugno - cR20nuuST44ydv08xfTDTQy+71NMJVF0AzNWM/O8UFUUTcctPXkgeVbMWQ3A9z2yty8SXrqJ - hrHPyBWB0NxsXXqY5/sUbIuIaaIpKnWhUEUHg/m+T25siJHLp7DzWRRNJ1TfRCD29XfX04PA - akJhdEUlYgYqOmWFXcxP3fn7tG/dy8Tta6SH+qhfuhZFm7uZCX3fp5RJIRQV17EpZScf+Tl8 - G65tM3jqEFYuQykzSfParQgxtUi65zJ27TyeY7P4uZdJ9Fxm+OJJ7GKehuXrZl73VZ5rcemL - P6F9xdvUtW55bBlKxSIKPpTyFIWC71dmhuZHNQFpukZxLEPf8U8ppSdwLQvwmRy4xbKXfueh - 1xdS4wRr6r9SUxGoRkDWAGYxN30AQmHX+m6OD4TYuTyKU7ucZXNf65buM50CWiN8xi4cJ+h7 - jDzi4uo5DoVUgvGeSwydO0o+MfrE+7JyGe6eOczAqYOoukHjyo14rvvYE2p6EFhzJIqhqtSG - ghUbDew5NiOXTs1cLEN1TUSaO3CKeQoTY3O6L7dUpDg5QbC2ASMUpTiRmNPtA4zfuIBdyBFu - bCPV18PEnRszd/jpwTtkhvtpXL2ZQLyets27iS/qJtFziaFzx/Cc2du6S4UEd3t+zfDtDx9b - W/Bcl3RiDFPX0RWfYqHwjfPpPdcl1X+ToQvHZ5pmZn3dTA3g3uXIKRVJ3rpCdnQQz3VxSwXi - 7Uto27y7nN1TLGDlHvy++56LlUtjRh+++OjBME5JNkt81ZyNBBZmLfv2r8XAJ1ZbgyYTgSpq - utN3hW+RH+knZBcZmaUGYBfyjF07S3ZsCM+2AR9F1cgM99O2aTeR5tlnEPV9n+Jkkok718iM - DKIoKnVLVtGwfB2eY5O8fY3s8MBMpsVspgeBNXdFURWFgGaQLc3NLIG+72PlMhRTCQqpcYrp - CUrpCZpWbSbS3IEQgnBjC6oZJDMyQLixdU72C+BYRdxSgYZla8iNDZNLjOB7HmKO8uQLE+Ok - +nqId3TTvGYrI5dOMXrlDEJRCNU1Mnr1LJHGVmo6lpQTL1SNlnXb0cwAydtXyY3dpbZrBfFF - S9ED96rhxewIvudSzA6D74H4+iaX0SunKZaKtHd14ySGmMwUKOTzRL+SwlvKpBjvuUS0uYNw - Y+tMX4iVSzN65SzZ0UGEopAZ7mfxjpdm7Y+ZrgGoioqVSzNx5wbpu714ro0qgghNp+v514Fy - koldzDN29SzZsWHqwvc6e61sGt/zCNY8PA+NquuUss9uAHBti8TNy7hWiWhzx8x5P2eLwn95 - 5gxvvt4GQP7WSa4FfshqWQuomOlpIGJRE13TqQ+F6c3mKeSzBEORqfbQBINnDuM5NrG2ToI1 - DYQbWvDx6T/+KUMXjtFh7n/ghPF9n3xiZOpCMoyiadQsXkrt4uXoochMplewpp5iOvnIC9/0 - ILDaUAhD06gNBbmT/O53y1Yuw/DFE+STo+D7KJpOsKaelnXbibUvman+a2aQSEML2bG7OKXi - TDbId1XKTIIQGJE4rmOTS4xg5TOYkW+W+eD7PnY+ixGOzjzneS4jV06jmQEaVmxAKApNazZj - F3OMXjmDahgIIWheuw3ua+oRQtCwfD3R5g4St64wfuMSiVtXiLd1YUZrUM0AmdE7GHozTsEm - nxwt9y34oIcjGOHYzOeWvttLsu8mPhqhSBQjEmL44iUK+dwDAcBzXe6e/RIrlyYz1IdQNaLN - 7WhmkFRfDwhB87rtRBpb6T/+Gb1HP6R9y17CDS2zdiaPXD5FcfwuQghibV3ULlnJnTu9ZPt7 - H2jW0swggXgd2ZEB6rpWzDw/3S8zW3OcHgyTGRn4Rn+f+eQ6Nqm+HvypabGFoiBUdebcEopa - fn7qOaGoCEUFfDzbxnNshKpixmrRDPOBbZeykwxfOEFxMokQgsmB2wTitURbF8/tSOBE0aU+ - AAPjRZbLkcAVlSmVcDyPGlUhWNvA4sYoR08d5+rJQ6zf+SKZ4X5Gr5zBCEVo37yHwH3tor7v - 07F1H/0nPmPw9CEW73wZPRShMDFO4uYlcuPDGKEIDcvWUtO5HNUwHzhhhaISiNeST44+sv17 - Oi21LhRGEYKQYVCw7G89Gtj3fbKjg4xcPAn4tKzbTrCmHiMcm2mcfqCcQhBt7SQ1cIt8cpRY - 6+JvvM/ZypAbH0YPhjEjcXzPw7VLFNMT3ygAeK7L8IXjZIb6CNY10rBsLaH6ZiZuX6OUTtG6 - YefM3bSiarRt3E3/yc8pTSZp3fgcWiD00EVUiPKI17ZNu7GWpUnevkJ6uB+v/+bMa1obfwYI - +o9/dv87MSJR4u3dmLEaRi6fBt0E28M0A9Q1NCAuXSaTStLY0jqz38xIP6VMirZNuzGjcVJ9 - N0kP9+HZFrG2Luq7V6OHowgh6Nx1gL5jnzB46hDNa7YQrGuiOJmgmEoyPjYG+FiZFHVdK6nt - WjFzfLp+d9bJ4II1DUz0Xi+PUFbVcr9MegLNDKAFH+x8FEKgzqSCLkzG1uNM9t1k7OrZb/CO - +//295rzFE0n2rKI2q4VmNEasiMDjFw+jefYdGzbRyBeR2a4n8zIAGNXz1ZoJPD2V2mRI4Er - aiKfRwXCisCM1dKshfB8n/HkOHcOv49TLBJtXUTTqk0zaXDThBDooQiLtu2n7/in9B3/hECs - luzIIHooQuv6HURbF5fvMr6m1y/c0Mr4jYsUJye+NgBMDwKLmuU7kqZIFNtzyZaKjw0A0yf2 - vccOyVtXSdy8TCBWS+uGnTMXl0cxY3GMcJRUX89jA4A9nfZoBr62VuM5NlZ2EjMaR9E0jHB0 - ph8g3tY18zrf9ylMjGEX8sTbux7aTnrwNumhXiKNbRQnk/Qd/5RoyyKyIwNEmtofSutUDYPO - XQewspMYkfgjj1sIgRmN07J+J81rHFzbxrMtek7/n4z1HQZg84E/xQjVlpuEJpNMDtxm7Fr5 - AiQUhWj3erhyhXA0ihEIoqgqif7bdK9cA0LguS7Jm1cIxOrKZVUUmtZsoXHlhvLc/l+5aVAN - k8U7X6L/5OcMXzxB+QJWrr15SgAoBwkjEHzs37S8rGo7E73XKSRHZ5r3CqkEgZqGWd+vB8Pg - +9iFfNUFAN/3sQtZVN1k2cu/g+e5+J5bzmSbygDz3Knnpn68+36n6kb5c3QdcqN3mRy4xeTg - bYxwDCubxozV0Pncy2jBMEII4h3dxDuWkBke+O4BIDd6m3y4i/xAP7HGVmJAcbyPdP164uZj - 3y59S6OZDKqAuKYRiNdR6yl4ioqxaBlKNkFd90oalm/42tQ6IQR6OEr75j0Mnj1MPjlG05ot - xNuXoGj6Y09CPRwt1xqSo9Qs6n7gd+nENa4f/1/prXkbQ1OpDZXvyOpCISzXZSKfpzESnW2z - QDlfe/jCcXKJERRVm6nyOsUC8fYuGldvfqia+3VU3SRc30J6qA8rl3mguQWmLtSpcRI95ZrP - 9GejaAaBWA1NqzdjRu+lFNqFPKXsJDWLlgGgaBpaIPhQP4BdyDF0/jhOMYdTKlDffW+9h1I2 - zfiNi4TrW2jbtGtq/prrjPdcRDMDNK3ePGsAKl/Yax56/usIIRCajqLpEAyRL9ykUOwpfy5B - ZabpL1jbSG3XCqxshtzYEKGGZkbGxgEwpu6co7E4hYkxCqlxQnVNTA7copRJ0b5l7wO1r5n9 - zfa3mAoC6bu94PsEahowIzFuXb/K2LUrs178pyeIs20b/b6bhlB9M4qmkx7qI9zYiu+5lDIp - wo1ts+57ZjCYVQCe/DN8Er7vcevs/4UeiLN49U++zQawC3n0UAihKKiKAny7+bJCdU3UL1tL - qv8mmaE+ahYvpWn1ZhT13qW+/BkLos0d3z0AGJE6hA6xxctovC+xwJDzfVXUSCaNIgQRo3wX - 2oyK7brkgzGWbNnJdIfZowghCNTUs2Tvm+WT9xF3/F+lahpmJD514XOn2iOnynb7E8YHjnAr - WYumLCM6dfLVhsK43qNHA3uOw8jl0xQnJ6jtLLfvlu96vHJHY1PbNxqMJIQg2rKIib4bZMfu - UhdeWd7mVB9J4uZlsqODqIZJ/dI1aGYQu5DHs0vl5qZLp+jYtn8mjbSUKeefG+EIUG6eCdU1 - MtHbM9MP4Ps+mbu9OKUCgVgd41MTk9V3r8a1LUavnAagcdXGmYtl/bK1xBctRVG1OU1ZvV8h - cxcjUItVTFHI3iVS2z3zGUG51mBGy81Yxd4+dMNEn1q7NhgKk02Ok+q7SSBeR+LWZQKxOiLf - 8O+hqBo1i5Y+/oVTHrXlSHM7ubEhoNwBDMzaAQzM3PVXYjSw5zncufhvUbXQtwoAvu9j5bME - Yt89MAkhUHWDuiWrqFuyaua5WV+rKN89AOihOLrvMzJwi0u3R6d2qLBu5ws0PsPjADynxJXT - x+ibsFm3bReL6oPkkwMcOXGZtlVbWdPZQH68l1yok8agx+DNG0QWryBuPP5kmh4EFhCCGl1H - D0YIOg5R02SikP/aPPDZCCFQv+aO7ZHvU1TCja1T/QDpmWYg3/fIpXvxfZdA9hqhmtVEppuA - otFHjgb2fX8mi6Vx1aaZAHB/Wb8NM1ZDIFbL5MAt3FIJK5emmJ4oj2fQDeqXrqF2ySpUvdzB - Op0iafTWMHb1DLmxIaKti2ba/zUjgHFfe3+wpoHxnstYuXIAcEtFUgO3CNc30bpxN0PnjzJ+ - /Xy5JiMEufHhh2oWQgj0QOXaTV3XwiqME2/aQGLwKKX8+CNfX8jnMMx7taxwNMoQkB69i3nn - Ok4hT/PqrXMyMMBxHLSvCXrTNxae68JXmg1DdU2kB++Up36eSvX9ugBgTGULWbm5HytTyo1h - FZIoSoZCdphgpOWbbcD3cYp5tDnMVHvSc2XO1gM4ev4G+/bvZ//+/ezbt5eGZ7oPwGPo1hX0 - jvW8vHcLZ744RLGU5fNDF9i+bx+Za4e5lXLIj91hLAe58Vuc7c8SfcLr8PQgsKAi0Mwgqq6j - KgqxQPCRYwHmWiBWi+fYFFL3LiauU6SYKd+VdTBIQygw82UMaBqqopD/mtkd8+PDJG9fJdra - SW3nipmMo+mfb0vRdGo7V2DlMiRvX6WUmSRY00Dz2m10732Thv+fvfcO0iM/7zs/3f3mOG+a - d/IMBjODvIi72LzczGUQg0SapyN1Kssu1dknlc/Wlats1Vm6O9nyyS6rLMlXks6UKAYxSeRG - YLEJC2CxyMDMAJPzO2/OsbvfTvfHALMLYiMJrukjv1VTM/O+3b/ut/vt5/d7wvf7jN2B7W0x - 6xvHC/YO4vQHKS5NY+o6pqGjNevYPT6kt4Wg7F4/ks1Gq5gFoJ5JoKsK4S07kOx2uu84jDvc - SX7mCrmZcXydvYQGRj5S0US9XcfQFaK9hxEEiWZl+T23l1stvD7fW/fO7QEENK1NfnYcdyiK - L/7hVv/vivegJNzgBtzgCtzARpnvjdh/gXajhs3p2kz2vuNYNjvmh1QW/SColTZY8ZZl0qyu - fuj9dVXG1LVbwpMfBW5bFVDU46GqanivTyl2h4T0c8sFEOgZ3btRs9zIIbq8GM003u6dBN0u - du8b4dJyloALTL3JmUvz3P/ExxE/4MOkGwbFZpOw9FYc1y5tsIE/yr67Dl8Ap79jgwg1MAqA - aaiocgGHO4KjVWe7760H1yHZ6HC/M2NZazVJXz2P3eOjc9ve22ocBUEg0DuIuyOC5HRthl3e - 7xiizUF4eCepy6eppVbwROKojSqhwdGb9rU5XTgDIdqNGrqqUF6bxxvpxB2OARvhh55995K+ - 8iZ6W6Fz+76bQmYfBZRGBssycbpjOD0R5Ov/v5u3qLRahKOxzf9dno0JQLcE7IJFZGQ3t6td - l2ka75qrkjY9gFvlMDbLQTPrGFr7XRPAAAgCdrfnp8IGvjGZWpZBJXOFaO/hD7W/rioblZSu - jz5kctuCjfVqmounT224FILA3rsfJfazpUz8EUJAwCS7OMGZ2SIPPfIxhPosNtdGtYPociPp - Ooau8uarz9PZPUrweg9NwzAwTRNN09B1/SZJ3htotdsUmw222yVsHj+qqmJaFh0uN8ulwjvu - 81OBZWH3BmgUMiiyjCCKtOoF5Eaavu1fRJv5LgOexub5GLqOy2aj2mrddI6G1qYwdRHL0Inu - vgtDEDF+Gp/B7kQ3LWh/8FWgIxjFHe6ksHCNkLWRj7AHwrdcY7vXTyObJDe3weANj+6h/SPH - id1xGCywRPGju0fXUa+sY1kmDm8vTm83SrOAqioI70AGa7dVDEPH7nRufgbJZkMQwNnZT7gj - gN0fuuXz/bjQtDaCIL7jeMb1ShdFUbA5bq3ecYU7qSzPAOCN973HdbUQ7U7acuv2XnvLol5a - xOGOIogS5fzUe45vmia6rtNqNikXC0TjXbQqxY2Jy+78yL8Xt2cCsEAIdPP4Y4/9ooUnABaV - 5DUmcg4+/dTDiIKAqvtRKjkgTiuXRQxuRzKc3PfEL+NYeo2zC3kOj8SQJAnp+mrIZrPhdN5a - 7SKbBqVWi0DQgzsY3twm5PUymUkh2mwfWWcwX2c3rUIaNAVnIIRsbrAtBf8WyoTokVc2z88U - BPwuFwW5tfmarshkJs6g1MvEdx7EF43/zPWTiI7sJHH+OMW58Y2qomAI+4/cF3+8j+raIrX1 - JbzROMF470e+yn8v6GoBLBNfsBtvoI9y5jIOuw1RutWoKtf5Gx6Pd/M+ORwORElC8viJje6+ - rfdIul584LhOcns77Hbb9ePb3/FZ8Me6NycAdyD0jtvARn7J5nBu8DXeZZsfB6ahUS/N4o+M - 4fJEKaUvvef4hmFgs9lo1mtMXb7AlrHtBGhvFBMEOj7yjmW3SQsIXPUUP3jhCEeOHOHo0RfJ - Nm7LyP99wjK4enaccnGJIy+8wLHXLyF44nSYCX74zHMcn5LZs/VGAlBi+OAD6MtnWa9+sBVV - XVUxTJOww47d85abFff7abbbfPXMaWrKR6N86AqEr/dg3cgD1Iqz2OweWs4+1o0oxeQZdG0j - LOW024n5fJuCcHKlyOqbL6E2a8R3HiTYN/wzZ/xho0zS19mLqbVx+ALY3Le6tg6vH8luRxAF - QkPbfqaMP7xVAWR3BnH7e1CamXfVA1JkGcuy8PrfikkLgoDX5/+p9AXQdO0d+wHDRk9g4Ka+ - wHKrSfP6edwoB934u/M9j+Pw+m97CMiyTJR6mslalqlmBbWZRW5k3ne/SGeceE8fK/OzZJLr - iHbHf5N2lbcpBCTw4Of+p5tyOT+Dz/FHCIn7PvermNcfsI0SS4H9D32CfdclFUVBwLP9QSKA - IDi497FP8EFjqjdIYD6H4yaSV9zvRzMMnr46QXcgyC/tueP2f7Qfgd3twekLbOYB5HoSUXJS - 1Z1k6ERTV6kXZwl17d9kAyuaRnFtgdL8JAIC/Xc9jCsQ+pk0/rAhUxzZupNWKfeuMgY2pwtP - JL6h1xOKvcMo/22htoo43GEEQcTpjmAabdRWAbF5EZt3BMm/Y/Nz3TDyLs/NE53b49kwvLdb - FvRDqExblsX4uTO0VYX7Hvs4oijS0b+VVjn/ngQvQRAQr79/W2VBWgU0rcGK5UKWmzx2PRH8 - fpVAoiiy++CdXL0I2VSC/nj0tpzPh8VtE4NLL44zvVZAdAYwtRb77n6Y8M9rJdD1KpJb5nPh - VqmCG298UONnWRbZeg2HJBL0B6iVF5l984/Y/eC/wfu2ypSZXIZf4v0nAMsyya2+jifQhz88 - +oGOP1E6z1pjmU/0/8p1HZ4ojXwSvS3TqCzhcIdJaQLr9NLWT1JMniXUtR+AkNuD3GoyP36W - 7micnv333iRY9lHBMg1a9SRyI4XaKqI0UtgcfvrGPoNkv/WL6wqGGX7wk0jvslIVJRvxvXfT - UBTqmgaahiQK+G6TofkgaMslzj73j2hUljZfszt87H/8P9GsLOPydYMg4vJ1gSDSqszgKL2A - 4RnC498GSOimgaqqOBzOzVDkDXh8fvKZNBa3K/27Af29PIAbRvu6B9Bs1KlXN7gY+Uyart4+ - Ytv3YZnvr1R6gw18OyeASm4CC6hKHsqI6O+SCLYsC0PXbyL4iaLIjr37qBVzpItVOgv5mxLv - HwVumxjcxbl19sUt8r2PoE+9hPmz5QH/dwvTNKlXK3h9fmx2O2uVEjP5NAeGBjnVNlh65U/o - LL9Jau4Z+rZ/ZXO/ROXd5XffjrZcYvy1f4WvYwv3fu5b77u9ZmqsZBeo1ysUO3N0urvxxrqo - rC9SXptDU6q4fT00220EmwfJ1U9+/Q22HvhNaqkVzNQypgRaioYAACAASURBVCDiG9pO/859 - H9jtlTUZAQGX/YM9uMevrHD6aoLf/uXD+Ny3rgwLqbNMvPavacsl3r4EtTl89I5+6pbtBUF4 - T6OhGwbH5qaZSN0sOLa7u5dP7fzpe2IAqcWj1CurdIx8gagvSLmQp5Q6zvz5P0VpZvBHNqqX - 3L5uBEGkVbiIQzAxWitgquiCk29dOkcrk+cOz62ToNvjwTTNzRLRHwfNtsp3r1zg07v2Er1O - pnu7B2DoKuef/8f07/gVekY/fdO+lmWRz6QRRRGb3U46sUpXb9+mIur74XazgS3LollZwUIk - GH4cl9mmlktSK87cst3JqUkSlQpfuvu+m94TgJDRIG86uXrxPHd/7NGb+Bc30FAVnr46zpPb - d7113T4ETMvi1PICAvDA8FsLvdvUE1jAMix8oTClYpmwUyH70+tN8nOFciHPuROvcfzIs5x6 - 5UVenbhMqdkiX6lyXzxOl20j6ZpaeAERA7/TiV2SyNUblJrvH+9s1RIYWpNWbe0D1TCbuoE3 - 6SGei6PXN3IW3lgPvlgPuZkL1MtLeMNjpKpVosFOtmx9mGZljdVzR0iPn8UngCmKiLGeTeNv - GAarC3M03sZhMLS3VnS5epbfff5f8I0LX/1A10zTDV6/vMLkYo5k4Z2/iPm1k7RUmeLQb3Lo - c9/HN/z7NFUPleyP1+O3pbVZLhXocjh5ctsuntqxmy2RKGvlEo2PqBNVYf00ii1MsuNRRg7+ - E2yBRxG9D1LOXqGtlPEGBwEBl7cLQRCpZ88AJlg6RnOJU0sLJKsVcpJEyfTe4pV6rst3KD9B - 69H5fI5MvcZken0zB2GaxnX5A2hWVyhnr7A++0PgrUbxN3gAxWwGj89P//AIhWwG+UOUPduc - G5OadttKpS3kRgrdFsTtHqXDu4Omo5ta8eZueYqucyGfxeW91dPVWk0kQWD79m1obZXk6jvz - M5ZLRdYqJS4nf7wOd7LW5vzaCucTK6hvY+LfpiSwwH2HDuIYOky4Ok7CtpVt4dsy8s89QtEY - +++5ny1jO3D5/FR1jaos02w1OdAVw93OoEk+WrV1pqaep66q2AQBRddYeZ9GJZZlkVjdEAfT - 2w3KH8D4Nas1rJaBZVpU0xvji5JEdOwOLDT0dg2nv4+6quB1uoj03Imm1qhkJ+jcvpc9hz+2 - wQa+LrxmWRbrK8vMXZtk+sqGREK7pXLqL48y++o4mqHxvSvfIl1LMZm+gqK9vzFtyG1oTrLX - c4RE5tbGN4au0qwsI/gGyNi3cimvMr+QpqH4KSTfxNA+vG58sdmkJsv4Gw16RYm9Pf3s7x2g - 2VYpfoCJ+CdFXa6TT11C829joVQiWylTKRWJ9D+OYNtgaTvcG3XydqcfUXKiyBXmlpYoVcok - czOcXVtGa5vY7AIX0+pmDusGHM4Nspz8E0wAqeutHFPV6uZrpmluLgZKqQsbv9MXMI32Zpcw - 0zBpq+r10sk4Pf2DACSWFj7wsW/ky/QP0WP4vWCZBtX8FC3nwIaHKNqx/PtRm7nNRLBlWVxO - rqHqGlvf1qj+BtrNKoIgYGgJrNq3SSxO3qJ+aloWK6WNIoulYh79HVqEvh8KjQZtQ6et6ywW - 3nombssEIAgQCAVIzM4g+qKE3BbNj7ac9f+3EEWRaGec4W3b6d+5m5ZlUVdUgnYHul6lWV3F - NvBp2qKbq9eeB8DHxqo6Ub61b+rboeltitmrqLYILVuMYvLMe25vmibp9QSG3aDdoZFNJa/3 - igWnP4i3pwNRtKPobgoFhU63h3ZZRxSduKJOQlu2E/RsyPzeqFJS5BZri3PYbHZqlTLFXJbC - UoZKskhycoWLq2c5vXKC/o4B5HaLXCP7vtes2azTbx5lm2+Ccn7xlvfbSoV6aYHhoXvY093H - xcQKy4U8lq0PTal+aDanZVnMp9dxSBIuUWJhZoq2qhLz+rBLEtmfQuXMj2Jh4TiW3mL/jkew - iRKvjF/ENE22bt9JR+8nAbA736rq8XVsIVcokC8WWFhe5thaE1k2kBpuREFgtVjixJWbr4PH - 60OUJJqNxnt2FNPeQ29nsbgh2ZBtvOXtaZq2aegruYnN1yu5ic2JwTQNqtcXNLGuHpwuF5FY - J5lkAuODdioTNgTpjJ+wM5hlWdSrFeRmlVZtFdURw223EfOJtG1hLMugXpoHNpoiTWVSUK3R - 9w7NcHRVwcIim3gJrTmNXD5B5kfCiIZpkqnXkASRqqz8WGz/G9dbFAQWbvcEYJkWR597Fmcw - TDQaJRqN4PhFDuC2QhAEUrUKpmVRVWRcpsXi1CtIdg87tz1JLbCPmDqLhyYNwyBqs3EtmXjP - MavNMpXiHFVxB3XXMIX1N2kr7z5pKLJMLr2OFQBvTxBFk8kmk5vnh11H1SX+7OlF8vMWQqJO - bT2Jy9lHOX/p+ipJwud0Um61Nlf/uqax++CdOF1uVhfmyc5uPAC1UoUXTvyA4cgov3HXb1NX - ZJYK8+97rfL5VaKODE5RIZ88j/4jLNJWbRVFLuHr3M/9wyPEgh347tjNoYe+jK41qeavve8x - 3g5VVchUynR4vBzaewC51SSxvIjTZsfncJKqfrB8zI8LVddYWjyOJEoMDN3Hzng3KUPHEQgQ - 7AjRvfUpEH2sXfsOprnh/js9G1Unke4DaIaJVZwludTmiwdHNyrMghLffHmSlvqWMRcEAbfH - g/K2EEq+0uQ7r14jU9pYCJx87VX+w//1f1Kr3Po9qioyTVWlOxBE1XWqyluG+IbkQyU7QVbt - xrKuTwDXQ0OmYZBJruNwOgmGNsIL/cMjqIpCPpP+gFdqI4+j/wQhuRt5iDPHX+Hc8Wc2NJZs - IYZCMaIenYZ7GMOCWn4KgJVSkVyjTkhpE4lGbxlLrVcQJZFmbSNxb8qTrM5P3bSdZhiU5RZ3 - DgwhiQJT2dSHOmfTskjXqhhtcJtuFor5zTDQ7eMBdMTo7+2l9/qP+xdqoLcVhmmyUtpgDMpt - DRcW+eQ4doePeGwEZ8/DOGkzSALJ7qA33s3V5DrzU1ffcTzLsphOzuNsF5jLBSjovWhqlXL6 - 0rtuv76ySNtoI8RsxCM91D11EssLaO02lmXSKM2hmjbSihvLYXBuuU0rtJWubQ/RrK7RrCaw - SyJ+p4tyq4XcbLK+skRnTy/ReBd9W4YpZrOkFldxul0IusCjzYf5Zf+X+OoPl2gnH2A5/96r - c9O0qGbOYRcNBNGOz5hjLXOzAa5kJxHsfrKtAOWqQqylYrhdZBxevIEBCsmLH+repNMpyq0m - MZ+fWGecWLyb9ZUlLFUh5vOTbzY2Ga3vee6G8b69et8Jk+kkVm2eQHQnDleYfT19WKJIOxpD - EEXUylkE90GKqbNU89doVtcoZ68gCAK9h34bxdmPv3iOHo8fn0PAY5h0hO0Uqi2Onl246Zxc - bi+lfI6FqausLc7z//7wDN96eZLf+uMj/PHfvs6rL36fLu9ZZidfueWzLBcLWMCd/UPARjjj - 7WjLReRGkmVlP3UjSCHxxqYHoGkaxVyWrt7+Ta2maLwLh9NJOvHBPTbJ4f6JuACtZoPp8Uu4 - 3B7acgILEdnVx5ZIlK5AmEY7g+LoopKbwDBNzq2tYDWajEY7b630sywMVcUwG9RLS6y0RsAo - 0yydJ5d+y8gXmhseV39HiNFo/AOFgSzL2vTEdNMgW69RLLS5NJmnrRubYaDblAQGZ2OdHzy7 - QQQ7cvTozzcR7KcA3TTINep0uX302j30R0KgF/CFtuJy+enr2kFF6uQOrmFhEfF6UAyDqbkZ - VhduXTW3DYNq6iy6ZaOuR8kzQltwk0uceOfjaxqFbJaGu0E03EWXp4+iv0BbVcmlk+i6Rq1a - QDH9dAd09Gidlmnx/astAl33oKs1qrmJTQ+g1GywPD+LKEoMDG8Io3X19uNwORHDNnwRP5pT - x2ybzMxnmV4roTfjXLvgI5tK3nRudUXhmasT/MXpU5xdmoXaOTyhHcS3fByXmeDMm69vxq0N - XaWUPk+xYecPvz3DP/1PR/ibV7IU0yqTxTpVezeV3GWU1q0r2B8NNSiahtpuk0inUESR3mAH - oigyvG07lmWxMDNFtz+ArLWpyDcnHtuqyuLMFKdffYmTx47w2vNP88pzP+TS6VOobyPxta8n - w3XT5FomxYsz1zZzCq1mg7npa1xavopbTRLq2ocg2jBKJby6zmQ+y99959sszpxHkCIg+pg/ - /6dcfumf05ZLGJbIi0sZcv47CYo5Hh1K8sqxo9QzWdxeke2DEZ4+NUvtbfHcwZFR7A4HKwtz - XJsYZ3wpz1hEoNut8tpkiu7udeLBNKW5PyQx9d2bJoFUrYLH4WBHvBufw0myWsWyLHStjc3u - oJKbBMAzMIoe3EU2M0exphC3B9DKNXRNIxSNkq3XWCpsxMR7B7dsJoMty0JuNlmen2Vpdhrt - uvBbcj3BM3/3fRRFwe72/NjN4XVd5+rF81gWHLzvAeJxO5boQLeH6A4EGQwNUmhOozi7aFSW - SdeqrFdKGMkUW0fHbhlvQwa6Tq06gYFI2fNLGPYeSsXznBlf2NxmuVTAMCy++dwkpZUk5WaL - o8de4OSxF1iand5cOCgrGczaxnVILC9x4uhzvP7iC5ydnKPYatIf6qDdFFBVYzMMdNuIYDvu - /xT3RaO/kIL4KaEiy5RaTT4mBPniwH7etMpYZoa2eQBd1ymsZ5kxBjnEZTqMDG1jgLZlcaFe - Z+XSeazFeRRJothskqnX2BmP01taxG16uffOh1iul2mKA5RS5zANDVF6y4UzLYtEcp1CrUwq - XKWv7QTLjtPvpllqsrK4yMuTSexrM7jtXRjNHKLkp0NIM7MmcW65g0hoK7m1E8SGP47f6WQ9 - P0fW0OnfMowvECRRLlORWzQcbuQOmZKSJVdfxyW4mKhJRB11hrwdXMoafOO50zxxcJAtO3bx - 2tIi3750gYqiIAoCJyaLfIGrOIe/Qm93H+7FF1gvznHlbICD996PqddpVlcotaN4HBKjHQZz - qTLrqwY2tw2/FKWvdZFKYZ6ugTs3r0G1XOLapQuEojHGdu2hrCr8l1MnOLeyTE/Az0A0wrHp - aWqyygPDWxke28781FX8LjfNdptsvUbE66OtqiSWF0ksL6JpGpFoDKfbjc1mRxRFVhcXmLx4 - jgN338fXXpzk9fEVfudL97Cq5JhMrWMB4+l1ntq2i+bcLOuNGpq5gmAZdA4+jCAIFHNZunWT - OdFkIrGKlLPYvyOB03MXxdSriKKdgc77WbHtJSvD3MpOQs4glYmvMrW2F1tPD66eLh6/Z4g/ - /c4ljp5b4IsP70IQBEKRKPc99iQAF6bXUS68wcHROPNnjuI3ZXpdq1yrHyRgK2O88QdU8pPs - uv93kWwuFot5Yl4fFblFyO1hvVrmzOoyM80m3UAh8QYmNsxIN/V6L6Hmab7x9DF+c2ALs+Uq - ZxoN/u7111i7nkAe6AixO9aJTVHwXTiLdP0+iaKIaZqsLS0wsmcvZ0++QH7pCG9G/HSFQqRq - MokTrzE6MkZfT+87Pm+WZdFst2kbOk21jWbopFaWKJWK3HPP/bjdbnQ5iSb5cUoewk4XlujC - IbUoWV7C9SynZs5iaTqeepPBLVtuGn8qk+b3jz5PzNJ5hHU0I8Dddz/EkGhx7ex/5siFK+ie - GAvJEjVnBcluMTGfp1yy03/AT93ppM/hYnFmilw6hb9viD85eYK8pbEj1omvXiPgMrE3HEwu - TdO7zctjB7YSFP1cLSZY8OQ3OvbdLgMlF1d4+coENoeTnXsP0tXx88oC++kgVatgt2CgUcGr - pPG3M1SMNs2WjakrF5lNJZliO3cJlxlQlzgxGwEbXGy1oNXCUavhBoKSRFySKNYKjKgp2vYe - HrtzB13rWWYWdhMpPcv85Ks4vUN09Q2wWq/xtXNnuJK8npjK2jk6fQaP4yK9cZOdnjILs04u - rFf5Yk+DccPFWkeQLqCzuU7eG+B7J1f59b27aadPYKpl4v4mc7nXmbVM7tnyBMdmp/nr069Q - 1d5GkhEsRsOdDATsNBaLfCL+NZxSgJT+Bc4kfFi2JWavTpJWVbZ1xvmXjz5BbyDAkRf+HWZZ - 5NvzNYL5LA8LEoKepdVscP7UCcx2mlY9R9Y4QNMpc8nRoD0EUGcqK2N6eukx27w6cRQlpfGZ - PXvxCALXLl/YkCBYqWOYBifqdS4n1tgbCOD0uLFMk/LCJcavfY3CwDD7hkZBy5NbkrF7grw4 - fomvv3mabLOBpGkERZHh3j4KThfZao3VconVUhFF1/FkM3SvpFmftvD4JL47eR6nW2S1VKYq - ywyEQzw3PYmoqOiiQF9zERkHv//GFJK0RI8i0622saIhOnZup5jJkqqEcUUHEdVpVlojzAqf - oj0okC/KlPI616J7OOw9RWGkA00RGLUsAkE7D+0d5IUzC3z6vm3YJIEXZ6Y4vjBPqdWilhQw - LYmvr08h9vXwMeEkJiJnhQO081EOB4/D7DPMJ6Z4XvgEI109XFlP8o3zF+jrCLIlGuEPjh3F - tCzs9TrbcxPUPWOICLQDuyD/PfLpN/nfFZVpoYhdktjT3cPn9x0ELC4mEry0tIBmGDxzPefg - FARcDgeCadLQNIy1VZ7kZUaiy4zP/gX/gUeuf49LMD2FADjerp1lbXAVrv/5jvjzp/+egNPO - F6x5FEcPrqbMn//gTWptaDa2kHSusNU0KOSmUZM2evwak8d/F6c3zsjBfwrAaKyTJ0dHOTNz - GVFfIaOO8uyVk+hmlf8BkTHPGb52tBNRgr13+2loMkKHzFpJoLMuUA2qKJnX6Ol+gKVCk/98 - /CXsgo37PGGuFotkVAUqAraMnYFBEUXT+N3nn0XXLTr1KJ1dEn/2/X/z3hOA1Uryw9cTfO6p - u9/TOAmCQP+2Q/Rtg1Jiiue+/y06BwcZ3nkn23o/eKPsX+BWNMsNJpZWWWpXcBk60VIWwbKI - muPkTDsTyQ6c00dY645jSR5qrjFGqstcyT6EHFPYPRDndx55jJjPh6HrNOp1CoUcLy9dxF1K - ctXYy/GjT/Po2BhN11Y0XWVt5kVk5z38ydk3mW42iTgc3Of3UfeVCYR8HIzdy6XEGicXF1lu - OQjoAju3tXE0VWqE+ESsj0cVJz8QVxGNdVatAOfKcQ6oZV588RtM5RX09gBLgQznU6t87/Sz - fF77AZX2KErtEehykrQrTMoy5VyNfmEWj9QEWmyPHuO19Sc4seIi2GPyS9EwT+zew2BPL8uz - V4m0pmjY+rgjsp8ZOUeBGFFngvDAdsxGHkXJoiNR1KI4whDSDLyiwGOPPEaHy8X0+Hm0XBih - Os2afR//9ysv8kQgiF3TOHDP/RRyGV6/OsmxapWPDW1hv2UxaRm05Cx7pGfw+VzopVkWCs8C - YNk6key/Tkp3M51bx21rEPN1kdftTF9bQTLW8YYFhqNRntq5C7fdQaZU5M2LeXwBN2N3eNE1 - k+lrNe7Y3UnA7aJQKmDVm5g+DwLgUxbJa3ES6RaRoMlrch1Mk/68yUB/L77hDqaW26QrTgTH - r6GKBjuCOh5NJDGv4hAsfJEBBE1ijzDDUduD9Ok66VqVxw8N8/qVVY6eW2DdzPDizBQ7u7rZ - 3dXNiZkcTqGBr1xgdPcYw9lVMp4DdIYjtL0NLq/dTVoZ4BPx73AgMEONHvZ5vTwxtBWP38fV - TJJ/+dgTfP311zh6+Ro99hmUjoeItG10tyNothCdjiSvJffx6V19/Or+/QTG+jeb9jy+bQeq - YXAxscp6pUJb1zdX7ZphEHJ7aOSX2ZJapW152SbM02gP0RndQ+/YDhqGycLiAophUHU5CVpg - KQoOu3djYhBFbIKAUxCwCQLh7h68kSjlVotSLY9rMUPJt49TsxrVQgIJHV0Yoiz0cf/AObzy - EoZYJiZcJb3sYNd9/2rzubZLEl8cHWF/7izpnIbh28NdIwP4nSO4c6uMpk/gjLSoOFzgEokF - YzQUnVRNZ2GxygM9pyiVX6VYmeO1wBdoW/BbXcMc9EVpdHv5gf4SLx1xoAkCHVHo8gf4eE8v - tWoFpVmnL/0MEWXifTwAdxh56duMJ3ayt//WGtYbsCyL6fPHSVZ1ogM7+Mpv/EOwNE6fvsC2 - 3nt/civ4c4zZYp71tQT1gESf2sYUBNYcNhqtAjJhLuQieC0bjZaB3eOk7DvAltbf8pnYN5kX - hplNjfEfv3WGTxwe497dfXSEwyg2CWMmi4TB1sAABUXmGxfOsyceQnb2oLXn+K66C1XXucvv - 54DbjcshMBdfZ0f3KIdEHzvbEWJGBy+cXmHogJuwIGM2RA6JQfYtNNCzSUbNAOPtEnv2GAiR - TlqpTqqJF0lkfo2hUIiFKw7+OPEqdzsv4RNaeG3zWOY9dLk6Kfkk/DaTy2tttvkmkF1bsGwd - 9Dem8EXz1DJD7PaNcfegi/lrkxQyaRqVJSwtyUL9AexdOoO+LhRjAEmexuW1s333vUyeeIl1 - K0BVjPDgSA+NN1fZu/8AT+7YiWVZ7I5EuHDsFczyDA5NxnK4OJJO8b/cfR8dkSiCx8uFiQl8 - gsAdokij2UB1O+iW38Tv8XL40/8VTYrxty9/m9mlFR71HaWz8hK18FN0eC5gmg0+OXAATfss - fzM9jWGaPLVzJ195coMtLAgCa9kq504fY3Cfm+6gjzHfAJNnzyIWvPzDX76LV156lRemypRp - sm3AwKXmSNUfwKj5KWYEIk4Xhr9Gyqbhb8mEtt2J6VZQV2X0cJWukI9Ah0T2agZUD58fifG5 - LX5mSq8hFpcYOfTPeGUlxUIhx6H+QfrjAf761QsIPU2+uP8gX7nzMGuZKqdeeZHebZ10dsY5 - ZJ/FKpiI8XvpEzro7QgxM3cM1b+XlDrIQOs0izzENtPCSCawu93gsJHPZTjg8XCtPAU2aDkH - 2BPuJLSssC72M+hdwlGXqOfsWJkawra3mvYACBbMXKvi8zj58sMHbnl+3nj+GGVEBu76tyiJ - r7M3fZwr6UE+/1Af0e4eWjv3cPTKBWaVFnFNZ8jlwuWyUc8+S9fQL2HvGORcKkkOkw6/lwe2 - jhBwuqjkJnhzUaApxak120ihEpZTQ5NcOIwKZctLvPo6EWxcFXbQE32KO8M320Kt1URRljGw - MTL2GJ9+YCPk2Kr1cOI7r7A/nkEa+wLHV5f44r6D/PpdTv7EdZqViXN0ek+g23ygzFNtL/G/ - 9Rxm5+gQQq2NXi+zUq6glAZ5alSh6vdj2gt8+ZFHmDt3jPz8X2CoCoXAPUi/93u/93vvan0a - K3zzm89z5Pm/55VXXuGFU0s89Nhh3klyyRvqZNu2bXRHg9dvjsjAQP/PrMDXzzpM00RRFIYl - ga6mwBtmld1NmbrPh9obo1B4kbDUzXrJR9EeQgu1+eSeXbiDfVQFP73uJr3ti+wUpjFaCZ6+ - ZHFqKo/f42S5kUPNnKJDz3Lw4d/h8MAY9w8OIQsSmlzE3bhKzjnGbz78KX7l4H5QUwR6wsxa - 8ww7hrn6vR/w4pkpTiWchKIi8T4nofplOowco95PIi/WaAX9iIYTuydCYyiE6XDh0Mt0aNMM - jVT4Jwdy+OwWSyte7vcdR2zHEWx1LKtNNdGNljYIFgXs0gKDvqtc8T7JMn0MtCfoccnEg3dz - YbXKx+7ZS3c0QDqZQKtfpq0ss8i92Lq7r5cQisQa57AH7yAe62Fl8m9Yq3vJefbwxGCcmcuX - +NhjjxOJXidJOZxg1CkmTjCdGcAZ6kR028lpGgf7BvjbSxe4kkryD7aOYK/XaNtsVMwivaXn - GRj7FD2jn8ZuJNlmPc3OHXci+rZjpY5g2cM8HHqMffatfGeyytlJi4PbutnSHeL18VW2dIfo - jW0ssv7qyBWyzRrdA07ijQYhpYLN5uDkVI7z0wlenaliSk6+/MheHu3PUkwc56HH/hlhCeRW - g3TDhc0I8cndu4l5BZbWm3T1uQh3GHSW8vQNDqLni3TOJ3ggHuT+4QG8YgiHf4FUfpUel0U0 - tp2kbPCtCxcwLYtWUeB/fvIePrNvD1fTSb51YpxsXmawR6e3w4dj5S8x3L2s+B5A1Q3adjtS - LsdgUOKxj3+W8vKz5BpBkvVeVifPEAgEaXcEqDeb9LahWpqn171OJvZZHugK47C5MKtF2sZl - 5K67uLBsMJ6rsX8kjkqbZqNGqWHwf3ztdc5OJ5lcyrFna5x4yLdZJWToCldP/Ts0ez/3P/7P - 0cUhMgvP0WFb4LvX+kG043I7OV9MoZsmhsPB5x95Aq38MuXEM6jtdU4L22gKMNrZRaJcZjyV - IOTycvHsS0jNi6x79xEQBFJ2DbfdTlcmhdu5QFc0Rr4cYE36ZdbC+zidr9IhCGzvH6TVatGw - TE7OTCCUXqfcdrLv7n9MwGHD1E1M3U4pfZF2c46c907KTYUtFZHGepF7d3YjZv4UbBLL8a8Q - rZ/nkK+Tw13349ozDJoB2SZPX5WJscRdoUksdRlnY5xm9k0aS9/F5YtRC3+JleCd7+MB+Eb4 - t3/8R0xOrbJz3yj1ksyPCuHW03OcvLxAOpOhu2tDAS9XKPDxz/8aXT+eXMgv8HZ0dnFlJYnU - AlmS0Lq68TgqaGaJMWEfnxjxM9Ud5NVEjblCmqjPB959FDx3YHMlaKdOsdszjdcmc7zxRf6f - 588ystPJdjVJXQzwrbmbK2rcnjG6ysc4JE2x9MYV8q05bGYLXXIibf0Sl9MVltU4i0IHvqDE - yJgby9Bx1NZRJTfnVDuOniCCYSG4vKgRJ6bLQaBpUPXuorPyOvf5agiCi3sGk8i1K4g6XA1+ - jiH1TQL+Kaod99AiRl5V6TUmKApRLlXd6NiJOQ6xSzuHYU0gmFv46tdf5/FON9gNYI6aEcKM - DCK1FezVEmYohiW5SC29QX+wi0Z5gZz2APfv7qeQTeOMRjDcTrL1GopaY7nSZCZvo1+EXnea - 8dkhRvd4WK0U+Y/HX+HN5SXuGhzigb37uXLyJTSPzE5S7gAAGwRJREFUh2jmDRx2F4GBR6k0 - 8qiZ4+QrTs7MJJBkG93+UbpLLzFeHqRVi1PK27l3h8k/+uw+5LbJWq7Kf33hMgMdIuWmxhuT - awztdOGy29gSi1NIJdkS1kn3SMxn6uzbFuPXnzqAqFaZee0ZREeA2MA+tsrzzE+d557OTsre - MZ4+Po/dJqIbJoe6fKx3+DGDuzBMk+hai4hvCL0GkzMr7N8zhCkcINRdJLXwPJbwIlvcY1S1 - fhbEUSQxwLHzC1wpbEgVLK01cOkNPLNJPn7wMBNzNZZ8n2U2W6DQbLKjq5PA1mFWr02jCA8g - O3uI1M7wg/Q23MIYjaUqe7Zuo2JUaNZdxO0pVEeMiBTAkdKpGUUsTz/I0OtLEX3wHk6czvBb - f/4yW3ZuaOWszqi0dZPPPLaV45dW+e5r14hFXeimiW4aKOkLiGYB38CvUlaa+HqGqfg+Q1z9 - LgPq9/gvP1Tp6nMwOOaikRMgbvDtN58jvvAtFHsUqzLLzq5l7rzrVwl7vJTlFt+7fIl//+1T - bNcusCvkQJEceEpZvhzu4d7RPRxVz7BWEqi1NGbV+5DdUf715+7l+5OXWHsbH6VZqrOgNtmh - Jkkqh3n12GsgCEiagaRZOK1dBBzfRb/6h7i8n+XSuSKCYeLynsTlS3NG/QpeZy9l727cyiWy - 7c/hqjcQvTbmKzJSPcHj8e+jKi4i14vKGiURNXgX9h2/Tq3iRGgl3scDoM6f/cEfcfLSKvc8 - fj/P/9332b137021ow5fmNGRrWSyWZ566ilGR0cJNNKo8VEit6/vws8dbngAtVKR2aVZanaJ - WLaF+1wSc/4kii9Jj20vo1IHL5kmeUVlb8tFrGphOEB32FBFPxfrHeimh132y4QHovi2bMEt - qHRWX4NmH47cAL5im2BGJZhVqMYD+JRFgq1pJKVM3dhKsfNefPISQqnOsekxci0PkYCdkR1u - RI8NCZ2YfAFN8rHeeye1uJNql4tqtws5aAcBVIeEKToItObQ1RrH9fsYdhYxyvOUXaOUuu+n - 5e8i1DiH4tVJ9exFLc+z3X6GSugJjMAwMZ8PX2QrwdY0LtsaWfd+1msWyqiDZrhCuPYy6+Zu - hP49CDYbltOHKdnxKcvoxSSJKyUk9yyrygHElo1M1IPQ08VMucjlZILJbI5UoYizIONTZwmr - FdbzO8m2TOJdbvKNOnVVJexzM5FNk7I7aKpZekvPk/fu4Q09xMXMCpfLEebMYZrhThrxKBVv - H6HmODQXOFUaZWgL9HYskR3/UwrX/pyYdI2wkEEpJKgWG2iSiKfbiYnFitwkJ0kU7Db67ee5 - x/k9Aq41LheqXCq36Cg9T9U5xCuVDpYVGXGgD+IhXCELh0vEMCyGxly0PWyq1CIIqD1Byv0e - Sv1u0p02LtHksh5g2b6fsm8fhujGL88zrF1lzJUnpw+SKYp84vAo9/Rv5cipZUJahicfOoSc - +ls0RCZcj7BULAFQlhW6e7pwDQ8xW2sAAt3qOYzoGHk1SK7lI19r4otJnJkrcZfvRRqBXaw5 - h7kiyFwTDJ4uVtmtXcCU3JT8o/R2u2jlddbWVAqZNm5k7rpLIlL4K7Z5LjNR6edqMcN0KcVk - ah154ZsIao2LjkeZKGS4kkrQCHRjig6GjDfo6A5i79mCocPUeJ1ASCJefhZvex3f1sdwqhmk - 2gLb9n4ZUbIhWCLnL+WYWihwR8cl7B4n1ciTCL3dVMI+JpGRYyHsg/0YfUMIQQ/razIL1Qy+ - oMRYZydjsTitVgtVFEmsnSJUv0Q29BDqQB/NgJ1myE4j6qASjaPZAoTrF+hQzpMfCFPpsxNp - P0fJd4BLxYP4O2wILh+B6htckNy8UTK5kF3nxGKSB73fxXJ3MNP/v5INP0Yu9DFyHQ9Rco+R - bMo0jfpGG8r3MkJWfQX36Ce5R9lQt2tX67SAt7cuFgQBCwGX3iBV0+gJSKQLVQZuG8Pg5xuC - olF22giWVbqmKqQdFtVwgQ7NSbnUSaTTxFOt4tJ12qvj3P9gN1vdRdakLo6rXczYJFYdu9gt - ZuguHsGsB3E2yjhtBezRhzh04F40uY3SbiPboVJJsiZ9FvfyJK/ZD7Fldwc+j4SiCAzXn+aA - 5wJbYg+yr8PP2bZCyjAZWpPx63UKgW0IgohhWiwXC4Q8HsJeN4IjjeAoYRZl4h1uaoUyB8IK - CxkJXdNpd+6nwzAwhRAl/51EamcpMUC/dhHNGcCxHGOHVsYlGbhMCXvvnUjt5zjs+QEr3gjB - go1OTwHDEJBDe5AkC8mRA6+OqUSRnT2EHWdQg5dR8eDvHUYN+rByRToRibjrrPlN2h1N/BmR - UF0ELYDNlePBO/x871oLca1BdMjHsCDRsZii4fTjdPtwaycRRItGXwibb4NBbDZ82NNx+jw9 - pNJrlKpFEpG7GXYd40uDf4XLrCLkdARbJ4JjGxGjSEQ4h1k5DbZu+rs+T070MJXJYloWjrbG - Lv0avbxOS3ETMCboaFxBs3VgN+rkyi5sYh53bg0Bi/joLoJbdxIYcZFZnqTdaLHecLCqtlBt - bUTRwjQF7JpMqCkTJILPFSIa9iFqk+hmEMFxiNzQU1ils3Tn/57HfX/FkeYXKObHmF9cxDQt - PGYVr69EaeUKy+HPcjW9IdMRcLmoKgqrpTJ7On0ExCbVwC6E0rPs9L9A4NOHkZtO6rM+YIy+ - zjJOXSHl6GdubY17ZQNnJEZVVsjQSbCVRDcMRlwefutwD3+2liYtVzmQe45oKomBgoHEQ+6/ - 5kLmKwyuLIBZx9cxx7i8l6VmDVGuYbOZ9HcEWa+FcerdjMjPs6JHeNCxjX+xVeFccRXVOk9n - vJdOIYXRE2dqbp5r439JItzHzBUfJy8WeGKXypZ2hoK0G+XCZUKeEFEjDFhoJOjToiiWiYVA - GRfFdZ1/8NAedsa7N5/rSKCDreoamuRkYOwu7hvZjaIZnFjKk5s4j5xZwDvQxdTA7xBf/zp9 - hR9gIWFqdlqlLg7t7uLitSzOOwZoOfvoyr+EkYKWbyfD7VcIBRWyxqewDBuOfA3fQhGnamGI - Foqk09nTyaHh4ffxABxh5l//a149f5VLb7xIs+t+njgwfEutvwAMDm9h9sIbTM8tEd9zP1uj - np/zpjA/GTY9gFadS6064XqJ5b4S57c36TSnACeOxhiCIfKM3WRIkvjdWIRwy4ZQDRAsi+xt - yBR0nUXd5NfELhr6VQJSlYA/CO1VDOc+JtcyRIsFxEqO+coVCo0GKVz0rBcY6LLBUIxas0BV - 8BKyqQzYLyL09lJ0Olj12/BbOiX7LOHWJRZt/VxrBJnL5RB1k0StRrPdJBbP4LJk+rR59gYk - coUMGTWE2Jwn6BXZ0etm1moRQ0CVBvE0L+Fqr+EVS2T7R5jsCTDnM0h3q2i76hgxJx7FRaA5 - Tq97jQgruLQ8LeduitHD+GwKQXsep1THLTaQ9RjR+jkcUp2GvZdUxz1IthbtzDUagyXUviqa - t4ms6lhBmfqgjOmR8ZXWSFdrPOIK8z+62ph2O6teNztE0FsVctIcceUN1HA/Ps8WxrJuQg1o - RFrIoQrjtQKzBQVvIkPLFqXh8+LVMjhtY8S8T+J1P4TDPkJV7kFOubms7SEszeJTrhCx4hRl - G6VGlb25CXZ43qDqjHKKh2m2e7BJDtoeAVOy8bJ4mBlZoGCJHFTX0RdmuZJIIjdaRHUBryXS - bZnsFiXuEEUGPDLBzhz+aAXJq9KI1Fm1Vaik53GPL6IkVhlxRSEcYVUKUcy16HLnGfWMc3Ld - QU4RiZkF9gaPI1aO4HT08sPWdhBF9oTqDDor+NtOlmQNr9uPLvmJtw16lSJWY5E+ZRvtsIDU - 18KUe+i2rhFU5lju+Bh1R4Oodx01pNOyGzgMhcH2LNPqDtp+L51IhKwqNfV5tviuUsbLS65P - 4PHY6VYXMMQcS54u+mNzeOUcya599O2o0xmrEI1UcXhz+OMa7kg/vlIRf/MKo80ImuShqR+h - IRqsBH8Dz1STlieAbDYops7y8lo/45Mie/om2MW3UAUfmchDOIQizYBJKqiyEi7RL6i4nAYJ - jxOHQ6THKZLW4FJhnKrVZH/P8EYOQK1Qm/oqdXuQJfsdtC+cJzx9jVpqAdO2hjWsYYUDaLYY - 8pCE5ZCQzDbprXuRIx68zTJ7GwIOQ6TW4SfcukhtW4BKrcg+6SRE96C3RyiFQhQK/197dx4c - xZUfcPz7unu659BoZnQfSEJGHOK0wYCNbQx21hiMbRw7tfvHlquyf2yyqeSfJP9u1SabylGp - 2ionVdlUdnPUVuyNNymvDzDYxvZ6bQzYCxgwwoAEQghdI2k090wf7+UPyXixDuwEFq3pT9WU - SlJPd09L/a5+7/cb5lwhyam4hl0bZlt9DVtiUaqSF+fuAQgMvv7H3+XxzBhFPUoiYs680EsI - kC6eJ/GESXUi6hf+0ygKY5d47/ApmpbfycqFtRSSveTDC6kNSy53nyXStpS4efWF6zc0TvQP - cLk0QZubZUM6g1MfwcsFKXc65CfaGS31slF5JPuHUMlRnHwBPRTEaV1ARV0NtpJcliF0cTe2 - /QtEuQ9bBNGKFazxbFTZ5qSSHCh49FhlEDafdCxEaIK6wUFaqgfR4vDx8CrWZs9SHnydPWIn - gVCUe4olNqUnGItCX76CCa3EimiE7d1n+J8lK7iYyXDkeA0PJhT3t/ZzeqKCETlEonQQCXRp - G+g0Sqh0mecu56jRdJYFVrHSO4irx1he2MSCiMVErY3pGdSPhGkueiScRkTwPkqaoKDr5HWd - c6EgphGgcTjL+8UIKdfiIU1D1YYpmzUEnVFqzHp26Oc4WpOh0KARQEC+mWAqQt1Amtvy4+gL - 6tBUCznjEh3aMZpFmUvB+xBSEnM9jsSjbHOzLM+dZkBobExvpH7is0BfpaTkWF2OjxpzOE2K - 8SXVHLsYRtprENoaQo7iO1JnizYVJE5YsGANv4fgSHgBF4svYKSepaC2EQ8YLK47iiXq6Uw8 - iJXwsGQdEaeRsKNjeRrfLxkEcwa1RhQzvAaqwNMgKVP0WkXiZYOlqTDCU5QzGfKZLCddl92J - GF0VEUJK8bSm86hRhehooYjLpaoy/W43eiSMfn8DvU6CxOAnbBBHsOmjzvgA0/Vo09bynHcH - YdPlz5r7WFKVQgFFe4jvn2unJznKHS3NrMh7rPA28g6nqBvvYWt6K30RxRtxm7B9CVevoLrC - op0wulyCbdhsjBWIxCoQPfCEeY6eguBE8U3aJo6ySo3yMcv5KLyebU02ItLB5YJGe18XdtlE - ZtIMOK20Cov1vXEacyYRR8eUk/dXyjD4ccsfsuzSDzgm91IfeZxU8RKlxC6GrCoeql5G46hN - VlVxwP0vvqMdJ3HbCMfkPnJ6I5nqb/CtUYewaoepMXZXC3Ox0iajEoT0IErTUcrjaSkJyhpc - 77OUr1H3DLYzRAeb6EPhViVomEjRKQSIFpIFlz2hKjLSY8WwgUEnWtUyOlNRFk2EJj9HhYd0 - 0+xWC7H1BNUXe6mxCzihOH0tbXhNZUQe2jsMFi2oJ1wMsckOsqCQRWXTnI47CDVT8BGl6Dqw - h3dPXf2AUERaePqbO/h8WgylJPteeJ5125+ixijz6s/3senJp6i6bsvMfvt55Qyv7XuPzdsf - pOsXe6nesJPY4AFGajbTprp5+1SWR7auvVLBOo5DKpVipJjhn469SKSyTE3CxtAmHyQpBHZO - kM8HGcoG2HxxiCUTaUBghwPkKwX5uMFobYiJKgspoVyEtkI3oVKatB7njLmcoOURDnlomkIA - hq4mb+CSQSodYCIbIJU28aQABMu0Czyo3qBLLWVMq0E3BXGrQL05zml7JTv0Iu3tLlGtwJgd - ZaLL5b+L9ay5Lc8D1WP87HgbAeMiLc4h8lYj3cFtbGrsoxjWeWW4DgFUKpu75CkyxDivFnGH - 0IkFDIKOoFCEcwWds47AAlYLjUVC0K7r/Ee8kqP5HNlynrqITdBQDOcNpGvwkNpPs+ojEXmS - u0p12JpkKABmziGQTZN1c2QMBxEOYsWi6KEgOVVgQJ0gp8YRIoBnrUHoGo7Ti2mPoEkPO9RM - PLKaoumQDLqEPagpGtQXTMK2xv6SYH9Wp1UP0NIQZ6lh8d5wlk+KGR4Jx/lmrAlNc8hoWSZI - 8XpE0jM+yjr7ECEvh4GFp9sc1O9mQyhOfUBSCEjyAW/qJakpGtQWTGrsCAiTpJmiJ14kG5gM - IyEAXUFrd5nEmTx7Ew30RivQhWCtaXLeVlwqShql4BumSXtYcaFqgk+qCxR1+blG31SaUyWJ - FTUC45UMigI760eoRxIqRSmVKwhFkgwaHs/2N5GlmSdiCYIWnMu/SUmUaZYdRB2dQT1EPr0P - R4UJGQ8QA2JSUGErGsuQUB77vX9BQ8fBRuoBnGA9l2MdjFbXEA07k8Hr8EhP5eAzSzkqJoa5 - aDeheQ3ssi1iGGRMl5KhyJtlkqbBBTNKU/oyVuZdNM9BqACF5u0MyFYqC2UWFQtEK1z61Qky - gTyBcgFcCy+8i8fsahw7TY83TsYskbdKWB7UFkxaSwHqHANNN8ErU9YlngAvliCy8ymSySTe - 2PucOPCXVASe4FTNYsajsNAtU+notOQVNWV4uTrBgrLNIyOjKClRUiJ1g6GKMCkjQMYKkigV - idllDurHqci9BehY+uMorZnzoSCXwmG+lRqnVnNJmx5pyyUZdjgfKzIecmevAAZ6TtI9cHU8 - FGEmuOuuVXw+zpuSktf2v862r00uER848ipjrTtYVYs/DXRKcfwMH3YH2byhjcJIF0f6K+kM - 9TAUu5OhY++wYdsOKg2uxE5xXZdUKkVv+jzPHfkAwxUEgKBUmI6NZwRQQkMB9tQldgR4gDv1 - 9dcJwFSTr5DiyvscAWUxGRRKm2HpYwBQrqBY1sHzCBgCtAxKA8cMo8T0hz0BJAEX1FRrKzC1 - b6XAdgKUdImQRRzTAqFRIaHSg6CCqJwsrD5PCchpkNGgGJBkNIHjTH5+zxOYgNTBMt0Ze5+a - 62DaRXQ3jOkKBJPDbMWIRjl040PXGp7E0hUaCs+GtAzgCY2IdPBCN+aBWdnWSI8HaIo7NBiS - OnfyGntARocxHZL6ZytelQLH1TADk40MA4VbFAjbIqB5BHSPuFdEq4B+YaGmqgYDWOBAk3v1 - 8V2g17z6GF+W6wlMt4SOh2daSHH13yqKS5tTwkh7ZKtN+oVF+fqFOJuRAIIlyAYExkz/rIAh - BcG8SzEs8HQNIRSdjTV8e/PXSSaTnB85wUu/OkzBmjkzmaYEjmcSzpcJlWaIrS/ACwQoGAZp - XcPAJU4ahWCMz5Kx6JoiFJw9XPasbfSJoT5On57eA1g/QwWAACs9xIt792IBmeFhjKG9ZFqW - cO+ajlkPfitRnsQITk6LEsEguufhuWUOvf0qNY0dRPXJTKtSSqSUOI5DNptF2M1c6mrEdb9g - zPPfiOprbqHr2pVQvtcyPWXL3DzXm5asxDe782Nw/tqb/f+OcYP3P5crwbuvnSripmrwmshm - s2SzWSKRFXT3pq/rfT3Cl88nfF16AJNvuXo3fsv/auXcZQ4cGWXr5tWM9xzknFpOh3uckZr7 - sC68TTKxmo2La6cNAdXW1lJ0JPJmlndqqvn+BQt0n883XSiggZIkk0nq6+tv/n3NbD0AIWjq - WE3jIkVpvI+Xdu/HDtaz8/F7Zy38Lxx7l48HcxhCocKNPHz/WnS/DrjCDNeTUB/x85d6kVol - O3bGKZwB0Ghfdy/Db71Bf+1DtMSvXmcthCDsZ9fx+b4SPo0oPl/u65l7AFOUN84PvvePbHzi - KazsBV4+kuQv/vT3p42wKenxyqt7eGznY6AU5959BW/1YyybeXjL9wV82gOoq6u72afi8/mu - E8/zSCaTNExFTbjZ5l4Ilu8nsuRr3HPHcqCTrq4fk+fqhWAACEHIczh/+TIWMJ4t4A1fZkRW - Ulc1bWufz+fzzQNzrwOILqdy5Lv81d8fxCyNYS7ZPr3wn9ySxUsXMZGcTPFmNS+DYpKJnOFX - AD6fzzdPzT1TvziEtexR/vzeZdhmlNgciX5N4TGaHEUPxvDsPGs3PUiVnxPG5/P55q25p3WE - qin3HuRMWqcyaKCUmnk+r5Ic7R6gs8omsXgjcVzkzX++4fP5fL45zN0DyPVz/FQPew7+EbHK - GCLWyd/9zZ8wPcqzQHmKing1p5NJ2q0iw1morlIMDg7eqHP/SvM8j1KphOu6197Y5/P9VpBS - UigUkFJee+PfgLlnAU39SggBn7b+hZgeD0gpUkNDWHW1nDv8S9JGHfdsWInfCfi/82cB+Xxf - PfNtFtCsQ0BKKVT6JM/u/nhq6Efxwk9/9mnco6sJQaKxkbBusGbTA9y3fsWMYQV8Pp/PN3/M - PgRUHOBH//xTPrwkSHbXApK+bIhdX2CnqQtHyVStY6G/DsDn8/nmrdkrAKuKbTsfItgluO/O - VoxgBU0NdTMP6yiFkmU+/tWHDBcFq9eup232HPI+n8/nmwdmHQISeoi2FVvYuipKX18f5892 - ceDQcZwZtlUo3tr9IuH229ly1yoOv/oiYzMEsPP5fD7f/HGNdQBn+dG/v8bKdYsmvw/CjM+u - laJsRrmtdnJ+0KqFYYayUOPnBPb5fL55a+4KwKrljo0b2fXE1is/mim+mxAanQ2V7N73BkFd - UZBVbK+5zmfqu6UopfyIsj7fDTZ3BVAY4/UX/o0333oBABFbxt/+9UzrAGDh7ffQJiWuBEPX - EJPh7X2+L025LsWjRzHbb8Oo9VsSPt+Ncs11AMWxXl7c/SaOVcfOXY9QPUP2JKUkb7/yPKqi - frLMF4JVG7ZSG7mBZz7PKaWw86Oc6Bln/ZqloCS9Jz/g5MUkaAYrN2xmYbVF9/HD9IwpNt5z - N4lfu7a36joApRSFQ4cZe+YfiGzdQvUffPtmn5LPd93Mt3UAc/cA5Dg/fOY/uft3n8TM9vLM - D3/C92YIB42Cshnn4a1bZ9rLLSk/3MO7H/Uy4cH6NUtR0qE7WWb7o49OXXRF8uz79KkWtqwT - 7HvnEI8/fM8t32mShQKZl18GwJ0KLujz+W6Ma4SDHiCyeCt3394JaimnTv3rrOGgq+1xnt+9 - hwox+Uxg3f07aJhprOgWUdHQwbYHmtj3y0MASNcldfk0e3fnqGtdxrpVbVzqLbH6d1oJCpdm - zjEBxD/XIZujg/bVoxS519/A6b2Ibpm4IyMoxwFj7naKz/fbZr7c1/8LKpooJhHG4NAAAAAA - SUVORK5CYII= + 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 @@ -15334,838 +15688,715 @@ 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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 @@ - +