public GrafanaClient(CorePlugin corePlugin, HttpClient httpClient) { this.corePlugin = corePlugin; this.httpClient = httpClient; asyncRestPool = ExecutorUtils .createSingleThreadDeamonPool("async-grafana", corePlugin.getThreadPoolQueueCapacityLimit(), corePlugin); }
public ReportingSpanEventListener(ConfigurationRegistry configuration) { this.configuration = configuration; this.tracingPlugin = configuration.getConfig(TracingPlugin.class); final CorePlugin corePlugin = configuration.getConfig(CorePlugin.class); this.asyncSpanReporterPool = ExecutorUtils .createSingleThreadDeamonPool("async-request-reporter", corePlugin.getThreadPoolQueueCapacityLimit(), corePlugin); }
public ElasticsearchClient(final CorePlugin corePlugin, final HttpClient httpClient, int esAvailabilityCheckIntervalSec, List<ElasticsearchAvailabilityObserver> elasticsearchAvailabilityObservers) { this.corePlugin = corePlugin; asyncESPool = ExecutorUtils .createSingleThreadDeamonPool("async-elasticsearch", corePlugin.getThreadPoolQueueCapacityLimit(), corePlugin); timer = new Timer("elasticsearch-tasks", true); if (corePlugin.isInternalMonitoringActive()) { JavaThreadPoolMetricsCollectorImpl pooledResource = new JavaThreadPoolMetricsCollectorImpl(asyncESPool, "internal.asyncESPool"); PooledResourceMetricsRegisterer.registerPooledResource(pooledResource, Stagemonitor.getMetric2Registry()); } this.httpClient = httpClient; checkEsAvailability = new CheckEsAvailability(httpClient, corePlugin, elasticsearchAvailabilityObservers); if (esAvailabilityCheckIntervalSec > 0) { final long period = TimeUnit.SECONDS.toMillis(esAvailabilityCheckIntervalSec); timer.scheduleAtFixedRate(checkEsAvailability, 0, period); } }
@Before public void setUp() throws Exception { CorePlugin corePlugin = mock(CorePlugin.class); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); when(corePlugin.getGrafanaUrl()).thenReturn("foo"); when(corePlugin.getGrafanaApiKey()).thenReturn("bar"); when(corePlugin.getElasticsearchReportingInterval()).thenReturn(60); grafanaClient = new GrafanaClient(corePlugin, mock(HttpClient.class)); }
@Before public void setUp() throws Exception { final CorePlugin corePlugin = mock(CorePlugin.class); final URL url = new URL("http://localhost:41234"); when(corePlugin.getElasticsearchUrl()).thenReturn(url); when(corePlugin.getElasticsearchUrls()).thenReturn(Collections.singletonList(url)); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(10000); when(corePlugin.isInitialized()).thenReturn(TRUE); elasticsearchClient = new ElasticsearchClient(corePlugin, new HttpClient(), -1, Collections.emptyList()); }
private void prepareESTest() { when(corePlugin.getElasticsearchConfigurationSourceProfiles()).thenReturn(Collections.singletonList("test")); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); ElasticsearchClient elasticsearchClient = new ElasticsearchClient(corePlugin, new HttpClient(), -1, Collections.emptyList()); when(corePlugin.getElasticsearchClient()).thenReturn(elasticsearchClient); }
@Before public void setUp() throws Exception { tracingPlugin = mock(TracingPlugin.class); final ConfigurationRegistry configuration = mock(ConfigurationRegistry.class); final CorePlugin corePlugin = mock(CorePlugin.class); when(configuration.getConfig(TracingPlugin.class)).thenReturn(tracingPlugin); when(configuration.getConfig(CorePlugin.class)).thenReturn(corePlugin); when(tracingPlugin.isPseudonymizeUserNames()).thenReturn(true); when(tracingPlugin.isAnonymizeIPs()).thenReturn(true); when(tracingPlugin.getDiscloseUsers()).thenReturn(Collections.emptySet()); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); assertThat(mockTracer.scopeManager().active()).isNull(); }
@Before public void setUp() throws Exception { configuration = mock(ConfigurationRegistry.class); TracingPlugin tracingPlugin = mock(TracingPlugin.class); when(tracingPlugin.getRequestMonitor()).thenReturn(mock(RequestMonitor.class)); when(tracingPlugin.getProfilerRateLimitPerMinuteOption()).thenReturn(mock(ConfigurationOption.class)); when(tracingPlugin.isSampled(any())).thenReturn(true); when(configuration.getConfig(TracingPlugin.class)).thenReturn(tracingPlugin); servletPlugin = mock(ServletPlugin.class); when(servletPlugin.isWidgetAndStagemonitorEndpointsAllowed(any(HttpServletRequest.class))).thenReturn(Boolean.TRUE); when(configuration.getConfig(ServletPlugin.class)).thenReturn(servletPlugin); final CorePlugin corePlugin = mock(CorePlugin.class); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); when(configuration.getConfig(CorePlugin.class)).thenReturn(corePlugin); WidgetAjaxSpanReporter reporter = new WidgetAjaxSpanReporter(); spanServlet = new SpanServlet(configuration, reporter, 1500); spanServlet.init(); connectionId = UUID.randomUUID().toString(); final SamplePriorityDeterminingSpanEventListener samplePriorityDeterminingSpanInterceptor = mock(SamplePriorityDeterminingSpanEventListener.class); when(samplePriorityDeterminingSpanInterceptor.onSetTag(anyString(), anyString())).then(invocation -> invocation.getArgument(1)); when(samplePriorityDeterminingSpanInterceptor.onSetTag(anyString(), anyBoolean())).then(invocation -> invocation.getArgument(1)); when(samplePriorityDeterminingSpanInterceptor.onSetTag(anyString(), any(Number.class))).then(invocation -> invocation.getArgument(1)); final ReportingSpanEventListener reportingSpanEventListener = new ReportingSpanEventListener(configuration); reportingSpanEventListener.addReporter(reporter); Tracer tracer = TracingPlugin.createSpanWrappingTracer(new MockTracer(new ThreadLocalScopeManager(), new B3Propagator()), configuration, new Metric2Registry(), ServiceLoader.load(SpanEventListenerFactory.class), samplePriorityDeterminingSpanInterceptor, reportingSpanEventListener); GlobalTracerTestHelper.override(tracer); when(tracingPlugin.getTracer()).thenReturn(tracer); }
@Before public void clearState() { CorePlugin corePlugin = mock(CorePlugin.class); TracingPlugin tracingPlugin = mock(TracingPlugin.class); when(tracingPlugin.getDefaultRateLimitSpansPerMinuteOption()).thenReturn(mock(ConfigurationOption.class)); when(tracingPlugin.getDefaultRateLimitSpansPercentOption()).thenReturn(mock(ConfigurationOption.class)); when(tracingPlugin.getRateLimitSpansPerMinutePercentPerTypeOption()).thenReturn(mock(ConfigurationOption.class)); when(tracingPlugin.getDefaultRateLimitSpansPercent()).thenReturn(1.0); when(tracingPlugin.getRateLimitSpansPerMinutePercentPerType()).thenReturn(Collections.emptyMap()); when(tracingPlugin.getProfilerRateLimitPerMinuteOption()).thenReturn(mock(ConfigurationOption.class)); configuration = mock(ConfigurationRegistry.class); when(configuration.getConfig(CorePlugin.class)).thenReturn(corePlugin); when(configuration.getConfig(TracingPlugin.class)).thenReturn(tracingPlugin); when(corePlugin.isStagemonitorActive()).thenReturn(true); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); when(corePlugin.getMetricRegistry()).thenReturn(registry); when(corePlugin.getElasticsearchClient()).thenReturn(mock(ElasticsearchClient.class)); final RequestMonitor requestMonitor = new RequestMonitor(configuration, registry); when(tracingPlugin.getRequestMonitor()).thenReturn(requestMonitor); tags = new HashMap<>(); mockTracer = new MockTracer(); tracer = TracingPlugin.createSpanWrappingTracer(mockTracer, configuration, registry, TagRecordingSpanEventListener.asList(tags), new SamplePriorityDeterminingSpanEventListener(configuration), new ReportingSpanEventListener(configuration)); when(tracingPlugin.getTracer()).thenReturn(tracer); testObject = new TestObject(requestMonitor); assertThat(tracer.scopeManager().active()).isNull(); }
when(configuration.getConfig(CorePlugin.class)).thenReturn(corePlugin); when(corePlugin.isStagemonitorActive()).thenReturn(true); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); when(corePlugin.getApplicationName()).thenReturn("JaxRsRequestNameDeterminerTransformerTest"); when(corePlugin.getInstanceName()).thenReturn("test");
doReturn(1000).when(corePlugin).getThreadPoolQueueCapacityLimit(); doReturn(new Metric2Registry()).when(corePlugin).getMetricRegistry(); doReturn(Collections.singletonList("http://mockhost:9200")).when(corePlugin).getElasticsearchUrls();
when(corePlugin.getElasticsearchUrl()).thenReturn(elasticsearchUrl); when(corePlugin.getElasticsearchUrls()).thenReturn(Collections.singletonList(elasticsearchUrl)); when(corePlugin.getThreadPoolQueueCapacityLimit()).thenReturn(1000); elasticsearchClient = new ElasticsearchClient(corePlugin, new HttpClient(), -1, Collections.emptyList()); when(corePlugin.getElasticsearchClient()).thenReturn(elasticsearchClient);
private RequestMonitor(Configuration configuration, Metric2Registry registry, RequestMonitorPlugin requestMonitorPlugin, Iterable<RequestTraceReporter> requestTraceReporters) { this.configuration = configuration; this.metricRegistry = registry; this.corePlugin = configuration.getConfig(CorePlugin.class); this.requestMonitorPlugin = requestMonitorPlugin; this.warmupRequests = requestMonitorPlugin.getNoOfWarmupRequests(); this.endOfWarmup = new Date(System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(requestMonitorPlugin.getWarmupSeconds())); this.asyncRequestTraceReporterPool = ExecutorUtils .createSingleThreadDeamonPool("async-request-reporter", corePlugin.getThreadPoolQueueCapacityLimit()); for (RequestTraceReporter requestTraceReporter : requestTraceReporters) { addReporter(requestTraceReporter); } }