Skip to content

Commit d52765e

Browse files
committed
Configuration updates
1 parent a0968f0 commit d52765e

File tree

4 files changed

+11
-26
lines changed

4 files changed

+11
-26
lines changed

agent/agent-bootstrap/src/main/java/com/microsoft/applicationinsights/agent/bootstrap/configuration/InstrumentationSettings.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import java.util.Map;
2727
import java.util.concurrent.TimeUnit;
2828

29+
import static java.util.concurrent.TimeUnit.MINUTES;
30+
2931
public class InstrumentationSettings {
3032

3133
public String connectionString;
@@ -39,7 +41,6 @@ public static class PreviewConfiguration {
3941
public Sampling sampling = new Sampling();
4042
public Heartbeat heartbeat = new Heartbeat();
4143
public HttpProxy httpProxy = new HttpProxy();
42-
public LiveMetrics liveMetrics = new LiveMetrics();
4344
public boolean developerMode;
4445

4546
public List<JmxMetric> jmxMetrics = Collections.emptyList();
@@ -67,8 +68,7 @@ public static class FixedRateSampling {
6768

6869
public static class Heartbeat {
6970

70-
public boolean enabled = true;
71-
public long intervalSeconds = TimeUnit.MINUTES.toSeconds(15);
71+
public long intervalSeconds = MINUTES.toSeconds(15);
7272
}
7373

7474
public static class HttpProxy {
@@ -77,11 +77,6 @@ public static class HttpProxy {
7777
public int port = 80;
7878
}
7979

80-
public static class LiveMetrics {
81-
82-
public boolean enabled = true;
83-
}
84-
8580
public static class JmxMetric {
8681

8782
public String objectName;

agent/agent-bootstrap/src/test/java/com/microsoft/applicationinsights/agent/bootstrap/configuration/ConfigurationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void shouldParse() throws IOException {
3030
assertEquals("Something Good", preview.roleName);
3131
assertEquals("xyz123", preview.roleInstance);
3232
assertEquals((Double) 10.0, preview.sampling.fixedRate.percentage);
33-
assertEquals(false, preview.liveMetrics.enabled);
33+
assertEquals(60, preview.heartbeat.intervalSeconds);
3434
assertEquals(3, preview.jmxMetrics.size());
3535
assertEquals("java.lang:type=Threading", preview.jmxMetrics.get(0).objectName);
3636
assertEquals("ThreadCount", preview.jmxMetrics.get(0).attribute);
@@ -58,7 +58,7 @@ public void shouldUseDefaults() throws IOException {
5858
assertEquals(null, instrumentationSettings.connectionString);
5959
assertEquals(null, preview.roleName);
6060
assertEquals(null, preview.roleInstance);
61-
assertEquals(true, preview.liveMetrics.enabled);
61+
assertEquals(900, preview.heartbeat.intervalSeconds);
6262
assertEquals(0, preview.jmxMetrics.size());
6363
assertEquals(0, preview.instrumentation.size());
6464
}

agent/agent-bootstrap/src/test/resources/ApplicationInsights.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,7 @@
2727
}
2828
},
2929
"heartbeat": {
30-
"enabled": true,
31-
"intervalSeconds": 900
32-
},
33-
"liveMetrics": {
34-
"enabled": false
30+
"intervalSeconds": 60
3531
},
3632
"instrumentation": {
3733
"logging": {

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/BeforeAgentInstaller.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@
2828
import java.util.Map;
2929
import java.util.Properties;
3030
import java.util.concurrent.CountDownLatch;
31-
import java.util.concurrent.ExecutionException;
32-
import java.util.concurrent.Future;
3331
import java.util.concurrent.TimeUnit;
34-
import java.util.concurrent.TimeoutException;
3532

3633
import com.google.common.base.Strings;
3734
import com.microsoft.applicationinsights.TelemetryClient;
@@ -64,12 +61,13 @@
6461
import io.opentelemetry.auto.bootstrap.instrumentation.aiappid.AiAppId;
6562
import io.opentelemetry.auto.config.Config;
6663
import io.opentelemetry.auto.config.ConfigOverride;
67-
import io.opentelemetry.sdk.OpenTelemetrySdk;
6864
import org.apache.http.HttpHost;
6965
import org.checkerframework.checker.nullness.qual.Nullable;
7066
import org.slf4j.Logger;
7167
import org.slf4j.LoggerFactory;
7268

69+
import static java.util.concurrent.TimeUnit.MINUTES;
70+
7371
public class BeforeAgentInstaller {
7472

7573
private static Logger startupLogger = LoggerFactory.getLogger("com.microsoft.applicationinsights.agent");
@@ -249,17 +247,13 @@ private static ApplicationInsightsXmlConfiguration buildXmlConfiguration(Instrum
249247
if (!Strings.isNullOrEmpty(config.preview.roleInstance)) {
250248
xmlConfiguration.setRoleInstance(config.preview.roleInstance);
251249
}
252-
if (!config.preview.liveMetrics.enabled) {
253-
xmlConfiguration.getQuickPulse().setEnabled(false);
254-
}
255250

256251
// configure heartbeat module
257252
AddTypeXmlElement heartbeatModule = new AddTypeXmlElement();
258253
heartbeatModule.setType("com.microsoft.applicationinsights.internal.heartbeat.HeartBeatModule");
259-
heartbeatModule.getParameters().add(newParamXml("isHeartBeatEnabled",
260-
Boolean.toString(config.preview.heartbeat.enabled)));
261-
heartbeatModule.getParameters().add(newParamXml("HeartBeatInterval",
262-
Long.toString(config.preview.heartbeat.intervalSeconds)));
254+
// do not allow interval longer than 15 minutes, since we use the heartbeat data for usage telemetry
255+
long intervalSeconds = Math.min(config.preview.heartbeat.intervalSeconds, MINUTES.toSeconds(15));
256+
heartbeatModule.getParameters().add(newParamXml("HeartBeatInterval", Long.toString(intervalSeconds)));
263257
ArrayList<AddTypeXmlElement> modules = new ArrayList<>();
264258
modules.add(heartbeatModule);
265259
TelemetryModulesXmlElement modulesXml = new TelemetryModulesXmlElement();

0 commit comments

Comments
 (0)