private DiagnosticsOptions CreateDiagnosticsOptions() { var opts = new DiagnosticsOptions(this); opts.Load(); return(opts); }
public void NestedClientActivitiesConfigurationClientOptions(bool?suppressNestedScopes) { using var testListener = new TestDiagnosticListener("Azure.Clients"); DiagnosticsOptions testOptions = new DiagnosticsOptions(); ClientDiagnostics clientDiagnostics = new ClientDiagnostics("Azure.Clients", "Microsoft.Azure.Core.Cool.Tests", testOptions, suppressNestedScopes); using DiagnosticScope scope = clientDiagnostics.CreateScope("ClientName.ActivityName"); scope.Start(); DiagnosticScope nestedScope = clientDiagnostics.CreateScope("ClientName.NestedActivityName"); nestedScope.Start(); if (suppressNestedScopes.GetValueOrDefault(false)) { Assert.IsFalse(nestedScope.IsEnabled); Assert.AreEqual("ClientName.ActivityName", Activity.Current.OperationName); } else { Assert.IsTrue(nestedScope.IsEnabled); Assert.AreEqual("ClientName.NestedActivityName", Activity.Current.OperationName); } nestedScope.Dispose(); Assert.AreEqual("ClientName.ActivityName", Activity.Current.OperationName); }
public void NestedClientActivitiesConfigurationClientOptions(bool?suppressNestedScopes) { // TODO: ClientDiagnostics need new Azure.Core to ship before using // DiagnosticsOptions.AreNestedClientSpansEnabled flag so we can't check it yet. using var testListener = new TestDiagnosticListener("Azure.Clients"); DiagnosticsOptions testOptions = new DiagnosticsOptions(); if (suppressNestedScopes.HasValue) { testOptions.SuppressNestedClientSpans = suppressNestedScopes.Value; } ClientDiagnostics clientDiagnostics = new ClientDiagnostics("Azure.Clients", "Microsoft.Azure.Core.Cool.Tests", testOptions); using DiagnosticScope scope = clientDiagnostics.CreateScope("ClientName.ActivityName"); scope.Start(); DiagnosticScope nestedScope = clientDiagnostics.CreateScope("ClientName.NestedActivityName"); nestedScope.Start(); if (suppressNestedScopes.GetValueOrDefault(false)) { Assert.IsFalse(nestedScope.IsEnabled); Assert.AreEqual("ClientName.ActivityName", Activity.Current.OperationName); } else { Assert.IsTrue(nestedScope.IsEnabled); Assert.AreEqual("ClientName.NestedActivityName", Activity.Current.OperationName); } nestedScope.Dispose(); Assert.AreEqual("ClientName.ActivityName", Activity.Current.OperationName); }
public static Task <IDiagnosticsReport> DiagnosticsAsync(this ICluster cluster, Action <DiagnosticsOptions> configureOptions) { var options = new DiagnosticsOptions(); configureOptions?.Invoke(options); return(cluster.DiagnosticsAsync(options)); }
private static void ApplySharedDiagnosticsSettings(this DiagnosticsOptions options, ImmutableArray <string> additionalHeaders, ImmutableArray <string> additionalQueryParameters) { // ensure User-Agent mentions us options.ApplicationId = $"{LanguageConstants.LanguageId}/{ThisAssembly.AssemblyFileVersion}"; options.IsLoggingContentEnabled = false; options.IsDistributedTracingEnabled = false; options.IsTelemetryEnabled = false; foreach (var header in additionalHeaders) { options.LoggedHeaderNames.Add(header); } foreach (var queryParam in additionalQueryParameters) { options.LoggedQueryParameters.Add(queryParam); } }
private void HandleDiagnosisReport(string diagnosisReport) { // ReSharper disable once PossibleInvalidOperationException DiagnosticsOptions options = Options.Value; string output = $"Potentially misconfigured dependencies detected.\n{diagnosisReport}"; if (options.HasFlag(DiagnosticsOptions.Output)) { Console.WriteLine(output); } if (options.HasFlag(DiagnosticsOptions.Log)) { //TODO #3 Bootsrapper.HandleDiagnosisReport() option: add logging support. ILogger implementation will be resolved, hence lifycyle management is required } if (options.HasFlag(DiagnosticsOptions.Throw)) { throw new Exception(output); } }
public void ApplicationIdLimitedTo24Chars() { var options = new DiagnosticsOptions(); Assert.Throws <ArgumentOutOfRangeException>(() => options.ApplicationId = "0123456789012345678912345"); }
public static void ApplySharedContainerRegistrySettings(this DiagnosticsOptions options) => options.ApplySharedDiagnosticsSettings(AcrClientAdditionalLoggedHeaders, AcrClientAdditionalLoggedQueryParams);
public static void ApplySharedResourceManagerSettings(this DiagnosticsOptions options) => options.ApplySharedDiagnosticsSettings(ArmClientAdditionalLoggedHeaders, ArmClientAdditionalLoggedQueryParams);
public Task <IDiagnosticsReport> DiagnosticsAsync(DiagnosticsOptions options = null) { options = options ?? new DiagnosticsOptions(); return(Task.FromResult(DiagnosticsReportProvider.CreateDiagnosticsReport(_context, options?.ReportId ?? Guid.NewGuid().ToString()))); }
public DiagnosticsController(IOptions <DiagnosticsOptions> diagnosticsOptions) { _diagnosticsOptions = diagnosticsOptions.Value; }