Skip to content

Commit 62f29f2

Browse files
committed
added micrometer for observability
1 parent 73f530e commit 62f29f2

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<properties>
3434
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3535

36-
<sliceworkz.eventstore.version>0.3.5</sliceworkz.eventstore.version>
36+
<sliceworkz.eventstore.version>0.4.0</sliceworkz.eventstore.version>
3737

3838
<maven.minimal-version>3.6.3</maven.minimal-version>
3939

sliceworkz-eventmodeling-api/src/main/java/org/sliceworkz/eventmodeling/boundedcontext/BoundedContextBuilder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import org.sliceworkz.eventmodeling.slices.FeatureSliceConfiguration;
3030
import org.sliceworkz.eventstore.spi.EventStorage;
3131

32+
import io.micrometer.core.instrument.MeterRegistry;
33+
3234
public interface BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> {
3335

3436
BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> name(String name);
@@ -40,6 +42,8 @@ BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE
4042

4143
BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> instance(Instance instance);
4244

45+
BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> meterRegistry(MeterRegistry meterRegistry);
46+
4347
BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> featureDeployFilter(Predicate<FeatureSliceConfiguration<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE>> featureDeployFilter);
4448

4549
BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> eventStorage(EventStorage eventStorage);

sliceworkz-eventmodeling-impl/src/main/java/org/sliceworkz/eventmodeling/module/boundedcontext/BoundedContextBuilderImpl.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
import org.sliceworkz.eventstore.stream.EventStream;
5656
import org.sliceworkz.eventstore.stream.EventStreamId;
5757

58+
import io.micrometer.core.instrument.MeterRegistry;
59+
import io.micrometer.core.instrument.Metrics;
60+
5861
public class BoundedContextBuilderImpl<DOMAIN_EVENT_TYPE,INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> implements BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> {
5962

6063
static {
@@ -77,6 +80,8 @@ public class BoundedContextBuilderImpl<DOMAIN_EVENT_TYPE,INBOUND_EVENT_TYPE, OUT
7780
private Class<INBOUND_EVENT_TYPE> inboundEventRootType;
7881
private Class<OUTBOUND_EVENT_TYPE> outboundEventRootType;
7982

83+
private MeterRegistry meterRegistry = Metrics.globalRegistry;
84+
8085
private EventStorage eventStorage;
8186

8287
private Instance instance;
@@ -105,6 +110,12 @@ public BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVE
105110
return this;
106111
}
107112

113+
@Override
114+
public BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> meterRegistry ( MeterRegistry meterRegistry ) {
115+
this.meterRegistry = meterRegistry;
116+
return this;
117+
}
118+
108119
@Override
109120
public BoundedContextBuilder<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND_EVENT_TYPE> rootPackage ( Package rootPackage ) {
110121
this.rootPackage = rootPackage;
@@ -213,7 +224,7 @@ public <T extends BoundedContext<DOMAIN_EVENT_TYPE, INBOUND_EVENT_TYPE, OUTBOUND
213224
EventStream<OUTBOUND_EVENT_TYPE> outboundEventStream;
214225
EventStream<KernelEvent> observabilityEventStream;
215226

216-
EventStore eventStore = EventStoreFactory.get().eventStore(eventStorage);
227+
EventStore eventStore = EventStoreFactory.get().eventStore(eventStorage, meterRegistry);
217228
domainEventStream = eventStore.getEventStream(EventStreamId.forContext(name).withPurpose("domain"), domainEventRootType);
218229
inboundEventStream = eventStore.getEventStream(EventStreamId.forContext(name).withPurpose("inbound"), inboundEventRootType);
219230
outboundEventStream = eventStore.getEventStream(EventStreamId.forContext(name).withPurpose("outbound"), outboundEventRootType);

sliceworkz-eventmodeling-parent-pom/pom.xml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<slf4j.version>2.0.17</slf4j.version>
3939
<junit-jupiter.version>6.0.1</junit-jupiter.version>
4040
<postgresql.jdbc.version>42.7.8</postgresql.jdbc.version>
41+
<micrometer.version>1.16.0</micrometer.version>
4142

4243
<testcontainers.postgresql.version>1.21.3</testcontainers.postgresql.version>
4344
<archunit.version>1.4.1</archunit.version>
@@ -110,6 +111,14 @@
110111
<scope>test</scope>
111112
</dependency>
112113

114+
<!-- micrometer -->
115+
<dependency>
116+
<groupId>io.micrometer</groupId>
117+
<artifactId>micrometer-core</artifactId>
118+
<version>${micrometer.version}</version>
119+
<optional>true</optional>
120+
</dependency>
121+
113122
</dependencies>
114123
</dependencyManagement>
115124

@@ -130,7 +139,14 @@
130139
<artifactId>slf4j-simple</artifactId>
131140
<scope>test</scope>
132141
</dependency>
133-
142+
143+
<!-- micrometer -->
144+
<dependency>
145+
<groupId>io.micrometer</groupId>
146+
<artifactId>micrometer-core</artifactId>
147+
<optional>true</optional>
148+
</dependency>
149+
134150
</dependencies>
135151

136152
<build>

0 commit comments

Comments
 (0)