Skip to content

Commit 1c0518b

Browse files
authored
Merge branch 'micrometer-metrics:main' into connected-metrics-metadata
2 parents 627c2aa + f736232 commit 1c0518b

File tree

25 files changed

+301
-114
lines changed

25 files changed

+301
-114
lines changed

.circleci/config.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
version: 2.1
22

33
executors:
4-
circle-jdk8-executor:
4+
circle-jdk17-executor:
55
working_directory: ~/prometheus-rsocket-proxy
66
environment:
77
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
88
docker:
9-
- image: cimg/openjdk:8.0.322
9+
- image: cimg/openjdk:17.0.7
1010

1111
jobs:
1212
build:
13-
executor: circle-jdk8-executor
13+
executor: circle-jdk17-executor
1414
steps:
1515
- checkout
1616

@@ -46,7 +46,7 @@ jobs:
4646
path: test-results/
4747

4848
deploy:
49-
executor: circle-jdk8-executor
49+
executor: circle-jdk17-executor
5050
steps:
5151
- checkout
5252
- restore_cache:
@@ -62,6 +62,8 @@ workflows:
6262
jobs:
6363
- build
6464
- deploy:
65+
context:
66+
- deploy
6567
requires:
6668
- build
6769
filters:
@@ -78,6 +80,8 @@ workflows:
7880
tags:
7981
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/
8082
- deploy:
83+
context:
84+
- deploy
8185
requires:
8286
- build
8387
filters:

.github/dco.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
require:
2+
members: false

CONTRIBUTING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing Guide
2+
3+
This Contributing Guide is intended for those that would like to contribute to this repository.
4+
5+
If you would like to use any of the published modules in your project, you can instead
6+
include the artifacts from the Maven Central repository using your build tool of choice or the published container images.
7+
8+
## Code of Conduct
9+
10+
See [our Contributor Code of Conduct](https://github.com/micrometer-metrics/.github/blob/main/CODE_OF_CONDUCT.md).
11+
12+
## Contributions
13+
14+
Contributions come in various forms and are not limited to code changes. The community benefits from
15+
contributions in all forms.
16+
17+
For example, those with knowledge and experience can contribute by:
18+
19+
* Answering [Stackoverflow questions](https://stackoverflow.com/tags/prometheus-rsocket-proxy)
20+
* Answering questions on the [Micrometer slack](https://slack.micrometer.io)
21+
* Share knowledge in other ways (e.g. presentations, blogs)
22+
23+
The remainder of this document will focus on guidance for contributing code changes. It will help contributors to build,
24+
modify, or test the source code.
25+
26+
## Include a Signed Off By Trailer
27+
28+
All commits must include a *Signed-off-by* trailer at the end of each commit message to indicate that the contributor agrees to the [Developer Certificate of Origin](https://developercertificate.org).
29+
For additional details, please refer to the blog post [Hello DCO, Goodbye CLA: Simplifying Contributions to Spring](https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring).
30+
31+
## Getting the source
32+
33+
The source code is hosted on GitHub at https://github.com/micrometer-metrics/prometheus-rsocket-proxy. You can use a
34+
Git client to clone the source code to your local machine.
35+
36+
## Building
37+
38+
This project targets Java 17.
39+
40+
The Gradle wrapper is provided and should be used for building with a consistent version of Gradle.
41+
42+
The wrapper can be used with a command, for example, `./gradlew check` to build the project and check conventions.
43+
44+
## Importing into an IDE
45+
46+
This repository should be imported as a Gradle project into your IDE of choice.
47+
48+
## Testing changes locally
49+
50+
Specific modules or a test class can be run from your IDE for convenience.
51+
52+
The Gradle `check` task depends on the `test` task, and so tests will be run as part of a build as described previously.
53+
54+
### Publishing local snapshots
55+
56+
Run `./gradlew pTML` to publish a Maven-style snapshot to your Maven local repo. The build automatically calculates
57+
the "next" version for you when publishing snapshots.
58+
59+
These local snapshots can be used in another project to test the changes.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ or
6565
This will autoconfigure the Micrometer `PrometheusMeterRegistry`, a `PrometheusRSocketClient`, and a call to `pushAndClose` on application shutdown. The client will be configured to retry failing connections to the proxy. Retrying can be tuned with:
6666

6767
```yml
68-
management.metrics.export.prometheus.rsocket:
68+
micrometer.prometheus.rsocket:
6969
host: YOURPROXYHOSTHERE #required
7070
port: 7001
7171
max-retries: 10000 # default is Long.MAX_VALUE

build.gradle

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ buildscript {
99
}
1010

1111
dependencies {
12-
classpath 'com.netflix.nebula:nebula-release-plugin:16.0.0'
13-
classpath 'com.netflix.nebula:nebula-publishing-plugin:18.4.0'
14-
classpath 'com.netflix.nebula:nebula-project-plugin:9.4.0'
15-
classpath 'io.spring.nohttp:nohttp-gradle:0.0.10'
16-
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
12+
classpath 'com.netflix.nebula:nebula-release-plugin:18.0.8'
13+
classpath 'com.netflix.nebula:nebula-publishing-plugin:21.0.0'
14+
classpath 'com.netflix.nebula:nebula-project-plugin:11.0.0'
15+
classpath 'io.spring.nohttp:nohttp-gradle:0.0.11'
16+
classpath 'io.github.gradle-nexus:publish-plugin:1.3.0'
1717
}
1818

1919
configurations.classpath.resolutionStrategy.cacheDynamicVersionsFor 0, 'minutes'
2020
}
2121

2222
// TODO: remove this hack, see: https://github.com/nebula-plugins/nebula-release-plugin/issues/213
2323
def releaseStage = findProperty('release.stage')
24-
apply plugin: 'nebula.release'
24+
apply plugin: 'com.netflix.nebula.release'
2525
release.defaultVersionStrategy = nebula.plugin.release.git.opinion.Strategies.SNAPSHOT
2626

2727
apply plugin: 'io.github.gradle-nexus.publish-plugin'
@@ -39,40 +39,40 @@ subprojects {
3939
apply plugin: 'java'
4040
apply plugin: 'checkstyle'
4141
apply plugin: 'io.spring.nohttp'
42-
apply plugin: 'nebula.maven-publish'
43-
apply plugin: 'nebula.maven-manifest'
44-
apply plugin: 'nebula.maven-developer'
45-
apply plugin: 'nebula.javadoc-jar'
46-
apply plugin: 'nebula.source-jar'
47-
apply plugin: 'nebula.maven-apache-license'
48-
apply plugin: 'nebula.publish-verification'
49-
apply plugin: 'nebula.contacts'
50-
apply plugin: 'nebula.info'
51-
apply plugin: 'nebula.project'
42+
apply plugin: 'com.netflix.nebula.maven-publish'
43+
apply plugin: 'com.netflix.nebula.maven-manifest'
44+
apply plugin: 'com.netflix.nebula.maven-developer'
45+
apply plugin: 'com.netflix.nebula.javadoc-jar'
46+
apply plugin: 'com.netflix.nebula.source-jar'
47+
apply plugin: 'com.netflix.nebula.maven-apache-license'
48+
apply plugin: 'com.netflix.nebula.publish-verification'
49+
apply plugin: 'com.netflix.nebula.contacts'
50+
apply plugin: 'com.netflix.nebula.info'
51+
apply plugin: 'com.netflix.nebula.project'
5252

5353
dependencies {
5454
checkstyle 'io.spring.javaformat:spring-javaformat-checkstyle:latest.release'
5555
}
5656

5757
compileJava {
5858
options.encoding = 'UTF-8'
59-
sourceCompatibility = JavaVersion.VERSION_1_8
60-
targetCompatibility = JavaVersion.VERSION_1_8
59+
sourceCompatibility = JavaVersion.VERSION_17
60+
targetCompatibility = JavaVersion.VERSION_17
6161

62-
// ensure Java 8 baseline is enforced
63-
if (JavaVersion.current().isJava9Compatible()) {
64-
options.release = 8
62+
// ensure Java 17 baseline is enforced when building with higher versions
63+
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_18)) {
64+
options.release = 17
6565
}
6666
}
6767

6868
compileTestJava {
6969
options.encoding = 'UTF-8'
70-
sourceCompatibility = JavaVersion.VERSION_1_8
71-
targetCompatibility = JavaVersion.VERSION_1_8
70+
sourceCompatibility = JavaVersion.VERSION_17
71+
targetCompatibility = JavaVersion.VERSION_17
7272

73-
// ensure Java 8 baseline is enforced
74-
if (JavaVersion.current().isJava9Compatible()) {
75-
options.release = 8
73+
// ensure Java 17 baseline is enforced when building with higher versions
74+
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_18)) {
75+
options.release = 17
7676
}
7777
}
7878

@@ -196,7 +196,7 @@ task deleteLockFiles (type: Delete) {
196196
}
197197

198198
wrapper {
199-
gradleVersion = '7.6'
199+
gradleVersion = '8.10'
200200
}
201201

202202
defaultTasks 'build'

client/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ repositories {
88

99
dependencies {
1010
api 'io.rsocket:rsocket-core:1.1.+'
11-
api 'io.micrometer:micrometer-registry-prometheus:1.9.2'
11+
api 'io.micrometer:micrometer-registry-prometheus:1.13.+'
1212
implementation 'org.xerial.snappy:snappy-java:latest.release'
1313

14-
testImplementation 'ch.qos.logback:logback-classic:1.2.+'
15-
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.+'
14+
testImplementation 'ch.qos.logback:logback-classic:1.4.+'
15+
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.+'
1616
testImplementation 'io.rsocket:rsocket-transport-netty:1.1.+'
1717
testImplementation 'io.rsocket:rsocket-transport-local:1.1.+'
1818
testImplementation 'org.assertj:assertj-core:latest.release'

0 commit comments

Comments
 (0)