/** * @deprecated * Sanitize name and metrics. */ @Override @Deprecated protected void additionalSanitize() { data.setName(Sanitizer.sanitizeName(data.getName())); Sanitizer.sanitizeMeasurements(this.getMetrics()); }
@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 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")); }
/** * 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); }
et.getContext().setInstrumentationKey(iKey); et.getProperties().putAll(props); et.getMetrics().putAll(metrics); testCases.add(new Object[]{ "Event with props & metrics",