/** * Sends a TraceTelemetry record for display in Diagnostic Search. * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} instance. */ public void trackTrace(TraceTelemetry telemetry) { this.track(telemetry); }
/** * Sends a numeric metric to Application Insights. Appears in customMetrics in Analytics, and under Custom Metrics in Metric Explorer. * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} instance. */ public void trackMetric(MetricTelemetry telemetry) { track(telemetry); }
/** * Sends a request record to Application Insights. Appears in "requests" in Search and Analytics, * and contributes to metric charts such as Server Requests, Server Response Time, Failed Requests. * * @param request request */ public void trackRequest(RequestTelemetry request) { track(request); }
/** * Send information about the page viewed in the application. * @param telemetry The telemetry to send */ public void trackPageView(PageViewTelemetry telemetry) { track(telemetry); }
/** * Sends a custom event record to Application Insights. Appears in "custom events" in Analytics, Search and Metrics Explorer. * @param telemetry An event telemetry item. */ public void trackEvent(EventTelemetry telemetry) { track(telemetry); }
/** * Sends an ExceptionTelemetry record for display in Diagnostic Search. * @param telemetry An already constructed exception telemetry record. */ public void trackException(ExceptionTelemetry telemetry) { track(telemetry); }
private void send(TelemetryClient telemetryClient, double value, WindowsPerformanceCounterData data) { PerformanceCounterTelemetry telemetry = new PerformanceCounterTelemetry(data.categoryName, data.counterName, data.instanceName, value); telemetryClient.track(telemetry); }
private void reportHeap(MemoryMXBean memory, TelemetryClient telemetryClient) { MemoryUsage mhu = memory.getHeapMemoryUsage(); if (mhu != null) { long currentHeapUsed = mhu.getUsed() / Megabyte; MetricTelemetry memoryHeapUsage = new MetricTelemetry(HEAP_MEM_USED, currentHeapUsed); memoryHeapUsage.markAsCustomPerfCounter(); telemetryClient.track(memoryHeapUsage); } } }
protected void send(TelemetryClient telemetryClient, double value, String key) { // Using the metric to avoid unneeded allocations telemetry.setName(key); telemetry.setValue(value); telemetryClient.track(telemetry); } }
private void sendInstrumentationTelemetry(MethodData methodData, Throwable throwable) { long durationInMilliSeconds = nanoToMilliseconds(methodData.interval); RemoteDependencyTelemetry telemetry = new RemoteDependencyTelemetry(methodData.name, null, new Duration(durationInMilliSeconds), throwable == null); telemetry.setType(methodData.type); Date dependencyStartDate = new Date(System.currentTimeMillis() - durationInMilliSeconds); telemetry.setTimestamp(dependencyStartDate); InternalLogger.INSTANCE.trace("Sending RDD event for '%s'", methodData.name); telemetryClient.track(telemetry); if (throwable != null) { ExceptionTelemetry exceptionTelemetry = new ExceptionTelemetry(throwable); telemetryClient.track(exceptionTelemetry); } }
private void setupTelemetryClientMock(final List<Telemetry> telemetries) { Mockito.when(this.telemetryClientMock.getContext()).thenReturn(new TelemetryContext()); Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { Telemetry telemetry = ((Telemetry) invocation.getArguments()[0]); telemetries.add(telemetry); return null; } }).when(this.telemetryClientMock).track(Matchers.any(Telemetry.class)); }
private void setupTelemetryClientMock(final List<Telemetry> telemetries) { Mockito.when(this.telemetryClientMock.getContext()).thenReturn(new TelemetryContext()); Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { Telemetry telemetry = ((Telemetry) invocation.getArguments()[0]); telemetries.add(telemetry); return null; } }).when(this.telemetryClientMock).track(Matchers.any(Telemetry.class)); }
private void setupTelemetryClientMock(final List<Telemetry> telemetries) { Mockito.when(this.telemetryClientMock.getContext()).thenReturn(new TelemetryContext()); Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { Telemetry telemetry = ((Telemetry) invocation.getArguments()[0]); telemetries.add(telemetry); return null; } }).when(this.telemetryClientMock).track(Matchers.any(Telemetry.class)); }
@Test public void testTrackTelemetryWithDisabled() { configuration.setTrackingIsDisabled(true); Telemetry mockTelemetry = Mockito.mock(Telemetry.class); client.track(mockTelemetry); Mockito.verifyZeroInteractions(channel, mockTelemetry); }
@Override protected void send(TelemetryClient telemetryClient, String displayName, double value) { InternalLogger.INSTANCE.trace("Metric JMX: %s, %s", displayName, value); MetricTelemetry telemetry = new MetricTelemetry(); telemetry.markAsCustomPerfCounter(); telemetry.setName(displayName); telemetry.setValue(value); telemetry.getProperties().put("CustomPerfCounter", "true"); telemetryClient.track(telemetry); } }
@Test public void testTelemetryContextsAreCalled() { ContextInitializer mockContextInitializer = Mockito.mock(ContextInitializer.class); configuration.getContextInitializers().add(mockContextInitializer); TelemetryInitializer mockTelemetryInitializer = Mockito.mock(TelemetryInitializer.class); configuration.getTelemetryInitializers().add(mockTelemetryInitializer); TelemetryContext mockContext = new TelemetryContext(); Telemetry mockTelemetry = Mockito.mock(Telemetry.class); Mockito.doReturn(mockContext).when(mockTelemetry).getContext(); client.track(mockTelemetry); Mockito.verify(mockContextInitializer, Mockito.times(1)).initialize(any(TelemetryContext.class)); Mockito.verify(mockTelemetryInitializer, Mockito.times(1)).initialize(mockTelemetry); }
@Test public void testMethodsOnTelemetryAreCalledWhenTracking() { TelemetryChannel mockChannel = Mockito.mock(TelemetryChannel.class); configuration.setChannel(mockChannel); TelemetryContext mockContext = new TelemetryContext(); Telemetry mockTelemetry = Mockito.mock(Telemetry.class); Mockito.doReturn(mockContext).when(mockTelemetry).getContext(); TelemetryClient telemetryClient = new TelemetryClient(configuration); telemetryClient.track(mockTelemetry); Mockito.verify(mockChannel, Mockito.times(1)).send(mockTelemetry); Mockito.verify(mockTelemetry, Mockito.times(1)).setTimestamp(any(Date.class)); }
@Test public void testContextThrowsInInitialize() { ContextInitializer mockContextInitializer = new ContextInitializer() { @Override public void initialize(TelemetryContext context) { throw new RuntimeException(); } }; configuration.getContextInitializers().add(mockContextInitializer); TraceTelemetry telemetry = new TraceTelemetry("test"); client.track(telemetry); }
@Test public void testTrack() { TraceTelemetry telemetry = new TraceTelemetry("test"); client.track(telemetry); verifyAndGetLastEventSent(); }
@Test public void testTrackWithCustomTelemetryTimestamp() { Date timestamp = new Date(10000); client.track(new RequestTelemetry("Name", timestamp, 1, "200", true)); Telemetry telemetry = verifyAndGetLastEventSent(); assertEquals(telemetry.getTimestamp(), timestamp); }