public ExporterViewModel(ICremaAppHost cremaAppHost, IAppConfiguration configs) { this.cremaAppHost = cremaAppHost; this.configs = configs; this.settings = new ExporterSettings(); this.settings.PropertyChanged += Settings_PropertyChanged; this.configs.Update(this.settings); }
public static Task <bool> RunAsync(ProcessInfo process) { var settings = new ExporterSettings(process.Configuration); var url = settings.AgentUri.ToString(); AnsiConsole.WriteLine(DetectedAgentUrlFormat(url)); return(RunAsync(new ImmutableExporterSettings(settings))); }
public void UseJsonConfigFromAppConfig() { var process = new ProcessInfo( "CallDatadogConfigJson.exe", 1, new Dictionary <string, string>(), mainModule: Path.Combine(Environment.CurrentDirectory, "CallDatadogConfigJson.exe"), GetModulesForNetFramework()); var settings = new ExporterSettings(process.Configuration); settings.AgentUri.Should().Be("http://datadogConfig.json/"); }
private ExporterSettings Setup(Func <string, bool> fileExistsMock, params string[] config) { var configNameValues = new NameValueCollection(); foreach (var item in config) { var parts = item.Split(':'); configNameValues.Add(parts[0], parts[1]); } var configSource = new NameValueConfigurationSource(configNameValues); var exporterSettings = new ExporterSettings(configSource, fileExistsMock); return(exporterSettings); }
public void UseEnvironment() { var process = new ProcessInfo( "CallDatadogConfigJson.exe", 1, new Dictionary <string, string>() { { "DD_TRACE_AGENT_URL", "http://environment/" } }, mainModule: Path.Combine(Environment.CurrentDirectory, "noAppConfig.exe"), GetModulesForNetFramework()); var settings = new ExporterSettings(process.Configuration); settings.AgentUri.Should().Be("http://environment/"); }
public void AllPropertyValuesMatch() { var equalityCheckers = new List <Func <ExporterSettings, ImmutableExporterSettings, bool> >() { (e, i) => e.MetricsPipeName == i.MetricsPipeName, (e, i) => e.TracesPipeName == i.TracesPipeName, (e, i) => e.DogStatsdPort == i.DogStatsdPort, (e, i) => e.MetricsTransport == i.MetricsTransport, (e, i) => e.TracesTransport == i.TracesTransport, (e, i) => e.TracesPipeTimeoutMs == i.TracesPipeTimeoutMs, (e, i) => e.AgentUri == i.AgentUri, (e, i) => e.PartialFlushEnabled == i.PartialFlushEnabled, (e, i) => e.PartialFlushMinSpans == i.PartialFlushMinSpans, (e, i) => e.MetricsUnixDomainSocketPath == i.MetricsUnixDomainSocketPath, (e, i) => e.TracesUnixDomainSocketPath == i.TracesUnixDomainSocketPath, }; var mutableProperties = typeof(ExporterSettings) .GetProperties(Flags); // Ensure that all properties are represented Assert.Equal(mutableProperties.Count(), equalityCheckers.Count); var exporterSettings = new ExporterSettings(); exporterSettings.MetricsUnixDomainSocketPath = "metricsuds"; exporterSettings.TracesUnixDomainSocketPath = "tracesuds"; exporterSettings.MetricsPipeName = "metricspipe"; exporterSettings.TracesPipeName = "tracespipe"; exporterSettings.DogStatsdPort = 1234; exporterSettings.MetricsTransport = Vendors.StatsdClient.Transport.TransportType.NamedPipe; exporterSettings.TracesTransport = TracesTransportType.WindowsNamedPipe; exporterSettings.TracesPipeTimeoutMs = 5556; exporterSettings.AgentUri = new Uri("http://localhost:8282"); var immutableSettings = new ImmutableExporterSettings(exporterSettings); foreach (var equalityCheck in equalityCheckers) { Assert.True(equalityCheck(exporterSettings, immutableSettings)); } }
public override async Task <int> ExecuteAsync(CommandContext context, CheckAgentSettings settings) { ExporterSettings configuration; if (settings.Url == null) { // Try to autodetect the agent settings configuration = new ExporterSettings(new EnvironmentConfigurationSource()); AnsiConsole.WriteLine("No Agent URL provided, using environment variables"); } else { configuration = new ExporterSettings { AgentUri = new Uri(settings.Url) }; // TODO: Remove when the logic has been moved to the ImmutableExporterSettings constructor if (settings.Url.StartsWith("unix://")) { configuration.TracesTransport = TracesTransportType.UnixDomainSocket; configuration.TracesUnixDomainSocketPath = configuration.AgentUri.PathAndQuery; } } var result = await AgentConnectivityCheck.RunAsync(new ImmutableExporterSettings(configuration)).ConfigureAwait(false); if (!result) { return(1); } Utils.WriteSuccess("Connected successfully to the Agent."); return(0); }