/// <summary> /// Initializes provided instance of the <see cref="AWSXRayRecorder" /> class with /// the instance of <see cref="IConfiguration" />. /// </summary> /// <param name="configuration">Instance of <see cref="IConfiguration"/>.</param> /// <param name="recorder">Instance of <see cref="AWSXRayRecorder"/>.</param> public static void InitializeInstance(IConfiguration configuration, AWSXRayRecorder recorder) { XRayOptions xRayOptions = XRayConfiguration.GetXRayOptions(configuration); recorder.XRayOptions = xRayOptions; recorder = new AWSXRayRecorderBuilder().WithPluginsFromConfig(xRayOptions).Build(recorder); }
public void TestUseRuntimeErrorsTrue() { IConfiguration configuration = BuildConfiguration("UseRuntimeErrorsTrue.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); }
public void TestUseRuntimeErrorsDefaultsTrue_WhenNotSpecifiedInJson() { IConfiguration configuration = BuildConfiguration("DisabledXRayMissing.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); }
/// <summary> /// Initializes a new instance of the <see cref="AWSXRayRecorder" /> class /// with given instance of <see cref="IConfiguration" />. /// </summary> /// <param name="configuration">Instance of <see cref="IConfiguration"/>.</param> public static void InitializeInstance(IConfiguration configuration) { XRayOptions xRayOptions = XRayConfiguration.GetXRayOptions(configuration); var recorderBuilder = GetBuilder(xRayOptions); Instance = recorderBuilder.Build(xRayOptions); }
/// <summary> /// Build a instance of <see cref="AWSXRayRecorder"/> with <see cref="XRayOptions"/> class. /// <param name="xRayOptions">An instance of <see cref="XRayOptions"/> class.</param> /// </summary> /// <returns>A new instance of <see cref="AWSXRayRecorder"/> class.</returns> public AWSXRayRecorder Build(XRayOptions xRayOptions) { var recorder = new AWSXRayRecorder(xRayOptions); PopulateRecorder(recorder); return(recorder); }
public void TestCollectSqlQueriesFalse_WhenNotSpecifiedInJson() { IConfiguration configuration = BuildConfiguration("DisabledXRayMissing.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); AWSXRayRecorder.InitializeInstance(configuration); Assert.IsFalse(_xRayOptions.CollectSqlQueries); }
public void TestCollecSqlQueriesTrue() { IConfiguration configuration = BuildConfiguration("CollectSqlQueriesTrue.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); AWSXRayRecorder.InitializeInstance(configuration); Assert.IsTrue(_xRayOptions.CollectSqlQueries); }
public void TestCleanup() { #if NET45 ConfigurationManager.AppSettings[ManifestKey] = null; AppSettings.Reset(); #else _xRayOtions = new XRayOptions(); #endif }
public void TestXRaySectionMissing() // No "Xray" section in the json { IConfiguration configuration = null; _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); Assert.IsFalse(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); }
public void TestConfigurationIsNull() { IConfiguration configuration = BuildConfiguration("NoXRaySection.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); Assert.IsFalse(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); }
public new void TestCleanup() { base.TestCleanup(); #if NET45 ConfigurationManager.AppSettings[PluginKey] = null; AppSettings.Reset(); #else _xRayOptions = new XRayOptions(); #endif }
public new void TestCleanup() { base.TestCleanup(); #if NET45 ConfigurationManager.AppSettings[ManifestKey] = null; AppSettings.Reset(); #else _xRayOptions.AwsServiceHandlerManifest = null; _xRayOptions = new XRayOptions(); #endif }
/// <summary> /// Reads useRuntimeErrors settings from config instance, and adds into the builder. /// If the useRuntimeErrors settings doesn't exist, it defaults to true and ContextMissingStrategy.RUNTIME_ERROR is used. /// </summary> /// <returns>The builder with context missing strategy set.</returns> public AWSXRayRecorderBuilder WithContextMissingStrategyFromConfig(XRayOptions xRayOptions) { if (xRayOptions.UseRuntimeErrors) { return(WithContextMissingStrategy(ContextMissingStrategy.RUNTIME_ERROR)); } else { return(WithContextMissingStrategy(ContextMissingStrategy.LOG_ERROR)); } }
/// <summary> /// Initializes provided instance of the <see cref="AWSXRayRecorder" /> class with /// the instance of <see cref="IConfiguration" />. /// </summary> /// <param name="configuration">Instance of <see cref="IConfiguration"/>.</param> /// <param name="recorder">Instance of <see cref="AWSXRayRecorder"/>.</param> public static void InitializeInstance(IConfiguration configuration, AWSXRayRecorder recorder) { XRayOptions xRayOptions = XRayConfiguration.GetXRayOptions(configuration); recorder.XRayOptions = xRayOptions; var recorderBuilder = GetBuilder(xRayOptions); recorder = recorderBuilder.Build(recorder); Instance = recorder; }
public void TestUseRuntimeErrorsDefaultsTrue_WhenNotSpecifiedInJson() { IConfiguration configuration = BuildConfiguration("DisabledXRayMissing.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); AWSXRayRecorder.InitializeInstance(configuration); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); Assert.AreEqual(AWSXRayRecorder.Instance.ContextMissingStrategy, Core.Strategies.ContextMissingStrategy.RUNTIME_ERROR); }
public void TestUseRuntimeErrorsTrue() { IConfiguration configuration = BuildConfiguration("UseRuntimeErrorsTrue.json"); _xRayOptions = XRayConfiguration.GetXRayOptions(configuration); AWSXRayRecorder.InitializeInstance(configuration); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); Assert.AreEqual(AWSXRayRecorder.Instance.ContextMissingStrategy, Core.Strategies.ContextMissingStrategy.RUNTIME_ERROR); }
public new void TestCleanup() { base.TestCleanup(); #if NET45 ConfigurationManager.AppSettings[DisableXRayTracingKey] = string.Empty; AppSettings.Reset(); #else _xRayOptions = new XRayOptions(); #endif Environment.SetEnvironmentVariable(AWSXRayRecorder.EnvironmentVariableContextMissingStrategy, null); _recorder.Dispose(); }
public new void TestCleanup() { base.TestCleanup(); #if NET45 ConfigurationManager.AppSettings[PluginKey] = null; ConfigurationManager.AppSettings[UseRuntimeErrors] = null; AppSettings.Reset(); #else _xRayOptions = new XRayOptions(); #endif AWSXRayRecorder.Instance.Dispose(); }
public void TestInitializeInstance() { IConfiguration configuration = BuildConfiguration("DisabledXRayTrue.json"); AWSXRayRecorder.InitializeInstance(configuration); _xRayOptions = AWSXRayRecorder.Instance.XRayOptions; Assert.IsTrue(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); AWSXRayRecorder.Instance.Dispose(); }
/// <summary> /// Builds <see cref="AWSXRayRecorderBuilder"/> instance with xrayoptions. /// </summary> /// <param name="xRayOptions">Instance of <see cref="XRayOptions"/></param> /// <returns>Instance of <see cref="AWSXRayRecorderBuilder"/>.</returns> public AWSXRayRecorderBuilder WithPluginsFromConfig(XRayOptions xRayOptions) { var setting = xRayOptions.PluginSetting; if (string.IsNullOrEmpty(setting)) { _logger.DebugFormat("Plugin setting is missing."); return(this); } PopulatePlugins(setting); return(this); }
/// <summary> /// Initializes a new instance of the <see cref="AWSXRayRecorder" /> class /// with given instance of <see cref="ISegmentEmitter" /> and instance of <see cref="XRayOptions"/>. /// </summary> /// <param name="emitter">Instance of <see cref="ISegmentEmitter"/>.</param> /// <param name="options">Instance of <see cref="XRayOptions"/>.</param> internal AWSXRayRecorder(ISegmentEmitter emitter, XRayOptions options) : base(emitter) { XRayOptions = options; PopulateContexts(); if (IsLambda()) { SamplingStrategy = new LocalizedSamplingStrategy(options.SamplingRuleManifest); } else { SamplingStrategy = new DefaultSamplingStrategy(options.SamplingRuleManifest); } }
private static AWSXRayRecorderBuilder GetBuilder(XRayOptions xRayOptions) { var recorderBuilder = new AWSXRayRecorderBuilder().WithPluginsFromConfig(xRayOptions); if (xRayOptions.UseRuntimeErrors) { recorderBuilder.WithContextMissingStrategy(ContextMissingStrategy.RUNTIME_ERROR); } else { recorderBuilder.WithContextMissingStrategy(ContextMissingStrategy.LOG_ERROR); } return(recorderBuilder); }
public void TestInitializeInstanceWithRecorder() { IConfiguration configuration = BuildConfiguration("DisabledXRayTrue.json"); AWSXRayRecorder recorder = BuildAWSXRayRecorder(); AWSXRayRecorder.InitializeInstance(configuration, recorder); _xRayOptions = recorder.XRayOptions; Assert.IsTrue(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); Assert.AreEqual(AWSXRayRecorder.Instance.SamplingStrategy, recorder.SamplingStrategy); // Custom recorder set in TraceContext recorder.Dispose(); }
/// <summary> /// Initializes provided instance of the <see cref="AWSXRayRecorder" /> class with /// the instance of <see cref="IConfiguration" />. /// </summary> /// <param name="configuration">Instance of <see cref="IConfiguration"/>.</param> /// <param name="recorder">Instance of <see cref="AWSXRayRecorder"/>.</param> public static void InitializeInstance(IConfiguration configuration = null, AWSXRayRecorder recorder = null) { XRayOptions xRayOptions = XRayConfiguration.GetXRayOptions(configuration); var recorderBuilder = GetBuilder(xRayOptions); if (recorder != null) { recorder.XRayOptions = xRayOptions; recorder = recorderBuilder.Build(recorder); } else { recorder = recorderBuilder.Build(xRayOptions); } Instance = recorder; }
public void TestInitializeInstance() { IConfiguration configuration = BuildConfiguration("DisabledXRayTrue.json"); AWSXRayRecorder.InitializeInstance(configuration); _xRayOptions = AWSXRayRecorder.Instance.XRayOptions; Assert.IsTrue(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); Assert.AreEqual(typeof(UdpSegmentEmitter), AWSXRayRecorder.Instance.Emitter.GetType()); // Default emitter set AWSXRayRecorder.Instance.Dispose(); }
public void TestInitializeInstanceWithRecorder2() { IConfiguration configuration = BuildConfiguration("DisabledXRayTrue.json"); AWSXRayRecorder recorder = BuildAWSXRayRecorder(new TestSamplingStrategy(), new DummyEmitter()); AWSXRayRecorder.InitializeInstance(configuration, recorder); _xRayOptions = recorder.XRayOptions; Assert.IsTrue(_xRayOptions.IsXRayTracingDisabled); Assert.IsNull(_xRayOptions.AwsServiceHandlerManifest); Assert.IsNull(_xRayOptions.PluginSetting); Assert.IsNull(_xRayOptions.SamplingRuleManifest); Assert.IsTrue(_xRayOptions.UseRuntimeErrors); Assert.AreEqual(AWSXRayRecorder.Instance.SamplingStrategy, recorder.SamplingStrategy); // Custom recorder set in TraceContext Assert.AreEqual(typeof(DummyEmitter), recorder.Emitter.GetType()); // custom emitter set recorder.Dispose(); }
/// <summary> /// Initializes provided instance of the <see cref="AWSXRayRecorder" /> class with /// the instance of <see cref="IConfiguration" />. /// </summary> /// <param name="configuration">Instance of <see cref="IConfiguration"/>.</param> /// <param name="recorder">Instance of <see cref="AWSXRayRecorder"/>.</param> public static void InitializeInstance(IConfiguration configuration = null, AWSXRayRecorder recorder = null) { XRayOptions xRayOptions = XRayConfiguration.GetXRayOptions(configuration); var recorderBuilder = GetBuilder(xRayOptions); if (recorder != null) { _logger.DebugFormat("Using custom X-Ray recorder."); recorder.XRayOptions = xRayOptions; recorder = recorderBuilder.Build(recorder); } else { _logger.DebugFormat("Using default X-Ray recorder."); recorder = recorderBuilder.Build(xRayOptions); } Instance = recorder; }
/// <summary> /// Initializes a new instance of the <see cref="AWSXRayRecorder" /> class with <see cref="XRayOptions"/> /// </summary> /// <param name="options">Instance of <see cref="XRayOptions"/>.</param> public AWSXRayRecorder(XRayOptions options) : this(new UdpSegmentEmitter(), options) { }
/// <summary> /// Initializes a new instance of the <see cref="AWSXRayRecorder" /> class /// with given instance of <see cref="ISegmentEmitter" /> and instance of <see cref="XRayOptions"/>. /// </summary> /// <param name="emitter">Instance of <see cref="ISegmentEmitter"/>.</param> /// <param name="options">Instance of <see cref="XRayOptions"/>.</param> internal AWSXRayRecorder(ISegmentEmitter emitter, XRayOptions options) : base(emitter) { XRayOptions = options; PopulateContexts(); SamplingStrategy = new LocalizedSamplingStrategy(options.SamplingRuleManifest); }
public void TestCleanup() { _xRayOptions = new XRayOptions(); Environment.SetEnvironmentVariable(AWSXRayRecorder.EnvironmentVariableContextMissingStrategy, null); AWSXRayRecorder.Instance.Dispose(); }