Skip to content

Commit 43341a3

Browse files
committed
Add actuator metrics support
1 parent 697f57f commit 43341a3

File tree

11 files changed

+108
-1
lines changed

11 files changed

+108
-1
lines changed

opentelemetry-auto-instr-java

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ include ':test:smoke:testApps:JMS'
8181
include ':test:smoke:testApps:Kafka'
8282
include ':test:smoke:testApps:SpringCloudStream'
8383
include ':test:smoke:testApps:Micrometer'
84+
include ':test:smoke:testApps:ActuatorMetrics'
8485
include ':test:smoke:testApps:SystemExit'
8586
include ':test:smoke:testApps:VerifyShading'
8687
include ':test:smoke:testApps:VerifyJava7'
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
plugins {
2+
id 'java'
3+
id 'org.springframework.boot' version '2.1.7.RELEASE'
4+
}
5+
6+
sourceCompatibility = 1.8
7+
targetCompatibility = 1.8
8+
compileSmokeTestJava.sourceCompatibility = 1.8
9+
compileSmokeTestJava.targetCompatibility = 1.8
10+
11+
ext.testAppArtifactDir = jar.destinationDirectory
12+
ext.testAppArtifactFilename = jar.archiveFileName.get()
13+
14+
dependencies {
15+
compileOnly aiAgentJar // this is just to force building the agent first
16+
17+
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.7.RELEASE'
18+
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '2.1.7.RELEASE'
19+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.microsoft.ajl.simple;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
6+
@SpringBootApplication
7+
public class SpringBootApp {
8+
9+
public static void main(String[] args) {
10+
11+
SpringApplication.run(SpringBootApp.class, args);
12+
}
13+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.microsoft.ajl.simple;
2+
3+
import org.springframework.web.bind.annotation.GetMapping;
4+
import org.springframework.web.bind.annotation.RestController;
5+
6+
@RestController
7+
public class TestController {
8+
9+
@GetMapping("/")
10+
public String root() {
11+
return "OK";
12+
}
13+
14+
@GetMapping("/test")
15+
public String test() {
16+
return "OK!";
17+
}
18+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
management.metrics.export.azuremonitor.instrumentation-key=00000000-0000-0000-0000-000000000000
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.microsoft.applicationinsights.smoketest;
2+
3+
import java.util.List;
4+
5+
import com.microsoft.applicationinsights.internal.schemav2.DataPoint;
6+
import com.microsoft.applicationinsights.internal.schemav2.DataPointType;
7+
import com.microsoft.applicationinsights.internal.schemav2.MetricData;
8+
import org.junit.*;
9+
10+
import static org.junit.Assert.*;
11+
12+
@UseAgent("Micrometer")
13+
public class MicrometerTest extends AiSmokeTest {
14+
15+
@Test
16+
@TargetUri("/test")
17+
public void doMostBasicTest() throws Exception {
18+
mockedIngestion.waitForItems("RequestData", 1);
19+
20+
mockedIngestion.waitForItems("MetricData", 1);
21+
22+
List<MetricData> metrics = mockedIngestion.getTelemetryDataByType("MetricData");
23+
24+
assertEquals(1, metrics.size());
25+
26+
List<DataPoint> points = metrics.get(0).getMetrics();
27+
28+
assertEquals(1, points.size());
29+
30+
DataPoint point = points.get(0);
31+
32+
assertEquals(DataPointType.Measurement, point.getKind());
33+
assertEquals(1, point.getValue(), 0);
34+
assertEquals("test_counter", point.getName());
35+
assertNull("getCount was non-null", point.getCount());
36+
assertNull("getMin was non-null", point.getMin());
37+
assertNull("getMax was non-null", point.getMax());
38+
assertNull("getStdDev was non-null", point.getStdDev());
39+
}
40+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
`jre.excludes.txt` is needed because Spring Boot 2 and Micrometer do not support Java 7
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
javase
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
azul/zulu-openjdk:7

0 commit comments

Comments
 (0)