Skip to content

Commit 09f82dc

Browse files
committed
Merge branch 'master' of github.com:avaje/avaje-metrics
2 parents 145f1f4 + f234801 commit 09f82dc

34 files changed

+215
-90
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ jobs:
1717
os: [ubuntu-latest]
1818

1919
steps:
20-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v4
2121
- name: Set up Java
2222
uses: actions/setup-java@v2
2323
with:
2424
java-version: ${{ matrix.java_version }}
2525
distribution: 'zulu'
2626
- name: Maven cache
27-
uses: actions/cache@v2
27+
uses: actions/cache@v4
2828
env:
2929
cache-name: maven-cache
3030
with:

metrics-ebean/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
34
<parent>
45
<artifactId>avaje-metrics-parent</artifactId>
56
<groupId>io.avaje</groupId>
6-
<version>9.4</version>
7+
<version>9.5</version>
78
</parent>
8-
<modelVersion>4.0.0</modelVersion>
99

1010
<artifactId>avaje-metrics-ebean</artifactId>
1111

@@ -24,14 +24,14 @@
2424
<dependency>
2525
<groupId>io.avaje</groupId>
2626
<artifactId>avaje-metrics</artifactId>
27-
<version>9.4</version>
27+
<version>9.5</version>
2828
<scope>provided</scope>
2929
</dependency>
3030

3131
<dependency>
3232
<groupId>io.ebean</groupId>
3333
<artifactId>ebean-api</artifactId>
34-
<version>13.11.0</version>
34+
<version>14.10.0</version>
3535
<scope>provided</scope>
3636
</dependency>
3737

metrics-graphite/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
<parent>
55
<artifactId>avaje-metrics-parent</artifactId>
66
<groupId>io.avaje</groupId>
7-
<version>9.4</version>
7+
<version>9.5</version>
88
</parent>
99

1010
<artifactId>avaje-metrics-graphite</artifactId>
11-
<version>9.4</version>
11+
<version>9.5</version>
1212

1313
<properties>
1414
<surefire.useModulePath>false</surefire.useModulePath>
@@ -25,13 +25,13 @@
2525
<dependency>
2626
<groupId>io.avaje</groupId>
2727
<artifactId>avaje-metrics</artifactId>
28-
<version>9.4</version>
28+
<version>9.5</version>
2929
</dependency>
3030

3131
<dependency>
3232
<groupId>io.ebean</groupId>
3333
<artifactId>ebean-api</artifactId>
34-
<version>13.19.0</version>
34+
<version>14.10.0</version>
3535
<optional>true</optional>
3636
</dependency>
3737

metrics/pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.avaje</groupId>
55
<artifactId>avaje-metrics-parent</artifactId>
6-
<version>9.4</version>
6+
<version>9.5</version>
77
</parent>
88

99
<artifactId>avaje-metrics</artifactId>
@@ -20,6 +20,12 @@
2020
<version>1.0</version>
2121
</dependency>
2222

23+
<dependency>
24+
<groupId>org.jspecify</groupId>
25+
<artifactId>jspecify</artifactId>
26+
<version>1.0.0</version>
27+
</dependency>
28+
2329
<dependency>
2430
<groupId>io.avaje</groupId>
2531
<artifactId>junit</artifactId>
@@ -30,14 +36,14 @@
3036
<dependency>
3137
<groupId>com.fasterxml.jackson.core</groupId>
3238
<artifactId>jackson-core</artifactId>
33-
<version>2.17.0</version>
39+
<version>2.18.3</version>
3440
<scope>test</scope>
3541
</dependency>
3642

3743
<dependency>
3844
<groupId>com.fasterxml.jackson.core</groupId>
3945
<artifactId>jackson-databind</artifactId>
40-
<version>2.17.0</version>
46+
<version>2.18.3</version>
4147
<scope>test</scope>
4248
</dependency>
4349

metrics/src/main/java/io/avaje/metrics/DScheduledTask.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ public void start() {
6565

6666
@Override
6767
public boolean cancel(boolean mayInterruptIfRunning) {
68+
if (backgroundTask == null) {
69+
return false;
70+
}
6871
return this.backgroundTask.cancel(mayInterruptIfRunning);
6972
}
7073

metrics/src/main/java/io/avaje/metrics/JvmMetrics.java

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,31 +41,91 @@ public interface JvmMetrics {
4141

4242
/**
4343
* Register a metric for OS load.
44+
*
45+
* <h4>Base metrics</h4>
46+
* <ul>
47+
* <li>jvm.os.loadAverage</li>
48+
* </ul>
4449
*/
4550
JvmMetrics registerJvmOsLoadMetric();
4651

4752
/**
4853
* Register metrics for GC activity.
54+
*
55+
* <h4>Base metrics</h4>
56+
* <ul>
57+
* <li>jvm.gc.time</li>
58+
* </ul>
59+
*
60+
* <h4>Extra metrics with {@link #withDetails()} enabled</h4>
61+
* <p>
62+
* count and time for each Garbage Collector being used.
63+
* </p>
4964
*/
5065
JvmMetrics registerJvmGCMetrics();
5166

5267
/**
5368
* Register metrics for the total number of threads allocated.
69+
*
70+
* <h4>Base metrics</h4>
71+
* <ul>
72+
* <li>jvm.threads.current</li>
73+
* </ul>
74+
*
75+
* <h4>Extra metrics with {@link #withDetails()} enabled</h4>
76+
* <ul>
77+
* <li>jvm.thread.daemon</li>
78+
* <li>jvm.threads.peak</li>
79+
* </ul>
5480
*/
5581
JvmMetrics registerJvmThreadMetrics();
5682

5783
/**
5884
* Register metrics for heap and non-heap memory.
85+
*
86+
* <h4>Base metrics</h4>
87+
* <ul>
88+
* <li>jvm.memory.heap.used</li>
89+
* <li>jvm.memory.heap.committed</li>
90+
* <li>jvm.memory.heap.max</li>
91+
* <li>jvm.memory.nonheap.used</li>
92+
* <li>jvm.memory.nonheap.committed</li>
93+
* <li>jvm.memory.nonheap.max</li>
94+
* </ul>
5995
*/
6096
JvmMetrics registerJvmMemoryMetrics();
6197

6298
/**
6399
* Register metrics for VMRSS process memory (if supported on the platform).
100+
*
101+
* <h4>Base metrics</h4>
102+
* <ul>
103+
* <li>jvm.memory.process.vmrss</li>
104+
* <li>jvm.memory.process.vmhwm</li>
105+
* </ul>
64106
*/
65107
JvmMetrics registerProcessMemoryMetrics();
66108

67109
/**
68110
* Register CGroup metrics for CPU usage time, throttle time, requests and limits.
111+
*
112+
* <h4>Base metrics</h4>
113+
* <ul>
114+
* <li>jvm.cgroup.cpu.requests</li>
115+
* <li>jvm.cgroup.cpu.limit (if a limit is applied)</li>
116+
* <li>jvm.cgroup.cpu.usageMicros</li>
117+
* <li>jvm.cgroup.cpu.throttleMicros</li>
118+
* <li>jvm.cgroup.memory.usage</li>
119+
* <li>jvm.cgroup.memory.limit/li>
120+
* <li>jvm.cgroup.memory.pctUsage/li>
121+
* </ul>
122+
*
123+
* <h4>Extra metrics with {@link #withDetails()} enabled</h4>
124+
* <ul>
125+
* <li>jvm.cgroup.cpu.numPeriod</li>
126+
* <li>jvm.cgroup.cpu.numThrottle</li>
127+
* <li>jvm.cgroup.cpu.pctThrottle/li>
128+
* </ul>
69129
*/
70130
JvmMetrics registerCGroupMetrics();
71131

metrics/src/main/java/io/avaje/metrics/ScheduledTask.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ static Builder builder() {
2525

2626
/**
2727
* Cancel the scheduled task.
28+
* @return true if the task was cancelled otherwise false
2829
*/
2930
boolean cancel(boolean mayInterruptIfRunning);
3031

metrics/src/main/java/io/avaje/metrics/Timer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.avaje.metrics;
22

3+
import org.jspecify.annotations.Nullable;
4+
35
import java.util.function.Supplier;
46

57
/**
@@ -122,7 +124,7 @@ public interface Timer extends Metric {
122124
/**
123125
* Return the bucket range or empty string if not a bucket.
124126
*/
125-
String bucketRange();
127+
@Nullable String bucketRange();
126128

127129
/**
128130
* Statistics collected by Timer.
@@ -132,7 +134,7 @@ interface Stats extends Meter.Stats {
132134
/**
133135
* Return the bucket range for these statistics.
134136
*/
135-
default String bucketRange() {
137+
default @Nullable String bucketRange() {
136138
return null;
137139
}
138140
}

metrics/src/main/java/io/avaje/metrics/core/BaseReportName.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package io.avaje.metrics.core;
22

33
import io.avaje.metrics.Metric;
4+
import org.jspecify.annotations.Nullable;
45

56
abstract class BaseReportName {
67

78
final String name;
8-
String reportName;
9+
@Nullable String reportName;
910

1011
BaseReportName(String name) {
1112
this.name = name;

metrics/src/main/java/io/avaje/metrics/core/DBucketTimer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.avaje.metrics.core;
22

33
import io.avaje.metrics.Timer;
4+
import org.jspecify.annotations.Nullable;
45

56
import java.util.function.Supplier;
67

@@ -27,7 +28,7 @@ public String toString() {
2728
}
2829

2930
@Override
30-
public String bucketRange() {
31+
public @Nullable String bucketRange() {
3132
return null;
3233
}
3334

0 commit comments

Comments
 (0)