diff --git a/.gradle/5.2.1/executionHistory/executionHistory.bin b/.gradle/5.2.1/executionHistory/executionHistory.bin
new file mode 100644
index 0000000..a4d8ea0
--- /dev/null
+++ b/.gradle/5.2.1/executionHistory/executionHistory.bin
Binary files differ
diff --git a/.gradle/5.2.1/executionHistory/executionHistory.lock b/.gradle/5.2.1/executionHistory/executionHistory.lock
new file mode 100644
index 0000000..05da41f
--- /dev/null
+++ b/.gradle/5.2.1/executionHistory/executionHistory.lock
Binary files differ
diff --git a/.gradle/5.2.1/fileChanges/last-build.bin b/.gradle/5.2.1/fileChanges/last-build.bin
new file mode 100644
index 0000000..f76dd23
--- /dev/null
+++ b/.gradle/5.2.1/fileChanges/last-build.bin
Binary files differ
diff --git a/.gradle/5.2.1/fileContent/fileContent.lock b/.gradle/5.2.1/fileContent/fileContent.lock
new file mode 100644
index 0000000..161f757
--- /dev/null
+++ b/.gradle/5.2.1/fileContent/fileContent.lock
Binary files differ
diff --git a/.gradle/5.2.1/fileHashes/fileHashes.bin b/.gradle/5.2.1/fileHashes/fileHashes.bin
new file mode 100644
index 0000000..e4c3ade
--- /dev/null
+++ b/.gradle/5.2.1/fileHashes/fileHashes.bin
Binary files differ
diff --git a/.gradle/5.2.1/fileHashes/fileHashes.lock b/.gradle/5.2.1/fileHashes/fileHashes.lock
new file mode 100644
index 0000000..131f1a1
--- /dev/null
+++ b/.gradle/5.2.1/fileHashes/fileHashes.lock
Binary files differ
diff --git a/.gradle/5.2.1/gc.properties b/.gradle/5.2.1/gc.properties
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.gradle/5.2.1/gc.properties
diff --git a/.gradle/5.2.1/javaCompile/classAnalysis.bin b/.gradle/5.2.1/javaCompile/classAnalysis.bin
new file mode 100644
index 0000000..354c964
--- /dev/null
+++ b/.gradle/5.2.1/javaCompile/classAnalysis.bin
Binary files differ
diff --git a/.gradle/5.2.1/javaCompile/javaCompile.lock b/.gradle/5.2.1/javaCompile/javaCompile.lock
new file mode 100644
index 0000000..bd31af6
--- /dev/null
+++ b/.gradle/5.2.1/javaCompile/javaCompile.lock
Binary files differ
diff --git a/.gradle/5.2.1/javaCompile/taskHistory.bin b/.gradle/5.2.1/javaCompile/taskHistory.bin
new file mode 100644
index 0000000..a03a1aa
--- /dev/null
+++ b/.gradle/5.2.1/javaCompile/taskHistory.bin
Binary files differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000..5d9842e
--- /dev/null
+++ b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Binary files differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..cce9e07
--- /dev/null
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Sun Oct 22 18:50:26 JST 2023
+gradle.version=5.2.1
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000..67116ec
--- /dev/null
+++ b/.gradle/buildOutputCleanup/outputFiles.bin
Binary files differ
diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.gradle/vcs-1/gc.properties
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..1d8d434
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..ba1ec5c
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..fdc392f
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..3e79c5f
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/classes/java/main/com/sample/SampleApplication.class b/build/classes/java/main/com/sample/SampleApplication.class
new file mode 100644
index 0000000..6ddaa96
--- /dev/null
+++ b/build/classes/java/main/com/sample/SampleApplication.class
Binary files differ
diff --git a/build/classes/java/main/com/sample/controller/SampleController$SampleDto$SampleDtoBuilder.class b/build/classes/java/main/com/sample/controller/SampleController$SampleDto$SampleDtoBuilder.class
new file mode 100644
index 0000000..7751bf8
--- /dev/null
+++ b/build/classes/java/main/com/sample/controller/SampleController$SampleDto$SampleDtoBuilder.class
Binary files differ
diff --git a/build/classes/java/main/com/sample/controller/SampleController$SampleDto.class b/build/classes/java/main/com/sample/controller/SampleController$SampleDto.class
new file mode 100644
index 0000000..915a121
--- /dev/null
+++ b/build/classes/java/main/com/sample/controller/SampleController$SampleDto.class
Binary files differ
diff --git a/build/classes/java/main/com/sample/controller/SampleController.class b/build/classes/java/main/com/sample/controller/SampleController.class
new file mode 100644
index 0000000..6609768
--- /dev/null
+++ b/build/classes/java/main/com/sample/controller/SampleController.class
Binary files differ
diff --git a/src/main/java/com/sample/controller/SampleController.java b/src/main/java/com/sample/controller/SampleController.java
index b92ff3a..da22eb3 100644
--- a/src/main/java/com/sample/controller/SampleController.java
+++ b/src/main/java/com/sample/controller/SampleController.java
@@ -1,9 +1,12 @@
package com.sample.controller;
import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.Timer;
import io.micrometer.prometheus.PrometheusConfig;
import io.micrometer.prometheus.PrometheusMeterRegistry;
import io.prometheus.client.exporter.common.TextFormat;
+import java.util.Random;
+import java.util.concurrent.TimeUnit;
import lombok.Data;
import lombok.Builder;
import org.springframework.http.HttpHeaders;
@@ -17,30 +20,43 @@
@RequestMapping("/sample")
public class SampleController {
- private final PrometheusMeterRegistry prometheusMeterRegistry;
- private final Counter helloCounter;
+ private final PrometheusMeterRegistry prometheusMeterRegistry;
+ private final Counter helloCounter;
- public SampleController() {
- prometheusMeterRegistry= new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
- helloCounter = prometheusMeterRegistry.counter("hoge.counter", "group", "A", "sub-group", "B");
- }
+ public SampleController() {
+ prometheusMeterRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
+ helloCounter = prometheusMeterRegistry.counter("hoge.counter", "group", "A", "sub-group", "B");
+ }
- @GetMapping("/prometheus")
- public ResponseEntity prometheus() {
- return ResponseEntity.ok()
- .header(HttpHeaders.CONTENT_TYPE, TextFormat.CONTENT_TYPE_004)
- .body(prometheusMeterRegistry.scrape());
- }
+ @GetMapping("/prometheus")
+ public ResponseEntity prometheus() {
+ return ResponseEntity.ok()
+ .header(HttpHeaders.CONTENT_TYPE, TextFormat.CONTENT_TYPE_004)
+ .body(prometheusMeterRegistry.scrape());
+ }
- @GetMapping("/hello")
- public SampleDto hello() {
- helloCounter.increment();
- return SampleDto.builder().msg("hello").build();
- }
+ @GetMapping("/hello")
+ public SampleDto hello() {
+ helloCounter.increment();
+ Timer.builder("hoge.timer")
+ .tag("group", "A")
+ .publishPercentiles(0.5, 0.75, 0.95)
+ .register(prometheusMeterRegistry)
+ .record(() -> {
+ try {
+ Random rand = new Random();
+ TimeUnit.MILLISECONDS.sleep(rand.nextInt(500));
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ });
+ return SampleDto.builder().msg("hello").build();
+ }
- @Builder
- @Data
- private static class SampleDto {
- private String msg;
- }
+ @Builder
+ @Data
+ private static class SampleDto {
+
+ private String msg;
+ }
}