@Test public void testSetName() { EventTelemetry eventTelemetry = new EventTelemetry("mockname"); assertEquals("mockname", eventTelemetry.getName()); eventTelemetry.setName("new name"); assertEquals("new name", eventTelemetry.getName()); }
/** * Sends a custom event record to Application Insights. Appears in custom events in Analytics, Search and Metrics Explorer. * @param name A name for the event. Max length 150. * @param properties Named string values you can use to search and filter events. * @param metrics Numeric measurements associated with this event. Appear under Custom Metrics in Metrics Explorer. */ public void trackEvent(String name, Map<String, String> properties, Map<String, Double> metrics) { if (isDisabled()) { return; } if (Strings.isNullOrEmpty(name)) { name = ""; } EventTelemetry et = new EventTelemetry(name); MapUtil.copy(properties, et.getContext().getProperties()); MapUtil.copy(metrics, et.getMetrics()); this.track(et); }
@Override public Telemetry apply(BaseTelemetry bt) { Preconditions.checkNotNull(bt); EventTelemetry t = (EventTelemetry) bt; final Event.Builder eb = Event.newBuilder() .setVer(t.getVer()); if (t.getName() != null) eb.setName(t.getName()); if (t.getProperties() != null) eb.putAllProperties(t.getProperties()); if (t.getMetrics() != null) eb.putAllMeasurements(t.getMetrics()); return telemetryBuilderWithStandardFields(t).setEvent(eb).build(); } });
@Test public void testSetTimestamp() { EventTelemetry eventTelemetry = new EventTelemetry("mockname"); Date date = new Date(); eventTelemetry.setTimestamp(date); assertEquals(eventTelemetry.getTimestamp(), date); }
@Test public void testTrackEventWithEventTelemetry() { EventTelemetry eventTelemetry = new EventTelemetry("Event"); client.trackEvent(eventTelemetry); verifyAndGetLastEventSent(); }
EventTelemetry et = new EventTelemetry(name); et.getContext().setInstrumentationKey(iKey); testCases.add(new Object[]{ "Event", getTelemetryBuilder(EventTelemetry.ENVELOPE_NAME, iKey) .setEvent(Event.newBuilder() .setVer(et.getVer()) .setName(name) et = new EventTelemetry(name); et.getContext().setInstrumentationKey(iKey); et.getProperties().putAll(props); et.getMetrics().putAll(metrics); testCases.add(new Object[]{ "Event with props & metrics", getTelemetryBuilder(EventTelemetry.ENVELOPE_NAME, iKey) .setEvent(Event.newBuilder() .setVer(et.getVer()) .setName(name) .putAllProperties(props)
@Test public void testDefaultCtor() { EventTelemetry eventTelemetry = new EventTelemetry(); String name = eventTelemetry.getName(); assertNull(name); }
@Test public void shouldReloadInstrumentationKeyOnTelemetryClient() { TelemetryClient myClient = new TelemetryClient(); EventTelemetry eventTelemetry1 = new EventTelemetry("test1"); myClient.trackEvent(eventTelemetry1); assertThat(eventTelemetry1.getTimestamp()).isNull(); EnvironmentTestUtils.addEnvironment(context, "azure.application-insights.instrumentation-key: 00000000-0000-0000-0000-000000000000"); context.register(PropertyPlaceholderAutoConfiguration.class, ApplicationInsightsTelemetryAutoConfiguration.class); context.refresh(); EventTelemetry eventTelemetry2 = new EventTelemetry("test2"); myClient.trackEvent(eventTelemetry2); assertThat(eventTelemetry2.getTimestamp()).describedAs("Expecting telemetry event to be sent").isNotNull(); }
@Test public void testTrackEventWithPropertiesAndMetrics() { Map<String, String> properties = new HashMap<String, String>() {{ put("key", "value"); }}; Map<String, Double> metrics = new HashMap<String, Double>() {{ put("key", 1d); }}; client.trackEvent("Event", properties, metrics); EventTelemetry telemetry = (EventTelemetry) verifyAndGetLastEventSent(); Assert.assertTrue("Expected telemetry property not found", telemetry.getProperties().get("key").equalsIgnoreCase("value")); Assert.assertTrue("Expected telemetry property not found", 1d == telemetry.getMetrics().get("key")); }
@Test public void testNodeNameSent() { client.trackEvent("Event"); EventTelemetry telemetry = (EventTelemetry) verifyAndGetLastEventSent(); String nodeName = telemetry.getContext().getInternal().getNodeName(); Assert.assertFalse(nodeName == null || nodeName.length()==0); }
/** * Initializes a new instance. * * @param name The event's name. Max length 150. */ public EventTelemetry(String name) { this(); this.setName(name); }
@Override public boolean process(Telemetry telemetry) { if (telemetry == null) { return true; } if (!(telemetry instanceof EventTelemetry)) { return true; } EventTelemetry et = (EventTelemetry) telemetry; String eventName = et.getName(); if (LocalStringsUtils.isNullOrEmpty(eventName)) { return true; } return !notNeededNames.contains(eventName); }
/** * @deprecated * Sanitize name and metrics. */ @Override @Deprecated protected void additionalSanitize() { data.setName(Sanitizer.sanitizeName(data.getName())); Sanitizer.sanitizeMeasurements(this.getMetrics()); }
@Override public int getVer() { return getData().getVer(); }
@Test public void testMultipleEvents() throws Throwable { TelemetryEventFilter tested = new TelemetryEventFilter(); tested.setNotNeededNames("name0, name1"); String[] unneededNames = {"name0", "name1"}; for (String unneeded : unneededNames) { EventTelemetry et = new EventTelemetry(unneeded); boolean result = tested.process(et); assertFalse(result); } EventTelemetry et = new EventTelemetry("other"); boolean result = tested.process(et); assertTrue(result); } }
@Test public void testOverideNodeName(){ String overrideNode = "NewNodeName"; client.getContext().getInternal().setNodeName(overrideNode); client.trackEvent("Event"); EventTelemetry telemetry = (EventTelemetry) verifyAndGetLastEventSent(); String nodeName = telemetry.getContext().getInternal().getNodeName(); Assert.assertTrue("NodeName was not overriden", nodeName.equals(overrideNode)); }
@Test public void samplingScoreIsRandomIfOperationIdIsNotPresent() { Telemetry eventTelemetry = new EventTelemetry(); Telemetry requestTelemetry = new RequestTelemetry(); double eventTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(eventTelemetry); double requestTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(requestTelemetry); Assert.assertNotEquals(eventTelemetrySamplingScore, requestTelemetrySamplingScore, 0.0); }
@Test public void testWith100Percent() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setIncludeTypes("Event, PageView"); boolean result = tested.isSampledIn(new EventTelemetry()); Assert.assertTrue(result); }
@Test public void testWith0Percent() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setIncludeTypes("Event, PageView"); tested.setSamplingPercentage(0.0); boolean result = tested.isSampledIn(new EventTelemetry()); Assert.assertFalse(result); }
@Test public void testWith90PercentWithOpId() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setSamplingPercentage(10.0); Telemetry telemetry = new EventTelemetry(); telemetry.getContext().getOperation().setId("a"); boolean result = tested.isSampledIn(telemetry); Assert.assertFalse(result); }