public RemoteControlledSamplerTests() { _serivceName = "testService"; _mockSamplingManager = Substitute.For <ISamplingManager>(); _mockLoggerFactory = Substitute.For <ILoggerFactory>(); _mockSampler = Substitute.For <ISampler>(); _mockMetrics = Substitute.For <IMetrics>(); _pollingIntervalMs = 5000; _mockSamplerFactory = Substitute.For <ISamplerFactory>(); _mockLogger = Substitute.For <ILogger <RemoteControlledSampler> >(); _mockPollTimer = Substitute.For <Func <Action, int, CancellationToken, Task> >(); _mockLoggerFactory.CreateLogger <RemoteControlledSampler>().Returns(_mockLogger); _testingSampler = new RemoteControlledSampler( _serivceName, _mockSamplingManager, _mockLoggerFactory, _mockMetrics, _mockSampler, _mockSamplerFactory, _pollingIntervalMs, _mockPollTimer ); }
private bool InitProfilingSupport() { try { lock (Lock) { if (_samplingManager == null) { if (APM.ProfilerAttached) { RaygunLogger.Instance.Info("Detected Raygun APM profiler is attached, initializing profiler support."); _samplingManager = new SamplingManager(); _refreshTimer = new Timer(RefreshAgentSettings, null, TimeSpan.Zero, AgentPollingDelay); return(true); } } else { return(true); } } } catch (Exception ex) { RaygunLogger.Instance.Error($"Error initialising APM profiler support: {ex.Message}"); } return(false); }
private RemoteControlledSampler( string serviceName, ISamplingManager samplingManager, ILoggerFactory loggerFactory, IMetrics metrics, ISampler sampler, int pollingIntervalMs) : this(serviceName, samplingManager, loggerFactory, metrics, sampler, new SamplerFactory(), pollingIntervalMs, PollTimer) { }
private RemoteControlledSampler(Builder builder) { _serviceName = builder.ServiceName; _samplingManager = builder.SamplingManager; _loggerFactory = builder.LoggerFactory; _logger = _loggerFactory.CreateLogger <RemoteControlledSampler>(); _metrics = builder.Metrics; Sampler = builder.InitialSampler; _pollTimer = new Timer(_ => UpdateSampler(), null, TimeSpan.Zero, builder.PollingInterval); }
public RemoteControlledSamplerTests() { _loggerFactory = new NullLoggerFactory(); _samplingManager = Substitute.For <ISamplingManager>(); _initialSampler = Substitute.For <ISampler>(); _metrics = new MetricsImpl(new InMemoryMetricsFactory()); _undertest = new RemoteControlledSampler.Builder(SERVICE_NAME) .WithSamplingManager(_samplingManager) .WithInitialSampler(_initialSampler) .WithMetrics(_metrics) .Build(); }
internal RemoteControlledSampler( string serviceName, ISamplingManager samplingManager, ILoggerFactory loggerFactory, IMetrics metrics, ISampler sampler, ISamplerFactory samplerFactory, int pollingIntervalMs, Func <Action, int, CancellationToken, Task> pollTimer) { _serviceName = serviceName; _samplingManager = samplingManager; _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _logger = loggerFactory.CreateLogger <RemoteControlledSampler>(); _metrics = metrics; _sampler = sampler; _samplerFactory = samplerFactory; _cancellationTokenSource = new CancellationTokenSource(); _pollTimer = pollTimer(UpdateSampler, pollingIntervalMs, _cancellationTokenSource.Token); }
private void InitProfilingSupport() { try { lock (Lock) { if (_samplingManager == null) { if (APM.ProfilerAttached) { System.Diagnostics.Debug.WriteLine("Detected Raygun APM profiler is attached, initializing profiler support."); _samplingManager = new SamplingManager(); _refreshTimer = new Timer(RefreshAgentSettings, null, TimeSpan.Zero, AgentPollingDelay); } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"Error initialising APM profiler support: {ex.Message}"); } }
public Builder WithSamplingManager(ISamplingManager samplingManager) { SamplingManager = samplingManager ?? throw new ArgumentNullException(nameof(samplingManager)); return(this); }
public Builder(string serviceName, ISamplingManager samplingManager) { _serviceName = serviceName; _samplingManager = samplingManager ?? throw new ArgumentNullException(nameof(samplingManager)); }
public Builder WithSamplingManager(ISamplingManager samplingManager) { this._samplingManager = samplingManager; return(this); }