diff --git a/AppDynamics DEXTER.pfx b/AppDynamics DEXTER.pfx deleted file mode 100644 index a18ddaf..0000000 Binary files a/AppDynamics DEXTER.pfx and /dev/null differ diff --git a/AppDynamics.DEXTER.public.cer b/AppDynamics.DEXTER.public.cer new file mode 100644 index 0000000..173529e Binary files /dev/null and b/AppDynamics.DEXTER.public.cer differ diff --git a/AppDynamics.Dexter.Core.csproj b/AppDynamics.Dexter.Core.csproj index 00fbd5f..9dac441 100644 --- a/AppDynamics.Dexter.Core.csproj +++ b/AppDynamics.Dexter.Core.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.0;net472 + netcoreapp3.1;net472 win-x64;osx-x64;linux-x64 SearchContract.ico false @@ -23,16 +23,19 @@ + + + @@ -52,7 +55,7 @@ - + @@ -72,6 +75,9 @@ + + Always + PreserveNewest @@ -96,6 +102,12 @@ Always + + Always + + + Always + Always @@ -117,15 +129,6 @@ PreserveNewest - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - Always diff --git a/ChromeDriver/78/linux64/chromedriver b/ChromeDriver/78/linux64/chromedriver deleted file mode 100644 index eeecd35..0000000 Binary files a/ChromeDriver/78/linux64/chromedriver and /dev/null differ diff --git a/ChromeDriver/78/mac64/chromedriver b/ChromeDriver/78/mac64/chromedriver deleted file mode 100644 index 4ff3bcc..0000000 Binary files a/ChromeDriver/78/mac64/chromedriver and /dev/null differ diff --git a/ChromeDriver/78/win32/chromedriver.exe b/ChromeDriver/78/win32/chromedriver.exe deleted file mode 100644 index ec9ce29..0000000 Binary files a/ChromeDriver/78/win32/chromedriver.exe and /dev/null differ diff --git a/ControllerApi/ControllerApi.cs b/ControllerApi/ControllerApi.cs index d4443f9..e7a0b04 100644 --- a/ControllerApi/ControllerApi.cs +++ b/ControllerApi/ControllerApi.cs @@ -80,7 +80,7 @@ public ControllerApi(string controllerURL, string userName, string userPassword) }; // If customer controller is still leveraging old TLS or SSL3 protocols, enable that -#if (NETCOREAPP3_0) +#if (NETCOREAPP3_1) ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11; #else ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11; diff --git a/DataObjects/JobConfiguration/JobTarget.cs b/DataObjects/JobConfiguration/JobTarget.cs index 921cf62..b60fda2 100644 --- a/DataObjects/JobConfiguration/JobTarget.cs +++ b/DataObjects/JobConfiguration/JobTarget.cs @@ -1,5 +1,4 @@ using System; -using System.Net; namespace AppDynamics.Dexter { diff --git a/DataObjects/ProgramOptions/ProgramOptions.cs b/DataObjects/ProgramOptions/ProgramOptions.cs index af04db5..93df8c7 100644 --- a/DataObjects/ProgramOptions/ProgramOptions.cs +++ b/DataObjects/ProgramOptions/ProgramOptions.cs @@ -37,6 +37,8 @@ public class ProgramOptions public string JobName { get; set; } + public JobOutput LicensedReports { get; set; } + public override string ToString() { return String.Format( diff --git a/DefaultJob.json b/DefaultJob.json index ebbe63a..32f3648 100644 --- a/DefaultJob.json +++ b/DefaultJob.json @@ -51,8 +51,8 @@ ], "Input": { "TimeRange": { - "From": "2020-03-09T09:00:00", - "To": "2020-03-09T10:00:00" + "From": "2020-03-20T09:00:00", + "To": "2020-03-20T10:00:00" }, "UsersGroupsRolesPermissions": true, "Dashboards": true, diff --git a/LicensedFeatures.json b/LicensedFeatures.json new file mode 100644 index 0000000..ed1798b --- /dev/null +++ b/LicensedFeatures.json @@ -0,0 +1,20 @@ +{ + "Signature": "jeBQXY+Bum3Lt3hA5kuYfnff/NLQgRj6NwLbMphjU2Sr1Stz9RlR2U3Qy2DScXWNv4Li42VwhszJhKOdTKbHt3U9YtuavyW69wVSrExX9D67wJuuOi08cOVaCwuEiYJSiISUMCn7rZ9gjCy+2QBfAVkAFMpjSWx0YHDpKyMir5fVxO9Ulv3nCXmz0C/lMpiiOpUlWQfPV+B0agRpEtHvcEfg8zvpLW5Bhmbii0I+UqWn4rdcraG2aXFGKb5AsY47UxUjzI+ihuJQ+HzkI9Lo7CraBNiaRp/R5qfI57Q/9l5vOQPVZMhogSBjwgjzvuYh6hr443N6olHF/yjUY1RfxA==", + "LicensedFeatures": { + "ExpirationDateTime": "2031-01-01T00:00:00Z", + "ApplicationSummary": false, + "Configuration": true, + "Dashboards": true, + "DetectedEntities": true, + "EntityDashboards": true, + "EntityDetails": true, + "EntityMetricGraphs": true, + "EntityMetrics": true, + "Events": true, + "FlameGraphs": true, + "HealthCheck": false, + "Licenses": false, + "Snapshots": true, + "UsersGroupsRolesPermissions": true + } +} \ No newline at end of file diff --git a/MethodNamespaceTypeMapping.csv b/MethodNamespaceTypeMapping.csv index ab6f73a..390fff7 100644 --- a/MethodNamespaceTypeMapping.csv +++ b/MethodNamespaceTypeMapping.csv @@ -61,6 +61,7 @@ com.microsoft.sqlserver,Microsoft SQL Server Driver,00A1F1,4FBAF0,000000 com.mongodb,Mongo DB,633838,854949,FFFFFF com.mule,Mule ESB,e3b2ed,f4cafc,000000 com.mysql,MySQL Driver,36ffc3,9ffce0,000000 +com.netflix.hystrix,Hystrix Fault Tolerance,633838,854949,FFFFFF com.newrelic,NewRelic,7668CF,978FCF,FFFFFF com.nimbusds,NimbusDS,fcf644,fcf760,000000 com.opensymphony,OpenSymphony J2EE,558c07,6aa813,FFFFFF @@ -116,6 +117,8 @@ Fiserv,FiServ Financial,993006,b5471b,FFFFFF freemarker,Apache FreeMarker,FD6DEE,F5CCE7,000000 Glass.Mapper,Sitecore CMS,8abfb9,a7d6d1,000000 gw.,Guidewire,BA90FC,C5A7FC,000000 +io.github.resilience4j,Resilience4j Fault Tolerance,8abfb9,a7d6d1,000000 +io.lettuce,Lettuce Redis Client,BA90FC,C5A7FC,000000 io.netty,Netty NIO,993006,b5471b,FFFFFF io.prometheus,Prometheus,BA90FC,C5A7FC,000000 io.undertow,JBoss Undertow,99a30d,acb52a,000000 @@ -162,7 +165,7 @@ Newtonsoft.Json,Newtonsoft JSON,a3f57f,bffca4,000000 NHibernate,NHibernate ORM,a3f57f,bffca4,000000 NLog,NLog Framework,a2d9f2,bfebff,000000 Novell,Novell,ad5fc9,c169e0,000000 -OfficeOpenXml,Office XML,85375,11658c,FFFFFF +OfficeOpenXml,Office XML,085375,11658c,FFFFFF ognl,Apache OGNL,FD6DEE,F5CCE7,000000 okhttp3,OkHttp Square,FE5810,FF8754,000000 okio,OkHttp Square NIO,8bc4af,9ad9c2,000000 @@ -192,6 +195,10 @@ redis,Redis Cache,ff4d4d,ff9696,FFFFFF redis.clients,Redis Cache Client,ff4d4d,ff9696,FFFFFF ReportExprHostImpl,Microsoft Reporting Services,00A1F1,4FBAF0,000000 RestSharp,RestSharp HTTP Client,ff4d4d,ff9696,FFFFFF +rx.internal,ReactiveX Observable Async,99a30d,acb52a,FFFFFF +rx.Observable,ReactiveX Observable Async,99a30d,acb52a,FFFFFF +rx.observables,ReactiveX Observable Async,99a30d,acb52a,FFFFFF +rx.Subscriber,ReactiveX Observable Async,99a30d,acb52a,FFFFFF Sitecore,Sitecore CMS,8abfb9,a7d6d1,000000 SNINativeMethodWrapper,.NET ADO.NET,6197FF,94C9FF,000000 StackExchange.Redis,Redis StackExchange,ff4d4d,ff9696,FFFFFF diff --git a/MethodNamespaceTypeMapping.xlsm b/MethodNamespaceTypeMapping.xlsm index 5216f85..552161e 100644 Binary files a/MethodNamespaceTypeMapping.xlsm and b/MethodNamespaceTypeMapping.xlsm differ diff --git a/ProcessingSteps/Extract/ExtractAPMConfiguration.cs b/ProcessingSteps/Extract/ExtractAPMConfiguration.cs index 27a9e0f..0c09535 100644 --- a/ProcessingSteps/Extract/ExtractAPMConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractAPMConfiguration.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -218,8 +218,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractAPMEntities.cs b/ProcessingSteps/Extract/ExtractAPMEntities.cs index c92fda7..189ea69 100644 --- a/ProcessingSteps/Extract/ExtractAPMEntities.cs +++ b/ProcessingSteps/Extract/ExtractAPMEntities.cs @@ -38,7 +38,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -413,8 +413,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Extract/ExtractAPMEntityDashboardScreenshots.cs b/ProcessingSteps/Extract/ExtractAPMEntityDashboardScreenshots.cs index 9f014ab..2a2a207 100644 --- a/ProcessingSteps/Extract/ExtractAPMEntityDashboardScreenshots.cs +++ b/ProcessingSteps/Extract/ExtractAPMEntityDashboardScreenshots.cs @@ -52,7 +52,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -148,6 +148,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job foreach (string chromeDriverVersionFolderPath in chromeDriverFolderPaths) { string chromeDriverFolderPath = String.Empty; + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) == true) { chromeDriverFolderPath = Path.Combine(chromeDriverVersionFolderPath, "win32"); @@ -167,6 +168,23 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job if (chromeDriverFolderPath.Length > 0) { + // Get the permissions and set chmod 755 if they are not set + try + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) == true || RuntimeInformation.IsOSPlatform(OSPlatform.OSX) == true) + { + string chmodParams = String.Format(@"755 ""{0}/chromedriver""", chromeDriverFolderPath); + loggerWebDriver.Trace("Running chmod {0}", chmodParams); + Process processChMod = Process.Start("chmod", chmodParams); + processChMod.WaitForExit(1000 * 10); + } + } + catch (Exception ex) + { + loggerWebDriver.Error("Unable to run chmod 755 command", chromeDriverFolderPath); + loggerWebDriver.Error(ex); + } + try { loggerConsole.Info("Trying to open Chrome Web Driver from {0}", chromeDriverVersionFolderPath); @@ -175,6 +193,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job catch (InvalidOperationException ex) { // This happens when the driver is for browser that is newer then what is installed + //System.InvalidOperationException // HResult = 0x80131509 // Message = session not created: This version of ChromeDriver only supports Chrome version 78(SessionNotCreated) @@ -192,6 +211,29 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job loggerWebDriver.Error(ex); } + catch (System.ComponentModel.Win32Exception ex) + { + // This happens when the driver is not chmod'ed to be executable on Mac and Linux + + //System.ComponentModel.Win32Exception(13): Permission denied + // at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32 & stdinFd, Int32 & stdoutFd, Int32 & stderrFd, Boolean usesTerminal, Boolean throwOnNoExec) + // at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) + // at System.Diagnostics.Process.Start() + // at OpenQA.Selenium.DriverService.Start() + // at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) + // at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) + // at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) + // at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options) + // at AppDynamics.Dexter.ProcessingSteps.ExtractAPMEntityDashboardScreenshots.Execute(ProgramOptions programOptions, JobConfiguration jobConfiguration) in C:\appdynamics\AppDynamics.DEXTER\src\ProcessingSteps\Extract\ExtractAPMEntityDashboardScreenshots.cs:line 195 + + loggerConsole.Warn("Unable to create Web Driver from {0} because it is not marked at executable", chromeDriverFolderPath); + loggerWebDriver.Error("Unable to create Web Driver from {0}", chromeDriverFolderPath); + + loggerWebDriver.Error(ex); + } if (chromeDriver != null) { @@ -216,6 +258,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job catch (InvalidOperationException ex) { // This happens when the driver is for browser that is newer then what is installed + //System.InvalidOperationException // HResult = 0x80131509 // Message = session not created: This version of ChromeDriver only supports Chrome version 78(SessionNotCreated) @@ -231,6 +274,29 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job loggerConsole.Warn("Unable to create Web Driver from {0}", validatedChromeDriverFolderPath); loggerWebDriver.Error("Unable to create Web Driver from {0}", validatedChromeDriverFolderPath); + loggerWebDriver.Error(ex); + } + catch (System.ComponentModel.Win32Exception ex) + { + // This happens when the driver is not chmod'ed to be executable on Mac and Linux + + //System.ComponentModel.Win32Exception(13): Permission denied + // at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32 & stdinFd, Int32 & stdoutFd, Int32 & stderrFd, Boolean usesTerminal, Boolean throwOnNoExec) + // at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) + // at System.Diagnostics.Process.Start() + // at OpenQA.Selenium.DriverService.Start() + // at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) + // at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) + // at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) + // at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout) + // at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options) + // at AppDynamics.Dexter.ProcessingSteps.ExtractAPMEntityDashboardScreenshots.Execute(ProgramOptions programOptions, JobConfiguration jobConfiguration) in C:\appdynamics\AppDynamics.DEXTER\src\ProcessingSteps\Extract\ExtractAPMEntityDashboardScreenshots.cs:line 195 + + loggerConsole.Warn("Unable to create Web Driver from {0} because it is not marked at executable", validatedChromeDriverFolderPath); + loggerWebDriver.Error("Unable to create Web Driver from {0}", validatedChromeDriverFolderPath); + loggerWebDriver.Error(ex); } } @@ -238,6 +304,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job if (chromeDriver == null) { loggerConsole.Warn("Do not have Chrome Web Driver Initialized"); + loggerWebDriver.Warn("Do not have Chrome Web Driver Initialized"); continue; } @@ -852,8 +919,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityDashboards={0}", programOptions.LicensedReports.EntityDashboards); + loggerConsole.Trace("LicensedReports.EntityDashboards={0}", programOptions.LicensedReports.EntityDashboards); + if (programOptions.LicensedReports.EntityDashboards == false) + { + loggerConsole.Warn("Not licensed for entity dashboard/flowmap screenshots"); + return false; + } + logger.Trace("Input.EntityDashboards={0}", jobConfiguration.Input.EntityDashboards); loggerConsole.Trace("Input.EntityDashboards={0}", jobConfiguration.Input.EntityDashboards); if (jobConfiguration.Input.EntityDashboards == false) diff --git a/ProcessingSteps/Extract/ExtractAPMFlowmaps.cs b/ProcessingSteps/Extract/ExtractAPMFlowmaps.cs index 3ccb25f..60bddc3 100644 --- a/ProcessingSteps/Extract/ExtractAPMFlowmaps.cs +++ b/ProcessingSteps/Extract/ExtractAPMFlowmaps.cs @@ -33,7 +33,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -384,8 +384,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity flowmaps"); + return false; + } + logger.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps); loggerConsole.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps); if (jobConfiguration.Input.Flowmaps == false) diff --git a/ProcessingSteps/Extract/ExtractAPMMetrics.cs b/ProcessingSteps/Extract/ExtractAPMMetrics.cs index 50c788a..aea48da 100644 --- a/ProcessingSteps/Extract/ExtractAPMMetrics.cs +++ b/ProcessingSteps/Extract/ExtractAPMMetrics.cs @@ -29,7 +29,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -253,8 +253,16 @@ private void getMetricsForEntities( } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity metrics"); + return false; + } + logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); if (jobConfiguration.Input.Metrics == false) diff --git a/ProcessingSteps/Extract/ExtractAPMSnapshots.cs b/ProcessingSteps/Extract/ExtractAPMSnapshots.cs index 501ec22..bc98e13 100644 --- a/ProcessingSteps/Extract/ExtractAPMSnapshots.cs +++ b/ProcessingSteps/Extract/ExtractAPMSnapshots.cs @@ -42,7 +42,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -284,8 +284,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job snapshotToken["applicationComponentName"], snapshotToken["businessTransactionName"]); + // Assume we are keeping snapshot + bool keepSnapshot = true; + // Only grab first in chain snapshots - if ((bool)snapshotToken["firstInChain"] == false) continue; + if ((bool)snapshotToken["firstInChain"] == false) keepSnapshot = false; + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because it is not first in chain",snapshotToken["requestGUID"]); + continue; + } // Filter user experience switch (snapshotToken["userExperience"].ToString()) @@ -307,21 +315,32 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job break; default: // Not sure what kind of beast it is - continue; + keepSnapshot = false; + break; + } + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because its user experience is unknown", snapshotToken["requestGUID"]); + continue; } // Filter call graph if ((bool)snapshotToken["fullCallgraph"] == true) { - if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.Full != true) continue; + if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.Full != true) keepSnapshot = false; } else if ((bool)snapshotToken["delayedCallGraph"] == true) { - if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.Partial != true) continue; + if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.Partial != true) keepSnapshot = false; } else { - if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.None != true) continue; + if (jobConfiguration.Input.SnapshotSelectionCriteria.SnapshotType.None != true) keepSnapshot = false; + } + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because its of call graph criteria didn't match", snapshotToken["requestGUID"]); + continue; } // Filter Tier type @@ -335,11 +354,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job PropertyInfo pi = jobConfiguration.Input.SnapshotSelectionCriteria.TierType.GetType().GetProperty(tier.agentType); if (pi != null) { - if ((bool)pi.GetValue(jobConfiguration.Input.SnapshotSelectionCriteria.TierType) == false) continue; + if ((bool)pi.GetValue(jobConfiguration.Input.SnapshotSelectionCriteria.TierType) == false) keepSnapshot = false; } } } } + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because its of tier type", snapshotToken["requestGUID"]); + continue; + } // Filter BT type if (jobConfiguration.Input.SnapshotSelectionCriteria.BusinessTransactionType.All != true) @@ -352,11 +376,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job PropertyInfo pi = jobConfiguration.Input.SnapshotSelectionCriteria.BusinessTransactionType.GetType().GetProperty(businessTransaction.entryPointType); if (pi != null) { - if ((bool)pi.GetValue(jobConfiguration.Input.SnapshotSelectionCriteria.BusinessTransactionType) == false) continue; + if ((bool)pi.GetValue(jobConfiguration.Input.SnapshotSelectionCriteria.BusinessTransactionType) == false) keepSnapshot = false; } } } } + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because its of business transaction type", snapshotToken["requestGUID"]); + continue; + } // Filter Tier name bool tierNameMatch = false; @@ -382,7 +411,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } } - if (tierNameMatch == false) continue; + if (tierNameMatch == false) keepSnapshot = false; + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because tier name didn't match", snapshotToken["requestGUID"]); + continue; + } // Filter BT name bool businessTransactionNameMatch = false; @@ -408,7 +442,12 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } } - if (businessTransactionNameMatch == false) continue; + if (businessTransactionNameMatch == false) keepSnapshot = false; + if (keepSnapshot == false) + { + logger.Trace("Filtering snapshot requestGUID={0} because business transaction name didn't match", snapshotToken["requestGUID"]); + continue; + } // If we got here, then the snapshot passed the filter logger.Trace("Keeping snapshot requestGUID={0}, firstInChain={1}, userExperience={2}, fullCallgraph={3}, delayedCallGraph={4}, applicationComponentName={5}, businessTransactionName={6}", @@ -535,8 +574,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + 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); if (jobConfiguration.Input.Snapshots == false) diff --git a/ProcessingSteps/Extract/ExtractApplicationEventsAndHealthRuleViolations.cs b/ProcessingSteps/Extract/ExtractApplicationEventsAndHealthRuleViolations.cs index da40092..218a169 100644 --- a/ProcessingSteps/Extract/ExtractApplicationEventsAndHealthRuleViolations.cs +++ b/ProcessingSteps/Extract/ExtractApplicationEventsAndHealthRuleViolations.cs @@ -34,7 +34,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -348,8 +348,16 @@ private int extractEvents(JobConfiguration jobConfiguration, JobTarget jobTarget return listOfEventsArray.Count; } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + loggerConsole.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + if (programOptions.LicensedReports.Events == false) + { + loggerConsole.Warn("Not licensed for events"); + return false; + } + logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events); if (jobConfiguration.Input.Events == false) diff --git a/ProcessingSteps/Extract/ExtractApplicationHealthRulesAlertsPolicies.cs b/ProcessingSteps/Extract/ExtractApplicationHealthRulesAlertsPolicies.cs index 630dfd8..f5ac9b1 100644 --- a/ProcessingSteps/Extract/ExtractApplicationHealthRulesAlertsPolicies.cs +++ b/ProcessingSteps/Extract/ExtractApplicationHealthRulesAlertsPolicies.cs @@ -26,7 +26,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -155,8 +155,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractBIQConfiguration.cs b/ProcessingSteps/Extract/ExtractBIQConfiguration.cs index 8ee0d6c..21ad8bd 100644 --- a/ProcessingSteps/Extract/ExtractBIQConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractBIQConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -116,8 +116,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractBIQEntities.cs b/ProcessingSteps/Extract/ExtractBIQEntities.cs index a4f01ee..d10423e 100644 --- a/ProcessingSteps/Extract/ExtractBIQEntities.cs +++ b/ProcessingSteps/Extract/ExtractBIQEntities.cs @@ -29,7 +29,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -202,8 +202,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Extract/ExtractControllerAuditEventsAndNotifications.cs b/ProcessingSteps/Extract/ExtractControllerAuditEventsAndNotifications.cs index fe0e44c..d5f8322 100644 --- a/ProcessingSteps/Extract/ExtractControllerAuditEventsAndNotifications.cs +++ b/ProcessingSteps/Extract/ExtractControllerAuditEventsAndNotifications.cs @@ -28,7 +28,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -156,8 +156,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + loggerConsole.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + if (programOptions.LicensedReports.Events == false) + { + loggerConsole.Warn("Not licensed for events"); + return false; + } + logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events); if (jobConfiguration.Input.Events == false) diff --git a/ProcessingSteps/Extract/ExtractControllerConfiguration.cs b/ProcessingSteps/Extract/ExtractControllerConfiguration.cs index 1902935..6630a71 100644 --- a/ProcessingSteps/Extract/ExtractControllerConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractControllerConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -146,8 +146,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractControllerUsersGroupsRolesAndPermissions.cs b/ProcessingSteps/Extract/ExtractControllerUsersGroupsRolesAndPermissions.cs index ceff9e7..a47a510 100644 --- a/ProcessingSteps/Extract/ExtractControllerUsersGroupsRolesAndPermissions.cs +++ b/ProcessingSteps/Extract/ExtractControllerUsersGroupsRolesAndPermissions.cs @@ -28,7 +28,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -243,8 +243,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + loggerConsole.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + if (programOptions.LicensedReports.UsersGroupsRolesPermissions == false) + { + loggerConsole.Warn("Not licensed for users, groups, roles and permissions"); + return false; + } + logger.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); loggerConsole.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); if (jobConfiguration.Input.UsersGroupsRolesPermissions == false) diff --git a/ProcessingSteps/Extract/ExtractControllerVersionAndApplications.cs b/ProcessingSteps/Extract/ExtractControllerVersionAndApplications.cs index e1332cd..c7e2278 100644 --- a/ProcessingSteps/Extract/ExtractControllerVersionAndApplications.cs +++ b/ProcessingSteps/Extract/ExtractControllerVersionAndApplications.cs @@ -29,7 +29,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -197,7 +197,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { logger.Trace("{0} is always executed", jobConfiguration.Status); loggerConsole.Trace("{0} is always executed", jobConfiguration.Status); diff --git a/ProcessingSteps/Extract/ExtractDBConfiguration.cs b/ProcessingSteps/Extract/ExtractDBConfiguration.cs index a83ade7..cf17f03 100644 --- a/ProcessingSteps/Extract/ExtractDBConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractDBConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -138,8 +138,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractDBEntities.cs b/ProcessingSteps/Extract/ExtractDBEntities.cs index 5808322..0bd0cfc 100644 --- a/ProcessingSteps/Extract/ExtractDBEntities.cs +++ b/ProcessingSteps/Extract/ExtractDBEntities.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -358,8 +358,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Extract/ExtractDashboards.cs b/ProcessingSteps/Extract/ExtractDashboards.cs index 8178f69..eba3bf1 100644 --- a/ProcessingSteps/Extract/ExtractDashboards.cs +++ b/ProcessingSteps/Extract/ExtractDashboards.cs @@ -35,7 +35,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -180,8 +180,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + loggerConsole.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + if (programOptions.LicensedReports.Dashboards == false) + { + loggerConsole.Warn("Not licensed for dashboards"); + return false; + } + logger.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); loggerConsole.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); if (jobConfiguration.Input.Dashboards == false) diff --git a/ProcessingSteps/Extract/ExtractLicenses.cs b/ProcessingSteps/Extract/ExtractLicenses.cs index dc18532..4cf27d0 100644 --- a/ProcessingSteps/Extract/ExtractLicenses.cs +++ b/ProcessingSteps/Extract/ExtractLicenses.cs @@ -29,7 +29,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -233,8 +233,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + loggerConsole.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + if (programOptions.LicensedReports.Licenses == false) + { + loggerConsole.Warn("Not licensed for licenses"); + return false; + } + logger.Trace("Input.Licenses={0}", jobConfiguration.Input.Licenses); loggerConsole.Trace("Input.Licenses={0}", jobConfiguration.Input.Licenses); if (jobConfiguration.Input.Licenses == false) diff --git a/ProcessingSteps/Extract/ExtractMOBILEConfiguration.cs b/ProcessingSteps/Extract/ExtractMOBILEConfiguration.cs index beb4139..96f87b5 100644 --- a/ProcessingSteps/Extract/ExtractMOBILEConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractMOBILEConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -152,8 +152,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractMOBILEEntities.cs b/ProcessingSteps/Extract/ExtractMOBILEEntities.cs index 7e4067d..ce178ab 100644 --- a/ProcessingSteps/Extract/ExtractMOBILEEntities.cs +++ b/ProcessingSteps/Extract/ExtractMOBILEEntities.cs @@ -36,7 +36,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -196,8 +196,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Extract/ExtractSIMEntities.cs b/ProcessingSteps/Extract/ExtractSIMEntities.cs index 7e9360a..909e1e6 100644 --- a/ProcessingSteps/Extract/ExtractSIMEntities.cs +++ b/ProcessingSteps/Extract/ExtractSIMEntities.cs @@ -36,7 +36,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -240,8 +240,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Extract/ExtractWEBConfiguration.cs b/ProcessingSteps/Extract/ExtractWEBConfiguration.cs index 9dece2b..70ca2ed 100644 --- a/ProcessingSteps/Extract/ExtractWEBConfiguration.cs +++ b/ProcessingSteps/Extract/ExtractWEBConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -200,8 +200,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Extract/ExtractWEBEntities.cs b/ProcessingSteps/Extract/ExtractWEBEntities.cs index 6402af1..4adce57 100644 --- a/ProcessingSteps/Extract/ExtractWEBEntities.cs +++ b/ProcessingSteps/Extract/ExtractWEBEntities.cs @@ -35,7 +35,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -236,8 +236,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexAPMConfiguration.cs b/ProcessingSteps/Index/IndexAPMConfiguration.cs index 3b3feef..3ce3f44 100644 --- a/ProcessingSteps/Index/IndexAPMConfiguration.cs +++ b/ProcessingSteps/Index/IndexAPMConfiguration.cs @@ -34,7 +34,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1508,8 +1508,17 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexAPMEntities.cs b/ProcessingSteps/Index/IndexAPMEntities.cs index cb02e1e..ed15660 100644 --- a/ProcessingSteps/Index/IndexAPMEntities.cs +++ b/ProcessingSteps/Index/IndexAPMEntities.cs @@ -33,7 +33,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1145,8 +1145,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexAPMFlowmaps.cs b/ProcessingSteps/Index/IndexAPMFlowmaps.cs index dd2da3c..5329551 100644 --- a/ProcessingSteps/Index/IndexAPMFlowmaps.cs +++ b/ProcessingSteps/Index/IndexAPMFlowmaps.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -316,8 +316,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity flowmaps"); + return false; + } + logger.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps); loggerConsole.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps); if (jobConfiguration.Input.Flowmaps == false) diff --git a/ProcessingSteps/Index/IndexAPMHealthCheck.cs b/ProcessingSteps/Index/IndexAPMHealthCheck.cs index a0485d7..2f63d94 100644 --- a/ProcessingSteps/Index/IndexAPMHealthCheck.cs +++ b/ProcessingSteps/Index/IndexAPMHealthCheck.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -685,8 +685,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + loggerConsole.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + if (programOptions.LicensedReports.HealthCheck == false) + { + loggerConsole.Warn("Not licensed for health check"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); diff --git a/ProcessingSteps/Index/IndexAPMMetrics.cs b/ProcessingSteps/Index/IndexAPMMetrics.cs index 7c936d1..c6bc62a 100644 --- a/ProcessingSteps/Index/IndexAPMMetrics.cs +++ b/ProcessingSteps/Index/IndexAPMMetrics.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1024,8 +1024,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity metrics"); + return false; + } + logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); if (jobConfiguration.Input.Metrics == false) diff --git a/ProcessingSteps/Index/IndexAPMSnapshots.cs b/ProcessingSteps/Index/IndexAPMSnapshots.cs index ae76754..3cf9ffa 100644 --- a/ProcessingSteps/Index/IndexAPMSnapshots.cs +++ b/ProcessingSteps/Index/IndexAPMSnapshots.cs @@ -38,7 +38,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -729,8 +729,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + 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); if (jobConfiguration.Input.Snapshots == false) diff --git a/ProcessingSteps/Index/IndexApplicationConfigurationDifferences.cs b/ProcessingSteps/Index/IndexApplicationConfigurationDifferences.cs index cdd1f2e..3e39cf5 100644 --- a/ProcessingSteps/Index/IndexApplicationConfigurationDifferences.cs +++ b/ProcessingSteps/Index/IndexApplicationConfigurationDifferences.cs @@ -33,7 +33,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -742,8 +742,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexApplicationEventsAndHealthRuleViolations.cs b/ProcessingSteps/Index/IndexApplicationEventsAndHealthRuleViolations.cs index 9e82e5e..86026c3 100644 --- a/ProcessingSteps/Index/IndexApplicationEventsAndHealthRuleViolations.cs +++ b/ProcessingSteps/Index/IndexApplicationEventsAndHealthRuleViolations.cs @@ -32,7 +32,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -606,8 +606,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + loggerConsole.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + if (programOptions.LicensedReports.Events == false) + { + loggerConsole.Warn("Not licensed for events"); + return false; + } + logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events); if (jobConfiguration.Input.Events == false) diff --git a/ProcessingSteps/Index/IndexApplicationHealthRulesAlertsPolicies.cs b/ProcessingSteps/Index/IndexApplicationHealthRulesAlertsPolicies.cs index 3e61b18..0fe0af2 100644 --- a/ProcessingSteps/Index/IndexApplicationHealthRulesAlertsPolicies.cs +++ b/ProcessingSteps/Index/IndexApplicationHealthRulesAlertsPolicies.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -650,8 +650,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexBIQConfiguration.cs b/ProcessingSteps/Index/IndexBIQConfiguration.cs index a342ee1..9d1782d 100644 --- a/ProcessingSteps/Index/IndexBIQConfiguration.cs +++ b/ProcessingSteps/Index/IndexBIQConfiguration.cs @@ -27,7 +27,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -37,8 +37,6 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job return true; } - //bool reportFolderCleaned = false; - // Process each target for (int i = 0; i < jobConfiguration.Target.Count; i++) { @@ -112,8 +110,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexBIQEntities.cs b/ProcessingSteps/Index/IndexBIQEntities.cs index 725e2f9..27d4d9b 100644 --- a/ProcessingSteps/Index/IndexBIQEntities.cs +++ b/ProcessingSteps/Index/IndexBIQEntities.cs @@ -32,7 +32,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -731,8 +731,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexControllerAuditEventsAndNotifications.cs b/ProcessingSteps/Index/IndexControllerAuditEventsAndNotifications.cs index 4087e01..94ffe38 100644 --- a/ProcessingSteps/Index/IndexControllerAuditEventsAndNotifications.cs +++ b/ProcessingSteps/Index/IndexControllerAuditEventsAndNotifications.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -244,8 +244,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + loggerConsole.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + if (programOptions.LicensedReports.Events == false) + { + loggerConsole.Warn("Not licensed for events"); + return false; + } + logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events); if (jobConfiguration.Input.Events == false) diff --git a/ProcessingSteps/Index/IndexControllerConfiguration.cs b/ProcessingSteps/Index/IndexControllerConfiguration.cs index 4267518..de50c3e 100644 --- a/ProcessingSteps/Index/IndexControllerConfiguration.cs +++ b/ProcessingSteps/Index/IndexControllerConfiguration.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -323,8 +323,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexControllerHealthCheck.cs b/ProcessingSteps/Index/IndexControllerHealthCheck.cs index e52e63d..eb37de6 100644 --- a/ProcessingSteps/Index/IndexControllerHealthCheck.cs +++ b/ProcessingSteps/Index/IndexControllerHealthCheck.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -210,8 +210,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + loggerConsole.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + if (programOptions.LicensedReports.HealthCheck == false) + { + loggerConsole.Warn("Not licensed for health check"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); logger.Trace("Output.HealthCheck={0}", jobConfiguration.Output.HealthCheck); diff --git a/ProcessingSteps/Index/IndexControllerUsersGroupsRolesAndPermissions.cs b/ProcessingSteps/Index/IndexControllerUsersGroupsRolesAndPermissions.cs index 34ae340..acc2908 100644 --- a/ProcessingSteps/Index/IndexControllerUsersGroupsRolesAndPermissions.cs +++ b/ProcessingSteps/Index/IndexControllerUsersGroupsRolesAndPermissions.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -609,8 +609,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + loggerConsole.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + if (programOptions.LicensedReports.UsersGroupsRolesPermissions == false) + { + loggerConsole.Warn("Not licensed for users, groups, roles and permissions"); + return false; + } + logger.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); loggerConsole.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); if (jobConfiguration.Input.UsersGroupsRolesPermissions == false) diff --git a/ProcessingSteps/Index/IndexControllerVersionAndApplications.cs b/ProcessingSteps/Index/IndexControllerVersionAndApplications.cs index 7a4271a..358be9c 100644 --- a/ProcessingSteps/Index/IndexControllerVersionAndApplications.cs +++ b/ProcessingSteps/Index/IndexControllerVersionAndApplications.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -365,7 +365,7 @@ private void populateApplicationInfo(JObject applicationJSON, ControllerApplicat try { controllerApplication.UpdatedOn = controllerApplication.UpdatedOnUtc.ToLocalTime(); } catch { } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { logger.Trace("{0} is always executed", jobConfiguration.Status); loggerConsole.Trace("{0} is always executed", jobConfiguration.Status); diff --git a/ProcessingSteps/Index/IndexDBConfiguration.cs b/ProcessingSteps/Index/IndexDBConfiguration.cs index 70f8c45..df6434c 100644 --- a/ProcessingSteps/Index/IndexDBConfiguration.cs +++ b/ProcessingSteps/Index/IndexDBConfiguration.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -365,8 +365,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexDBEntities.cs b/ProcessingSteps/Index/IndexDBEntities.cs index 120b8aa..36ae031 100644 --- a/ProcessingSteps/Index/IndexDBEntities.cs +++ b/ProcessingSteps/Index/IndexDBEntities.cs @@ -30,7 +30,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1004,8 +1004,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexDashboards.cs b/ProcessingSteps/Index/IndexDashboards.cs index 80b0d22..474392c 100644 --- a/ProcessingSteps/Index/IndexDashboards.cs +++ b/ProcessingSteps/Index/IndexDashboards.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -559,8 +559,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + loggerConsole.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + if (programOptions.LicensedReports.Dashboards == false) + { + loggerConsole.Warn("Not licensed for dashboards"); + return false; + } + logger.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); loggerConsole.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); if (jobConfiguration.Input.Dashboards == false) diff --git a/ProcessingSteps/Index/IndexLicenses.cs b/ProcessingSteps/Index/IndexLicenses.cs index c6c4ec5..78d1890 100644 --- a/ProcessingSteps/Index/IndexLicenses.cs +++ b/ProcessingSteps/Index/IndexLicenses.cs @@ -55,7 +55,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -638,8 +638,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + loggerConsole.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + if (programOptions.LicensedReports.Licenses == false) + { + loggerConsole.Warn("Not licensed for licenses"); + return false; + } + logger.Trace("Input.Licenses={0}", jobConfiguration.Input.Licenses); loggerConsole.Trace("Input.Licenses={0}", jobConfiguration.Input.Licenses); if (jobConfiguration.Input.Licenses == false) diff --git a/ProcessingSteps/Index/IndexMOBILEConfiguration.cs b/ProcessingSteps/Index/IndexMOBILEConfiguration.cs index daab82e..a7ae49c 100644 --- a/ProcessingSteps/Index/IndexMOBILEConfiguration.cs +++ b/ProcessingSteps/Index/IndexMOBILEConfiguration.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -304,8 +304,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexMOBILEEntities.cs b/ProcessingSteps/Index/IndexMOBILEEntities.cs index 2004ed7..be48f8a 100644 --- a/ProcessingSteps/Index/IndexMOBILEEntities.cs +++ b/ProcessingSteps/Index/IndexMOBILEEntities.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -477,8 +477,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexSIMEntities.cs b/ProcessingSteps/Index/IndexSIMEntities.cs index ea1ee6a..da45fe4 100644 --- a/ProcessingSteps/Index/IndexSIMEntities.cs +++ b/ProcessingSteps/Index/IndexSIMEntities.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -277,8 +277,8 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } catch { } - machine.APMTierName = agentRegistrationRequestConfigToken["tierName"].ToString(); - machine.APMNodeName = agentRegistrationRequestConfigToken["nodeName"].ToString(); + machine.APMTierName = getStringValueFromJToken(agentRegistrationRequestConfigToken, "tierName"); + machine.APMNodeName = getStringValueFromJToken(agentRegistrationRequestConfigToken, "nodeName"); } @@ -708,8 +708,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/Index/IndexWEBConfiguration.cs b/ProcessingSteps/Index/IndexWEBConfiguration.cs index a35395a..7d99d82 100644 --- a/ProcessingSteps/Index/IndexWEBConfiguration.cs +++ b/ProcessingSteps/Index/IndexWEBConfiguration.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -547,8 +547,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); if (jobConfiguration.Input.Configuration == false) diff --git a/ProcessingSteps/Index/IndexWEBEntities.cs b/ProcessingSteps/Index/IndexWEBEntities.cs index f24eb1d..aba3e9c 100644 --- a/ProcessingSteps/Index/IndexWEBEntities.cs +++ b/ProcessingSteps/Index/IndexWEBEntities.cs @@ -31,7 +31,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -787,8 +787,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); if (jobConfiguration.Input.DetectedEntities == false) diff --git a/ProcessingSteps/JobStepBase.cs b/ProcessingSteps/JobStepBase.cs index bd455fe..c15067e 100644 --- a/ProcessingSteps/JobStepBase.cs +++ b/ProcessingSteps/JobStepBase.cs @@ -334,7 +334,7 @@ public virtual bool Execute(ProgramOptions programOptions, JobConfiguration jobC return false; } - public virtual bool ShouldExecute(JobConfiguration jobConfiguration) + public virtual bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { return false; } @@ -675,7 +675,6 @@ internal static string getShortenedEntityNameForWordBookmark(string entityType, } } - return String.Format("{0}.{1}.{2}", entityType, entityName, entityID); } diff --git a/ProcessingSteps/JobStepRouter.cs b/ProcessingSteps/JobStepRouter.cs index dd145c9..78c8c57 100644 --- a/ProcessingSteps/JobStepRouter.cs +++ b/ProcessingSteps/JobStepRouter.cs @@ -131,7 +131,17 @@ public static void ExecuteJobThroughSteps(ProgramOptions programOptions) loggerConsole.Info("Starting job from status {0}({0:d})", jobConfiguration.Status); logger.Info("Starting job from status {0}({0:d})", jobConfiguration.Status); - logger.Info("Job input: TimeRange.From='{0:o}', TimeRange.To='{1:o}', Time ranges='{2}', Flowmaps='{3}', Metrics='{4}', Snapshots='{5}', Configuration='{6}', Events='{7}'", jobConfiguration.Input.TimeRange.From, jobConfiguration.Input.TimeRange.To, jobConfiguration.Input.HourlyTimeRanges.Count, jobConfiguration.Input.Flowmaps, jobConfiguration.Input.Metrics, jobConfiguration.Input.Snapshots, jobConfiguration.Input.Configuration, jobConfiguration.Input.Events); + logger.Info("Job input: TimeRange.From='{0:o}', TimeRange.To='{1:o}', Time ranges='{2}'", jobConfiguration.Input.TimeRange.From, jobConfiguration.Input.TimeRange.To); + logger.Info("DetectedEntities='{0}'", jobConfiguration.Input.DetectedEntities); + logger.Info("Flowmaps='{0}'", jobConfiguration.Input.Flowmaps); + logger.Info("Metrics='{0}'", jobConfiguration.Input.Metrics); + logger.Info("Snapshots='{0}'", jobConfiguration.Input.Snapshots); + logger.Info("Events='{0}'", jobConfiguration.Input.Events); + logger.Info("Licenses='{0}''", jobConfiguration.Input.Licenses); + logger.Info("Configuration='{0}'", jobConfiguration.Input.Configuration); + logger.Info("UsersGroupsRolesPermissions='{0}'", jobConfiguration.Input.UsersGroupsRolesPermissions); + logger.Info("EntityDashboards='{0}'", jobConfiguration.Input.EntityDashboards); + if (jobConfiguration.Input.MetricsSelectionCriteria != null) { logger.Info("Job input: MetricsSelectionCriteria='{0}'", String.Join(",", jobConfiguration.Input.MetricsSelectionCriteria)); diff --git a/ProcessingSteps/Report/ReportAPMApplicationSummary.cs b/ProcessingSteps/Report/ReportAPMApplicationSummary.cs index 94ed15d..3dee348 100644 --- a/ProcessingSteps/Report/ReportAPMApplicationSummary.cs +++ b/ProcessingSteps/Report/ReportAPMApplicationSummary.cs @@ -41,7 +41,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1617,13 +1617,21 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.ApplicationSummary={0}", programOptions.LicensedReports.ApplicationSummary); + loggerConsole.Trace("LicensedReports.ApplicationSummary={0}", programOptions.LicensedReports.ApplicationSummary); + if (programOptions.LicensedReports.ApplicationSummary == false) + { + loggerConsole.Warn("Not licensed for application summary"); + return false; + } + logger.Trace("Output.ApplicationSummary={0}", jobConfiguration.Output.ApplicationSummary); loggerConsole.Trace("Output.ApplicationSummary={0}", jobConfiguration.Output.ApplicationSummary); if (jobConfiguration.Output.ApplicationSummary == false) { - loggerConsole.Trace("Skipping report of Application summary"); + loggerConsole.Trace("Skipping report of application summary"); } return (jobConfiguration.Output.ApplicationSummary == true); } diff --git a/ProcessingSteps/Report/ReportAPMEntities.cs b/ProcessingSteps/Report/ReportAPMEntities.cs index 24cf01c..eb6d6ab 100644 --- a/ProcessingSteps/Report/ReportAPMEntities.cs +++ b/ProcessingSteps/Report/ReportAPMEntities.cs @@ -130,7 +130,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1458,8 +1458,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs b/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs index 5e56ecb..0848cee 100644 --- a/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs +++ b/ProcessingSteps/Report/ReportAPMEntityDashboardScreenshots.cs @@ -34,7 +34,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -874,8 +874,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityDashboards={0}", programOptions.LicensedReports.EntityDashboards); + loggerConsole.Trace("LicensedReports.EntityDashboards={0}", programOptions.LicensedReports.EntityDashboards); + if (programOptions.LicensedReports.EntityDashboards == false) + { + loggerConsole.Warn("Not licensed for entity dashboard/flowmap screenshots"); + return false; + } + logger.Trace("Input.EntityDashboards={0}", jobConfiguration.Input.EntityDashboards); loggerConsole.Trace("Input.EntityDashboards={0}", jobConfiguration.Input.EntityDashboards); logger.Trace("Output.EntityDashboards={0}", jobConfiguration.Output.EntityDashboards); diff --git a/ProcessingSteps/Report/ReportAPMEntityDetails.cs b/ProcessingSteps/Report/ReportAPMEntityDetails.cs index 45380cc..2d83f6b 100644 --- a/ProcessingSteps/Report/ReportAPMEntityDetails.cs +++ b/ProcessingSteps/Report/ReportAPMEntityDetails.cs @@ -102,7 +102,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -574,8 +574,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityDetails={0}", programOptions.LicensedReports.EntityDetails); + loggerConsole.Trace("LicensedReports.EntityDetails={0}", programOptions.LicensedReports.EntityDetails); + if (programOptions.LicensedReports.EntityDetails == false) + { + loggerConsole.Warn("Not licensed for per-entity details"); + return false; + } + logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); diff --git a/ProcessingSteps/Report/ReportAPMFlameGraphs.cs b/ProcessingSteps/Report/ReportAPMFlameGraphs.cs index 6460967..c6e73e6 100644 --- a/ProcessingSteps/Report/ReportAPMFlameGraphs.cs +++ b/ProcessingSteps/Report/ReportAPMFlameGraphs.cs @@ -34,7 +34,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -297,8 +297,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.FlameGraphs={0}", programOptions.LicensedReports.FlameGraphs); + loggerConsole.Trace("LicensedReports.FlameGraphs={0}", programOptions.LicensedReports.FlameGraphs); + if (programOptions.LicensedReports.FlameGraphs == false) + { + loggerConsole.Warn("Not licensed for flame graphs"); + return false; + } + logger.Trace("Input.Snapshots={0}", jobConfiguration.Input.Snapshots); loggerConsole.Trace("Input.Snapshots={0}", jobConfiguration.Input.Snapshots); logger.Trace("Output.FlameGraphs={0}", jobConfiguration.Output.FlameGraphs); diff --git a/ProcessingSteps/Report/ReportAPMMetricGraphs.cs b/ProcessingSteps/Report/ReportAPMMetricGraphs.cs index 7a49196..e4c84a3 100644 --- a/ProcessingSteps/Report/ReportAPMMetricGraphs.cs +++ b/ProcessingSteps/Report/ReportAPMMetricGraphs.cs @@ -104,7 +104,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job try { - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -383,8 +383,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity metrics"); + return false; + } + logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); logger.Trace("Output.EntityMetricGraphs={0}", jobConfiguration.Output.EntityMetricGraphs); diff --git a/ProcessingSteps/Report/ReportAPMMetrics.cs b/ProcessingSteps/Report/ReportAPMMetrics.cs index 3a03193..30d260e 100644 --- a/ProcessingSteps/Report/ReportAPMMetrics.cs +++ b/ProcessingSteps/Report/ReportAPMMetrics.cs @@ -128,7 +128,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1397,8 +1397,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + loggerConsole.Trace("LicensedReports.EntityMetrics={0}", programOptions.LicensedReports.EntityMetrics); + if (programOptions.LicensedReports.EntityMetrics == false) + { + loggerConsole.Warn("Not licensed for entity metrics"); + return false; + } + logger.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); loggerConsole.Trace("Input.Metrics={0}", jobConfiguration.Input.Metrics); logger.Trace("Input.Flowmaps={0}", jobConfiguration.Input.Flowmaps); diff --git a/ProcessingSteps/Report/ReportAPMSnapshots.cs b/ProcessingSteps/Report/ReportAPMSnapshots.cs index 5fd0123..c2aa29a 100644 --- a/ProcessingSteps/Report/ReportAPMSnapshots.cs +++ b/ProcessingSteps/Report/ReportAPMSnapshots.cs @@ -107,7 +107,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1239,8 +1239,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + 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.Snapshots={0}", jobConfiguration.Output.Snapshots); diff --git a/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs b/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs index 343329c..42cf479 100644 --- a/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs +++ b/ProcessingSteps/Report/ReportAPMSnapshotsMethodCallLines.cs @@ -61,7 +61,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -449,8 +449,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + 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.Snapshots={0}", jobConfiguration.Output.Snapshots); diff --git a/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs b/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs index 958d90b..7e76abc 100644 --- a/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs +++ b/ProcessingSteps/Report/ReportApplicationEventsAndHealthRuleViolations.cs @@ -81,7 +81,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -714,8 +714,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + loggerConsole.Trace("LicensedReports.Events={0}", programOptions.LicensedReports.Events); + if (programOptions.LicensedReports.Events == false) + { + loggerConsole.Warn("Not licensed for events"); + return false; + } + logger.Trace("Input.Events={0}", jobConfiguration.Input.Events); loggerConsole.Trace("Input.Events={0}", jobConfiguration.Input.Events); logger.Trace("Output.Events={0}", jobConfiguration.Output.Events); diff --git a/ProcessingSteps/Report/ReportBIQEntities.cs b/ProcessingSteps/Report/ReportBIQEntities.cs index 11923f5..29cf2a6 100644 --- a/ProcessingSteps/Report/ReportBIQEntities.cs +++ b/ProcessingSteps/Report/ReportBIQEntities.cs @@ -82,7 +82,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -836,8 +836,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs b/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs index ca22748..229c384 100644 --- a/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs +++ b/ProcessingSteps/Report/ReportControllerAndApplicationConfiguration.cs @@ -217,7 +217,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -2504,8 +2504,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + loggerConsole.Trace("LicensedReports.Configuration={0}", programOptions.LicensedReports.Configuration); + if (programOptions.LicensedReports.Configuration == false) + { + loggerConsole.Warn("Not licensed for configuration"); + return false; + } + logger.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); loggerConsole.Trace("Input.Configuration={0}", jobConfiguration.Input.Configuration); logger.Trace("Output.Configuration={0}", jobConfiguration.Output.Configuration); diff --git a/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs b/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs index 2251bda..c7f29b3 100644 --- a/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs +++ b/ProcessingSteps/Report/ReportControllerUsersGroupsRolesAndPermissions.cs @@ -75,7 +75,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -659,8 +659,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + loggerConsole.Trace("LicensedReports.UsersGroupsRolesPermissions={0}", programOptions.LicensedReports.UsersGroupsRolesPermissions); + if (programOptions.LicensedReports.UsersGroupsRolesPermissions == false) + { + loggerConsole.Warn("Not licensed for users, groups, roles and permissions"); + return false; + } + logger.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); loggerConsole.Trace("Input.UsersGroupsRolesPermissions={0}", jobConfiguration.Input.UsersGroupsRolesPermissions); logger.Trace("Output.UsersGroupsRolesPermissions={0}", jobConfiguration.Output.UsersGroupsRolesPermissions); diff --git a/ProcessingSteps/Report/ReportDBEntities.cs b/ProcessingSteps/Report/ReportDBEntities.cs index ed676a3..a4eaf33 100644 --- a/ProcessingSteps/Report/ReportDBEntities.cs +++ b/ProcessingSteps/Report/ReportDBEntities.cs @@ -101,7 +101,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -1330,8 +1330,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/ProcessingSteps/Report/ReportDashboards.cs b/ProcessingSteps/Report/ReportDashboards.cs index 8794043..afa9904 100644 --- a/ProcessingSteps/Report/ReportDashboards.cs +++ b/ProcessingSteps/Report/ReportDashboards.cs @@ -65,7 +65,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -530,8 +530,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + loggerConsole.Trace("LicensedReports.Dashboards={0}", programOptions.LicensedReports.Dashboards); + if (programOptions.LicensedReports.Dashboards == false) + { + loggerConsole.Warn("Not licensed for dashboards"); + return false; + } + logger.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); loggerConsole.Trace("Input.Dashboards={0}", jobConfiguration.Input.Dashboards); logger.Trace("Output.Dashboards={0}", jobConfiguration.Output.Dashboards); diff --git a/ProcessingSteps/Report/ReportHealthCheck.cs b/ProcessingSteps/Report/ReportHealthCheck.cs index c524be0..7ed2c5f 100644 --- a/ProcessingSteps/Report/ReportHealthCheck.cs +++ b/ProcessingSteps/Report/ReportHealthCheck.cs @@ -59,7 +59,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -677,8 +677,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + loggerConsole.Trace("LicensedReports.HealthCheck={0}", programOptions.LicensedReports.HealthCheck); + if (programOptions.LicensedReports.HealthCheck == false) + { + loggerConsole.Warn("Not licensed for health check"); + return false; + } + logger.Trace("Output.HealthCheck={0}", jobConfiguration.Output.HealthCheck); loggerConsole.Trace("Output.HealthCheck={0}", jobConfiguration.Output.HealthCheck); if (jobConfiguration.Output.HealthCheck == false) diff --git a/ProcessingSteps/Report/ReportLicenses.cs b/ProcessingSteps/Report/ReportLicenses.cs index 2ddaae9..552d9c3 100644 --- a/ProcessingSteps/Report/ReportLicenses.cs +++ b/ProcessingSteps/Report/ReportLicenses.cs @@ -74,7 +74,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -666,8 +666,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + loggerConsole.Trace("LicensedReports.Licenses={0}", programOptions.LicensedReports.Licenses); + if (programOptions.LicensedReports.Licenses == false) + { + loggerConsole.Warn("Not licensed for licenses"); + return false; + } + logger.Trace("Output.Licenses={0}", jobConfiguration.Output.Licenses); loggerConsole.Trace("Output.Licenses={0}", jobConfiguration.Output.Licenses); if (jobConfiguration.Output.Licenses == false) diff --git a/ProcessingSteps/Report/ReportMOBILEEntities.cs b/ProcessingSteps/Report/ReportMOBILEEntities.cs index cdf069c..cc95187 100644 --- a/ProcessingSteps/Report/ReportMOBILEEntities.cs +++ b/ProcessingSteps/Report/ReportMOBILEEntities.cs @@ -60,7 +60,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -465,8 +465,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/ProcessingSteps/Report/ReportSIMEntities.cs b/ProcessingSteps/Report/ReportSIMEntities.cs index e8f4fcb..e826da9 100644 --- a/ProcessingSteps/Report/ReportSIMEntities.cs +++ b/ProcessingSteps/Report/ReportSIMEntities.cs @@ -86,7 +86,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -934,8 +934,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/ProcessingSteps/Report/ReportWEBEntities.cs b/ProcessingSteps/Report/ReportWEBEntities.cs index 234a039..c93f920 100644 --- a/ProcessingSteps/Report/ReportWEBEntities.cs +++ b/ProcessingSteps/Report/ReportWEBEntities.cs @@ -70,7 +70,7 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job FilePathMap = new FilePathMap(programOptions, jobConfiguration); - if (this.ShouldExecute(jobConfiguration) == false) + if (this.ShouldExecute(programOptions, jobConfiguration) == false) { return true; } @@ -653,8 +653,16 @@ public override bool Execute(ProgramOptions programOptions, JobConfiguration job } } - public override bool ShouldExecute(JobConfiguration jobConfiguration) + public override bool ShouldExecute(ProgramOptions programOptions, JobConfiguration jobConfiguration) { + logger.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + loggerConsole.Trace("LicensedReports.DetectedEntities={0}", programOptions.LicensedReports.DetectedEntities); + if (programOptions.LicensedReports.DetectedEntities == false) + { + loggerConsole.Warn("Not licensed for detected entities"); + return false; + } + logger.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); loggerConsole.Trace("Input.DetectedEntities={0}", jobConfiguration.Input.DetectedEntities); logger.Trace("Output.DetectedEntities={0}", jobConfiguration.Output.DetectedEntities); diff --git a/Program.cs b/Program.cs index 941e52e..eb744d5 100644 --- a/Program.cs +++ b/Program.cs @@ -1,5 +1,6 @@ using AppDynamics.Dexter.ProcessingSteps; using CommandLine; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NLog; using System; @@ -10,6 +11,9 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; +using System.Text; using System.Text.RegularExpressions; using System.Threading; @@ -1027,6 +1031,98 @@ public static void RunProgramETL(ProgramOptions programOptions) return; } } + else + { + logger.Info("Resuming run from the job file {0}", programOptions.OutputJobFilePath); + loggerConsole.Info("Resuming run from the job file {0}", programOptions.OutputJobFilePath); + } + + #endregion + + #region Load and validate license + + string programLicensePath = Path.Combine( + programOptions.ProgramLocationFolderPath, + "LicensedFeatures.json"); + + JObject licenseFile = FileIOHelper.LoadJObjectFromFile(programLicensePath); + JObject licensedFeatures = (JObject)licenseFile["LicensedFeatures"]; + + string dataSigned = licensedFeatures.ToString(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\n{0}\nwith signature {1}\nfrom {2} containing \n{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); + } + } + else + { + logger.Warn("License validation signature check failed"); + loggerConsole.Warn("License validation signature check failed"); + } + + programOptions.LicensedReports = licensedReports; #endregion @@ -1042,7 +1138,7 @@ public static void RunProgramCompare(ProgramOptions programOptions) logger.Trace("Executing:\r\n{0}", programOptions); loggerConsole.Trace("Executing:\r\n{0}", programOptions); - loggerConsole.Warn("RunProgramCompare"); + loggerConsole.Warn("RunProgramCompare is not implemented yet"); } public static string ReadPassword(char mask) diff --git a/Properties/PublishProfiles/portable.pubxml b/Properties/PublishProfiles/linux-x64-framework-dependent.pubxml similarity index 64% rename from Properties/PublishProfiles/portable.pubxml rename to Properties/PublishProfiles/linux-x64-framework-dependent.pubxml index a9ad541..b5732ff 100644 --- a/Properties/PublishProfiles/portable.pubxml +++ b/Properties/PublishProfiles/linux-x64-framework-dependent.pubxml @@ -6,11 +6,13 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem Debug - netcoreapp3.0 - bin\Publish\core + netcoreapp3.1 + bin\Publish\core-linux-portable Any CPU false - <_IsPortable>true + <_IsPortable>false linux-x64 + False + False \ No newline at end of file diff --git a/Properties/PublishProfiles/linux-x64.pubxml b/Properties/PublishProfiles/linux-x64-self-contained.pubxml similarity index 73% rename from Properties/PublishProfiles/linux-x64.pubxml rename to Properties/PublishProfiles/linux-x64-self-contained.pubxml index a7b0298..4eaacc7 100644 --- a/Properties/PublishProfiles/linux-x64.pubxml +++ b/Properties/PublishProfiles/linux-x64-self-contained.pubxml @@ -6,11 +6,14 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem Debug - netcoreapp3.0 + netcoreapp3.1 bin\Publish\core-linux Any CPU true <_IsPortable>false linux-x64 + False + False + False \ No newline at end of file diff --git a/Properties/PublishProfiles/osx-x64-framework-dependent.pubxml b/Properties/PublishProfiles/osx-x64-framework-dependent.pubxml new file mode 100644 index 0000000..b2d90d9 --- /dev/null +++ b/Properties/PublishProfiles/osx-x64-framework-dependent.pubxml @@ -0,0 +1,17 @@ + + + + + FileSystem + Debug + Any CPU + netcoreapp3.1 + bin\Publish\core-osx-portable + osx-x64 + false + False + False + + \ No newline at end of file diff --git a/Properties/PublishProfiles/osx-x64.pubxml b/Properties/PublishProfiles/osx-x64-self-contained.pubxml similarity index 73% rename from Properties/PublishProfiles/osx-x64.pubxml rename to Properties/PublishProfiles/osx-x64-self-contained.pubxml index f2f98d4..95e8d47 100644 --- a/Properties/PublishProfiles/osx-x64.pubxml +++ b/Properties/PublishProfiles/osx-x64-self-contained.pubxml @@ -6,11 +6,14 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem Debug - netcoreapp3.0 + netcoreapp3.1 bin\Publish\core-osx Any CPU true <_IsPortable>false osx-x64 + False + False + False \ No newline at end of file diff --git a/Properties/PublishProfiles/win-x64-framework-dependent.pubxml b/Properties/PublishProfiles/win-x64-framework-dependent.pubxml new file mode 100644 index 0000000..c5c8c65 --- /dev/null +++ b/Properties/PublishProfiles/win-x64-framework-dependent.pubxml @@ -0,0 +1,18 @@ + + + + + FileSystem + Debug + netcoreapp3.1 + bin\Publish\core-win-portable + Any CPU + false + <_IsPortable>false + win-x64 + False + False + + \ No newline at end of file diff --git a/Properties/PublishProfiles/net472.pubxml b/Properties/PublishProfiles/win-x64-net472.pubxml similarity index 100% rename from Properties/PublishProfiles/net472.pubxml rename to Properties/PublishProfiles/win-x64-net472.pubxml diff --git a/Properties/PublishProfiles/win-x64.pubxml b/Properties/PublishProfiles/win-x64-self-contained.pubxml similarity index 73% rename from Properties/PublishProfiles/win-x64.pubxml rename to Properties/PublishProfiles/win-x64-self-contained.pubxml index 73b959f..29cec03 100644 --- a/Properties/PublishProfiles/win-x64.pubxml +++ b/Properties/PublishProfiles/win-x64-self-contained.pubxml @@ -6,11 +6,14 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem Debug - netcoreapp3.0 + netcoreapp3.1 bin\Publish\core-win Any CPU true <_IsPortable>false win-x64 + False + False + False \ No newline at end of file