public MetricsUploaderConfiguration(LogSharkConfiguration logSharkConfiguration) : this( logSharkConfiguration.TelemetryApplication, logSharkConfiguration.TelemetryEndpoint, logSharkConfiguration.TelemetryEnvironment, logSharkConfiguration.TelemetryTimeout) { }
public EndToEndTest(LogSharkCommandLineParameters clParameters, string expectedResultsLocation, IDictionary <string, int> expectedProcessingErrorsCount = null, IDictionary <string, string> configOverrides = null) { var configValues = new Dictionary <string, string>() { ["EnvironmentConfig:TempDir"] = "Temp", ["EnvironmentConfig:OutputDir"] = "Output", ["EnvironmentConfig:OutputDirMaxResults"] = "1", ["EnvironmentConfig:WorkbookTemplatesDir"] = "Workbooks", ["PluginsConfiguration:Apache:IncludeGatewayChecks"] = "true", ["PluginsConfiguration:VizqlDesktop:MaxQueryLength"] = "10000", ["PluginsConfiguration:DefaultPluginSet:PluginsToExcludeFromDefaultSet"] = "Replayer" }; if (configOverrides != null) { configValues = configOverrides.Concat(configValues.Where(entry => !configOverrides.Keys.Contains(entry.Key))) .ToDictionary(x => x.Key, x => x.Value); } var configuration = ConfigGenerator.GetConfigFromDictionary(configValues); _config = new LogSharkConfiguration(clParameters, configuration, _loggerFactory); _expectedProcessingErrorsCount = expectedProcessingErrorsCount ?? new Dictionary <string, int>(); _expectedResultsLocation = expectedResultsLocation; }
public HyperWorkbookGenerator(LogSharkConfiguration config, ILogger logger, string hyperOutputDir, string workbooksOutputDir) { _config = config; _logger = logger; _hyperOutputDir = hyperOutputDir; _workbooksOutputDir = workbooksOutputDir; }
private static (TestWriterFactory, PluginManager) InitPluginsWithTestWriter( string selectedPlugins, string defaultSet = null, string excludedPlugins = null, bool?usePluginsFromLogSharkAssembly = null) { var testWriterFactory = new TestWriterFactory(); var configDictionary = new Dictionary <string, string>() { { "PluginsConfiguration:ApachePlugin:IncludeGatewayChecks", "true" }, { "PluginsConfiguration:DefaultPluginSet:PluginsToRunByDefault", defaultSet }, { "PluginsConfiguration:DefaultPluginSet:PluginsToExcludeFromDefaultSet", excludedPlugins } }; if (usePluginsFromLogSharkAssembly.HasValue) { configDictionary["EnvironmentConfig:UsePluginsFromLogSharkAssembly"] = usePluginsFromLogSharkAssembly.Value.ToString(); } var config = new LogSharkConfiguration( new LogSharkCommandLineParameters() { RequestedPlugins = selectedPlugins }, ConfigGenerator.GetConfigFromDictionary(configDictionary), null); var pluginManager = new PluginManager(config, new NullLoggerFactory()); pluginManager.CreatePlugins(testWriterFactory, null); return(testWriterFactory, pluginManager); }
public async Task ReportStartMetrics(LogSharkConfiguration config) { if (!IsUploadEnabled()) { return; } var startMetrics = new StartMetrics { Context = new StartMetrics.ContextModel { RequestedPlugins = config.RequestedPlugins, RequestedWriter = config.RequestedWriter, UserProvidedRunId = config.UserProvidedRunId, }, System = new StartMetrics.SystemModel { DebuggerIsAttached = Debugger.IsAttached, DomainName = _userInspector.GetDomainName(), LogSharkVersion = _processInspector.GetLogSharkVersion(), MachineName = _userInspector.GetMachineName(), OSArchitecture = _hardwareInspector.GetOSArchitecture(), OSDescription = _hardwareInspector.GetOSDescription(), OSVersion = _hardwareInspector.GetOSVersion(), ProcessorCount = _hardwareInspector.GetProcessorCount(), TelemetryLevel = _config.TelemetryLevel, Username = _userInspector.GetUsername(), } }; await _config.MetricUploader.Upload(startMetrics, "logshark.start"); }
public WorkbookPublisher(LogSharkConfiguration config, PublisherSettings publisherSettings, DataSourceCredentials creds, ILoggerFactory loggerFactory) { _config = config; _publisherSettings = publisherSettings; _dbCreds = creds; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <WorkbookPublisher>(); }
public MetricTest() { _testUploader = new MetricTestUploader(); _configurationLevelFull = new MetricsConfig(_testUploader, TelemetryLevel.Full); _configurationLevelBasic = new MetricsConfig(_testUploader, TelemetryLevel.Basic); _configurationLevelNone = new MetricsConfig(_testUploader, TelemetryLevel.None); _configDefault = new LogSharkConfiguration(new LogSharkCommandLineParameters(), new ConfigurationBuilder().Build(), null); _runSummaryDefault = RunSummary.FailedRunSummary(null, null); }
public CsvWriterFactory(string runId, LogSharkConfiguration config, ILoggerFactory loggerFactory) { _config = config; (_outputDirectory, _) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "csv", loggerFactory, _config.ThrowIfOutputDirectoryExists); _appending = !string.IsNullOrWhiteSpace(_config.AppendTo); _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <CsvWriterFactory>(); }
public PluginManager(LogSharkConfiguration config, ILoggerFactory loggerFactory) { _config = config; _pluginFactory = new PluginFactory(_config); _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <PluginManager>(); _plugins = new List <IPlugin>(); _completeProcessingCalled = false; _runAborted = false; }
public TableauLogsProcessor( LogSharkConfiguration config, IPluginManager pluginManager, IWriterFactory writerFactory, ILogTypeDetails logTypeDetails, IProcessingNotificationsCollector processingNotificationsCollector, ILoggerFactory loggerFactory) { _config = config; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <TableauLogsProcessor>(); _logTypeDetails = logTypeDetails; _pluginManager = pluginManager; _processingNotificationsCollector = processingNotificationsCollector; _writerFactory = writerFactory; }
public static PublisherSettings GetPublisherSettings(this LogSharkConfiguration logSharkConfiguration) { var tableauServerInfo = new TableauServerInfo( logSharkConfiguration.TableauServerUrl, logSharkConfiguration.TableauServerSite, logSharkConfiguration.TableauServerUsername, logSharkConfiguration.TableauServerPassword, logSharkConfiguration.TableauServerTimeout, logSharkConfiguration.TableauServerPublishingTimeout); return(new PublisherSettings( tableauServerInfo, logSharkConfiguration.GroupsToProvideWithDefaultPermissions, logSharkConfiguration.ApplyPluginProvidedTagsToWorkbooks, logSharkConfiguration.ParentProjectId, logSharkConfiguration.ParentProjectName)); }
public HyperWriterFactory( string runId, LogSharkConfiguration config, ILoggerFactory loggerFactory) { _config = config; Directory.CreateDirectory(_config.HyperLogDir); Directory.CreateDirectory(_config.TempDir); _server = new HyperProcess(Telemetry.DoNotSendUsageDataToTableau, null, new Dictionary <string, string> { { "log-dir", _config.HyperLogDir }, { ":hyper_temp_directory_override", _config.TempDir }, }); (_outputDirectory, _workbooksDirectory) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "hyper", loggerFactory, _config.ThrowIfOutputDirectoryExists); _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <HyperWriterFactory>(); }
public SqlWorkbookGenerator( string runId, LogSharkConfiguration config, string dbName, string dbHost, string dbPort, string dbUsername, ILoggerFactory loggerFactory) { _config = config; _logger = loggerFactory.CreateLogger <SqlWorkbookGenerator>(); (_, _workbooksOutputDir) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "postgres", loggerFactory, _config.ThrowIfOutputDirectoryExists); _dbName = dbName; _dbHost = dbHost; _dbPort = dbPort; _dbUsername = dbUsername; }
public PostgresWriterFactory( string runId, LogSharkConfiguration config, ILoggerFactory loggerFactory, TRunSummary runSummaryRecord, string runSummaryIdColumnName) { _runId = runId; _config = config; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <PostgresWriterFactory <TRunSummary> >(); _runSummaryRecord = runSummaryRecord; _runSummaryIdColumnName = runSummaryIdColumnName; var connectionStringBuilder = GetConnectionStringBuilder(); _repository = new NpgsqlRepository(new NpgsqlDataContext(connectionStringBuilder, _config.PostgresServiceDatabaseName, loggerFactory), _config.PostgresBatchSize); _repository.RegisterType <TRunSummary>(null); }
public WorkbookPublisher(LogSharkConfiguration config, PublisherSettings publisherSettings, ILoggerFactory loggerFactory) : this(config, publisherSettings, null, loggerFactory) { }
public MetricsConfig(IMetricUploader metricUploader, LogSharkConfiguration config) : this(metricUploader, config.TelemetryLevel) { }