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; + } }