Skip to content

Commit 0e2fe37

Browse files
authored
Merge pull request #464 from XiaoliangHuang/FixBug462-TelemetryNamingMissInstrumentationKey
Merging Fix bug462 telemetry naming miss instrumentation key.
2 parents 578fd47 + e1e09dc commit 0e2fe37

File tree

12 files changed

+109
-13
lines changed

12 files changed

+109
-13
lines changed

core/src/main/java/com/microsoft/applicationinsights/telemetry/BaseTelemetry.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,17 @@
3333
import java.util.concurrent.ConcurrentHashMap;
3434
import java.util.concurrent.ConcurrentMap;
3535

36+
import org.apache.commons.lang3.StringUtils;
37+
3638
/**
3739
* Superclass for all telemetry data classes.
3840
*/
3941
public abstract class BaseTelemetry<T extends Domain> implements Telemetry {
4042
private TelemetryContext context;
4143
private Date timestamp;
4244
private String sequence;
45+
46+
private final String TELEMETRY_NAME_PREFIX = "Microsoft.ApplicationInsights.";
4347

4448
protected BaseTelemetry() {
4549
}
@@ -139,9 +143,12 @@ public void sanitize() {
139143
*/
140144
@Override
141145
public void serialize(JsonTelemetryDataSerializer writer) throws IOException {
142-
146+
147+
String telemetryName = this.getTelemetryName(
148+
this.normalizeInstrumentationKey(context.getInstrumentationKey()), this.getEnvelopName());
149+
143150
Envelope envelope = new Envelope();
144-
envelope.setName(this.getEnvelopName());
151+
envelope.setName(telemetryName);
145152

146153
setSampleRate(envelope);
147154
envelope.setIKey(context.getInstrumentationKey());
@@ -184,4 +191,23 @@ protected String getEnvelopName() {
184191
protected String getBaseTypeName() {
185192
throw new UnsupportedOperationException();
186193
}
194+
195+
private String normalizeInstrumentationKey(String instrumentationKey){
196+
if (StringUtils.isEmpty(instrumentationKey) || StringUtils.containsOnly(instrumentationKey, ".- ")){
197+
return "";
198+
}
199+
else{
200+
return instrumentationKey.replace("-", "").toLowerCase() + ".";
201+
}
202+
}
203+
204+
private String getTelemetryName(String normalizedInstrumentationKey, String envelopType){
205+
return String.format(
206+
"%s%s%s",
207+
TELEMETRY_NAME_PREFIX,
208+
normalizedInstrumentationKey,
209+
envelopType
210+
);
211+
}
212+
187213
}

core/src/main/java/com/microsoft/applicationinsights/telemetry/EventTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public final class EventTelemetry extends BaseSampleSourceTelemetry<EventData> {
3737
/**
3838
* Envelope Name for this telemetry.
3939
*/
40-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.Event";
40+
private static final String ENVELOPE_NAME = "Event";
4141

4242

4343
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/ExceptionTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public final class ExceptionTelemetry extends BaseSampleSourceTelemetry<Exceptio
4242
/**
4343
* Envelope Name for this telemetry.
4444
*/
45-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.Exception";
45+
private static final String ENVELOPE_NAME = "Exception";
4646

4747

4848
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/MetricTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public final class MetricTelemetry extends BaseTelemetry<MetricData> {
3737
/**
3838
* Envelope Name for this telemetry.
3939
*/
40-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.Metric";
40+
private static final String ENVELOPE_NAME = "Metric";
4141

4242

4343
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/PageViewTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public final class PageViewTelemetry extends BaseSampleSourceTelemetry<PageViewD
4040
/**
4141
* Envelope Name for this telemetry.
4242
*/
43-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.PerformanceCounter";
43+
private static final String ENVELOPE_NAME = "PerformanceCounter";
4444

4545

4646
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/PerformanceCounterTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public final class PerformanceCounterTelemetry extends BaseTelemetry<Performance
3434
/**
3535
* Envelope Name for this telemetry.
3636
*/
37-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.PerformanceCounter";
37+
private static final String ENVELOPE_NAME = "PerformanceCounter";
3838

3939

4040
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/RemoteDependencyTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public final class RemoteDependencyTelemetry extends BaseSampleSourceTelemetry<R
3939
/**
4040
* Envelope Name for this telemetry.
4141
*/
42-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.RemoteDependency";
42+
private static final String ENVELOPE_NAME = "RemoteDependency";
4343

4444

4545
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/RequestTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public final class RequestTelemetry extends BaseSampleSourceTelemetry<RequestDat
4646
/**
4747
* Envelope Name for this telemetry.
4848
*/
49-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.Request";
49+
private static final String ENVELOPE_NAME = "Request";
5050

5151

5252
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/SessionStateTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public final class SessionStateTelemetry extends BaseTelemetry<SessionStateData>
3434
/**
3535
* Envelope Name for this telemetry.
3636
*/
37-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.SessionState";
37+
private static final String ENVELOPE_NAME = "SessionState";
3838

3939

4040
/**

core/src/main/java/com/microsoft/applicationinsights/telemetry/TraceTelemetry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public final class TraceTelemetry extends BaseSampleSourceTelemetry<MessageData>
3434
/**
3535
* Envelope Name for this telemetry.
3636
*/
37-
private static final String ENVELOPE_NAME = "Microsoft.ApplicationInsights.Message";
37+
private static final String ENVELOPE_NAME = "Message";
3838

3939

4040
/**

0 commit comments

Comments
 (0)