Skip to content

Commit bd03f57

Browse files
committed
Telemetry factory cleanup and standartized (#669)
Telemetry factory cleanup Telemetry factory cleanup
1 parent 8466260 commit bd03f57

77 files changed

Lines changed: 555 additions & 1183 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cache/cache-redis/src/main/java/io/koraframework/cache/redis/RedisCacheConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ default Map<String, String> attributes() {
4646
}
4747

4848
@ConfigValueExtractor
49-
interface RedisCacheLoggingConfig extends TelemetryConfig.LogConfig {
49+
interface RedisCacheLoggingConfig extends TelemetryConfig.LoggingConfig {
5050
}
5151

5252
@ConfigValueExtractor

database/database-cassandra/src/test/java/io/koraframework/database/cassandra/CassandraDatabaseTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ private static CassandraDatabase createCassandraDatabase(CassandraParams params)
5959
params.password()
6060
),
6161
new $DatabaseTelemetryConfig_ConfigValueExtractor.DatabaseTelemetryConfig_Impl(
62-
new $DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor.DatabaseLogConfig_Impl(true),
63-
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of()),
64-
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of())
62+
new $DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor.DatabaseLoggingConfig_Impl(true),
63+
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of()),
64+
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of())
6565
)
6666
);
6767
return new CassandraDatabase(config, null, null, new DefaultDatabaseTelemetryFactory(TracerProvider.noop().get(""), new CompositeMeterRegistry(), NoopDatabaseLoggerFactory.INSTANCE, NoopDatabaseMetricsFactory.INSTANCE));

database/database-common/src/main/java/io/koraframework/database/common/telemetry/DatabaseTelemetryConfig.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,23 @@
66
@ConfigValueExtractor
77
public interface DatabaseTelemetryConfig extends TelemetryConfig {
88

9-
DatabaseLogConfig logging();
10-
11-
DatabaseTracingConfig tracing();
9+
DatabaseLoggingConfig logging();
1210

1311
DatabaseMetricsConfig metrics();
1412

15-
@ConfigValueExtractor
16-
interface DatabaseLogConfig extends LogConfig {}
13+
DatabaseTracingConfig tracing();
1714

1815
@ConfigValueExtractor
19-
interface DatabaseTracingConfig extends TracingConfig {}
16+
interface DatabaseLoggingConfig extends LoggingConfig {}
2017

2118
@ConfigValueExtractor
2219
interface DatabaseMetricsConfig extends MetricsConfig {
20+
2321
default boolean driverMetrics() {
2422
return true;
2523
}
2624
}
25+
26+
@ConfigValueExtractor
27+
interface DatabaseTracingConfig extends TracingConfig {}
2728
}

database/database-common/src/main/java/io/koraframework/database/common/telemetry/impl/DefaultDatabaseTelemetry.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ public record TelemetryContext(DatabaseTelemetryConfig config,
2121

2222
public static final TelemetryContext EMPTY = new TelemetryContext(
2323
new $DatabaseTelemetryConfig_ConfigValueExtractor.DatabaseTelemetryConfig_Impl(
24-
new $DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor.DatabaseLogConfig_Defaults(),
25-
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Defaults(),
26-
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Defaults()
24+
new $DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor.DatabaseLoggingConfig_Defaults(),
25+
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Defaults(),
26+
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Defaults()
2727
),
2828
"none",
2929
"none",

database/database-common/src/main/java/io/koraframework/database/common/telemetry/impl/DefaultDatabaseTelemetryFactory.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package io.koraframework.database.common.telemetry.impl;
22

33
import io.koraframework.database.common.telemetry.DatabaseTelemetry;
4-
import io.koraframework.database.common.telemetry.DatabaseTelemetryFactory;
54
import io.koraframework.database.common.telemetry.DatabaseTelemetryConfig;
5+
import io.koraframework.database.common.telemetry.DatabaseTelemetryFactory;
66
import io.micrometer.core.instrument.MeterRegistry;
77
import io.micrometer.core.instrument.composite.CompositeMeterRegistry;
88
import io.opentelemetry.api.trace.Tracer;
99
import io.opentelemetry.api.trace.TracerProvider;
1010
import org.jspecify.annotations.Nullable;
1111

12-
public final class DefaultDatabaseTelemetryFactory implements DatabaseTelemetryFactory {
12+
public class DefaultDatabaseTelemetryFactory implements DatabaseTelemetryFactory {
1313

1414
public static final Tracer NOOP_TRACER = TracerProvider.noop().get("database");
1515
public static final MeterRegistry NOOP_METER_REGISTRY = new CompositeMeterRegistry();
@@ -62,6 +62,16 @@ public DatabaseTelemetry get(DatabaseTelemetryConfig config, String name, String
6262
enabledLoggerFactory = NoopDatabaseLoggerFactory.INSTANCE;
6363
}
6464

65-
return new DefaultDatabaseTelemetry(config, name, dbType, tracer, meterRegistry, enabledMetricsFactory, enabledLoggerFactory);
65+
return build(name, dbType, config, tracer, meterRegistry, enabledMetricsFactory, enabledLoggerFactory);
66+
}
67+
68+
protected DatabaseTelemetry build(String name,
69+
String dbType,
70+
DatabaseTelemetryConfig config,
71+
Tracer tracer,
72+
MeterRegistry meterRegistry,
73+
DefaultDatabaseMetricsFactory metricsFactory,
74+
DefaultDatabaseLoggerFactory loggerFactory) {
75+
return new DefaultDatabaseTelemetry(config, name, dbType, tracer, meterRegistry, metricsFactory, loggerFactory);
6676
}
6777
}

database/database-flyway/src/test/java/io/koraframework/database/flyway/FlywayJdbcDatabaseInterceptorTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ public void testFlywayInterceptor(PostgresParams params) throws SQLException {
4242
false,
4343
new Properties(),
4444
new $DatabaseTelemetryConfig_ConfigValueExtractor.DatabaseTelemetryConfig_Impl(
45-
new $DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor.DatabaseLogConfig_Impl(true),
46-
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of()),
47-
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of())
45+
new $DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor.DatabaseLoggingConfig_Impl(true),
46+
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of()),
47+
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of())
4848
)
4949
);
5050
var database = new JdbcDatabase(config, new DefaultDatabaseTelemetryFactory(TracerProvider.noop().get(""), new CompositeMeterRegistry(), NoopDatabaseLoggerFactory.INSTANCE, NoopDatabaseMetricsFactory.INSTANCE), null);

database/database-jdbc/src/test/java/io/koraframework/database/jdbc/JdbcDatabaseTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ private static void withDb(PostgresParams params, Consumer<JdbcDatabase> consume
5353
false,
5454
new Properties(),
5555
new $DatabaseTelemetryConfig_ConfigValueExtractor.DatabaseTelemetryConfig_Impl(
56-
new $DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor.DatabaseLogConfig_Impl(true),
57-
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of()),
58-
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of())
56+
new $DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor.DatabaseLoggingConfig_Impl(true),
57+
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of()),
58+
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of())
5959
)
6060
);
6161
var db = new JdbcDatabase(config, new DefaultDatabaseTelemetryFactory(TracerProvider.noop().get(""), new CompositeMeterRegistry(), NoopDatabaseLoggerFactory.INSTANCE, NoopDatabaseMetricsFactory.INSTANCE), null);

database/database-liquibase/src/test/java/io.koraframework.database.liquibase/LiquibaseJdbcDatabaseInterceptorTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import io.koraframework.database.common.telemetry.impl.DefaultDatabaseTelemetryFactory;
55
import io.koraframework.database.common.telemetry.impl.NoopDatabaseLoggerFactory;
66
import io.koraframework.database.common.telemetry.impl.NoopDatabaseMetricsFactory;
7-
import io.koraframework.database.liquibase.LiquibaseConfig;
8-
import io.koraframework.database.liquibase.LiquibaseJdbcDatabaseInterceptor;
97
import io.micrometer.core.instrument.composite.CompositeMeterRegistry;
108
import io.opentelemetry.api.trace.TracerProvider;
119
import org.junit.jupiter.api.Assertions;
@@ -44,9 +42,9 @@ public void testLiquibaseInterceptor(PostgresParams params) throws SQLException
4442
false,
4543
new Properties(),
4644
new $DatabaseTelemetryConfig_ConfigValueExtractor.DatabaseTelemetryConfig_Impl(
47-
new $DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor.DatabaseLogConfig_Impl(true),
48-
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of()),
49-
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of())
45+
new $DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor.DatabaseLoggingConfig_Impl(true),
46+
new $DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor.DatabaseMetricsConfig_Impl(true, true, new Duration[0], Map.of()),
47+
new $DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor.DatabaseTracingConfig_Impl(true, Map.of())
5048
)
5149
);
5250

database/database-symbol-processor/src/test/kotlin/io/koraframework/database/symbol/processor/jdbc/JdbcParametersTest.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package io.koraframework.database.symbol.processor.jdbc
22

3-
import org.assertj.core.api.Assertions
4-
import org.junit.jupiter.api.Test
5-
import org.mockito.ArgumentMatchers
6-
import org.mockito.Mockito
7-
import org.mockito.kotlin.verify
83
import io.koraframework.common.Tag
94
import io.koraframework.database.common.telemetry.`$DatabaseTelemetryConfig_ConfigValueExtractor`
10-
import io.koraframework.database.common.telemetry.`$DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor`
5+
import io.koraframework.database.common.telemetry.`$DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor`
116
import io.koraframework.database.common.telemetry.`$DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor`
127
import io.koraframework.database.common.telemetry.`$DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor`
138
import io.koraframework.database.jdbc.`$JdbcDatabaseConfig_ConfigValueExtractor`.JdbcDatabaseConfig_Impl
149
import io.koraframework.database.jdbc.mapper.parameter.JdbcParameterColumnMapper
1510
import io.koraframework.database.symbol.processor.entity.TestEntity
11+
import org.assertj.core.api.Assertions
12+
import org.junit.jupiter.api.Test
13+
import org.mockito.ArgumentMatchers
14+
import org.mockito.Mockito
15+
import org.mockito.kotlin.verify
1616
import java.time.Duration
1717
import java.util.*
1818
import kotlin.reflect.full.findAnnotations
@@ -55,9 +55,9 @@ class JdbcParametersTest : AbstractJdbcRepositoryTest() {
5555
false,
5656
Properties(),
5757
`$DatabaseTelemetryConfig_ConfigValueExtractor`.DatabaseTelemetryConfig_Impl(
58-
`$DatabaseTelemetryConfig_DatabaseLogConfig_ConfigValueExtractor`.DatabaseLogConfig_Impl(true),
59-
`$DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor`.DatabaseTracingConfig_Impl(true, mapOf()),
60-
`$DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor`.DatabaseMetricsConfig_Impl(true, true, arrayOf<Duration>(), mapOf<String, String>())
58+
`$DatabaseTelemetryConfig_DatabaseLoggingConfig_ConfigValueExtractor`.DatabaseLoggingConfig_Impl(true),
59+
`$DatabaseTelemetryConfig_DatabaseMetricsConfig_ConfigValueExtractor`.DatabaseMetricsConfig_Impl(true, true, arrayOf<Duration>(), mapOf<String, String>()),
60+
`$DatabaseTelemetryConfig_DatabaseTracingConfig_ConfigValueExtractor`.DatabaseTracingConfig_Impl(true, mapOf())
6161
)
6262
)
6363
val repository = compileForArgs(

experimental/camunda-engine-bpmn/src/main/java/io/koraframework/camunda/engine/bpmn/CamundaEngineBpmnConfig.java

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.koraframework.camunda.engine.bpmn;
22

3+
import io.koraframework.camunda.engine.bpmn.telemetry.CamundaEngineTelemetryConfig;
34
import io.koraframework.config.common.annotation.ConfigValueExtractor;
4-
import io.koraframework.telemetry.common.TelemetryConfig;
55
import org.jspecify.annotations.Nullable;
66

77
import java.time.Duration;
@@ -20,7 +20,7 @@ public interface CamundaEngineBpmnConfig {
2020
@Nullable
2121
AdminConfig admin();
2222

23-
CamundaTelemetryConfig telemetry();
23+
CamundaEngineTelemetryConfig telemetry();
2424

2525
@ConfigValueExtractor
2626
interface ParallelInitConfig {
@@ -100,34 +100,4 @@ default boolean virtualThreadsEnabled() {
100100
return false;
101101
}
102102
}
103-
104-
@ConfigValueExtractor
105-
interface CamundaTelemetryConfig extends TelemetryConfig {
106-
107-
@Override
108-
CamundaEngineLogConfig logging();
109-
110-
@Override
111-
TracingConfig tracing();
112-
113-
default boolean engineTelemetryEnabled() {
114-
return false;
115-
}
116-
}
117-
118-
@ConfigValueExtractor
119-
interface CamundaEngineLogConfig extends TelemetryConfig.LogConfig {
120-
121-
default boolean stacktrace() {
122-
return true;
123-
}
124-
}
125-
126-
@ConfigValueExtractor
127-
interface CamundaEngineTelemetryConfig extends TelemetryConfig.LogConfig {
128-
129-
default boolean stacktrace() {
130-
return true;
131-
}
132-
}
133103
}

0 commit comments

Comments
 (0)