Skip to content

Commit

Permalink
metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
v1r3n committed Dec 18, 2023
1 parent a138919 commit cd160a2
Show file tree
Hide file tree
Showing 10 changed files with 627 additions and 1 deletion.
3 changes: 2 additions & 1 deletion dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,6 @@ ext {
revFasterXml = '2.15.3'
revAmqpClient = '5.13.0'
revKafka = '2.6.0'

revMicrometer = '1.6.2'
revPrometheus = '0.9.0'
}
31 changes: 31 additions & 0 deletions metrics/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Metrics
Conductor publishes detailed metrics for the server.
For the list of metrics published by server, see:

https://netflix.github.io/conductor/metrics/server/

Conductor supports plugging in metrics collectors, the following are currently supported by this module:
1. Datadog
2. Prometheus
3. Logging (dumps all the metrics to Slf4J logger)

## Published Artifacts

Group: `com.netflix.conductor`

| Published Artifact | Description |
| ----------- | ----------- |
| conductor-metrics | Metrics configuration |

**Note**: If you are using `condutor-contribs` as a dependency, the metrics module is already included, you do not need to include it separately.

#### Configuration
* Logging Metrics

`conductor.metrics-logger.enabled=true`
* Prometheus

`conductor.metrics-prometheus.enabled=true`
* Datadog

`conductor.metrics-datadog.enabled=true`
30 changes: 30 additions & 0 deletions metrics/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
dependencies {

implementation project(':conductor-common')
implementation project(':conductor-core')

compileOnly 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.springframework.boot:spring-boot-starter-web'

implementation "org.apache.commons:commons-lang3:"

implementation "com.google.guava:guava:${revGuava}"

implementation "javax.ws.rs:jsr311-api:${revJsr311Api}"

implementation "io.reactivex:rxjava:${revRxJava}"

implementation "com.netflix.spectator:spectator-reg-metrics3:${revSpectator}"
implementation "com.netflix.spectator:spectator-reg-micrometer:${revSpectator}"
implementation "io.prometheus:simpleclient:${revPrometheus}"
implementation "io.micrometer:micrometer-registry-prometheus:${revMicrometer}"

implementation 'io.micrometer:micrometer-registry-datadog:1.9.1'


testImplementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation "org.testcontainers:mockserver:${revTestContainer}"
testImplementation "org.mock-server:mockserver-client-java:${revMockServerClient}"


}
255 changes: 255 additions & 0 deletions metrics/dependencies.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,255 @@
{
"annotationProcessor": {
"org.springframework.boot:spring-boot-configuration-processor": {
"locked": "2.7.16"
}
},
"compileClasspath": {
"com.google.guava:guava": {
"locked": "32.1.2-jre"
},
"com.netflix.conductor:conductor-common": {
"locked": "3.15.0"
},
"com.netflix.conductor:conductor-core": {
"locked": "3.15.0"
},
"com.netflix.spectator:spectator-reg-metrics3": {
"locked": "0.122.0"
},
"com.netflix.spectator:spectator-reg-micrometer": {
"locked": "0.122.0"
},
"io.micrometer:micrometer-registry-datadog": {
"locked": "1.9.1"
},
"io.micrometer:micrometer-registry-prometheus": {
"locked": "1.6.2"
},
"io.prometheus:simpleclient": {
"locked": "0.9.0"
},
"io.reactivex:rxjava": {
"locked": "1.2.2"
},
"javax.ws.rs:jsr311-api": {
"locked": "1.1.1"
},
"org.apache.commons:commons-lang3": {
"locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-core": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-jul": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-web": {
"locked": "2.17.2"
},
"org.springframework.boot:spring-boot-starter": {
"locked": "2.7.16"
},
"org.springframework.boot:spring-boot-starter-web": {
"locked": "2.7.16"
}
},
"runtimeClasspath": {
"com.google.guava:guava": {
"locked": "32.1.2-jre"
},
"com.netflix.conductor:conductor-common": {
"locked": "3.15.0"
},
"com.netflix.conductor:conductor-core": {
"locked": "3.15.0"
},
"com.netflix.spectator:spectator-reg-metrics3": {
"locked": "0.122.0"
},
"com.netflix.spectator:spectator-reg-micrometer": {
"locked": "0.122.0"
},
"io.micrometer:micrometer-registry-datadog": {
"locked": "1.9.1"
},
"io.micrometer:micrometer-registry-prometheus": {
"locked": "1.6.2"
},
"io.prometheus:simpleclient": {
"locked": "0.9.0"
},
"io.reactivex:rxjava": {
"locked": "1.2.2"
},
"javax.ws.rs:jsr311-api": {
"locked": "1.1.1"
},
"org.apache.commons:commons-lang3": {
"locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-core": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-jul": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-web": {
"locked": "2.17.2"
}
},
"testCompileClasspath": {
"com.google.guava:guava": {
"locked": "32.1.2-jre"
},
"com.netflix.conductor:conductor-common": {
"locked": "3.15.0"
},
"com.netflix.conductor:conductor-core": {
"locked": "3.15.0"
},
"com.netflix.spectator:spectator-reg-metrics3": {
"locked": "0.122.0"
},
"com.netflix.spectator:spectator-reg-micrometer": {
"locked": "0.122.0"
},
"io.micrometer:micrometer-registry-datadog": {
"locked": "1.9.1"
},
"io.micrometer:micrometer-registry-prometheus": {
"locked": "1.6.2"
},
"io.prometheus:simpleclient": {
"locked": "0.9.0"
},
"io.reactivex:rxjava": {
"locked": "1.2.2"
},
"javax.ws.rs:jsr311-api": {
"locked": "1.1.1"
},
"junit:junit": {
"locked": "4.13.2"
},
"org.apache.commons:commons-lang3": {
"locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-core": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-jul": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-web": {
"locked": "2.17.2"
},
"org.junit.vintage:junit-vintage-engine": {
"locked": "5.8.2"
},
"org.mock-server:mockserver-client-java": {
"locked": "5.12.0"
},
"org.springframework.boot:spring-boot-starter-log4j2": {
"locked": "2.7.16"
},
"org.springframework.boot:spring-boot-starter-test": {
"locked": "2.7.16"
},
"org.springframework.boot:spring-boot-starter-web": {
"locked": "2.7.16"
},
"org.testcontainers:mockserver": {
"locked": "1.18.3"
}
},
"testRuntimeClasspath": {
"com.google.guava:guava": {
"locked": "32.1.2-jre"
},
"com.netflix.conductor:conductor-common": {
"locked": "3.15.0"
},
"com.netflix.conductor:conductor-core": {
"locked": "3.15.0"
},
"com.netflix.spectator:spectator-reg-metrics3": {
"locked": "0.122.0"
},
"com.netflix.spectator:spectator-reg-micrometer": {
"locked": "0.122.0"
},
"io.micrometer:micrometer-registry-datadog": {
"locked": "1.9.1"
},
"io.micrometer:micrometer-registry-prometheus": {
"locked": "1.6.2"
},
"io.prometheus:simpleclient": {
"locked": "0.9.0"
},
"io.reactivex:rxjava": {
"locked": "1.2.2"
},
"javax.ws.rs:jsr311-api": {
"locked": "1.1.1"
},
"junit:junit": {
"locked": "4.13.2"
},
"org.apache.commons:commons-lang3": {
"locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-core": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-jul": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
"locked": "2.17.2"
},
"org.apache.logging.log4j:log4j-web": {
"locked": "2.17.2"
},
"org.junit.vintage:junit-vintage-engine": {
"locked": "5.8.2"
},
"org.mock-server:mockserver-client-java": {
"locked": "5.12.0"
},
"org.springframework.boot:spring-boot-starter-log4j2": {
"locked": "2.7.16"
},
"org.springframework.boot:spring-boot-starter-test": {
"locked": "2.7.16"
},
"org.springframework.boot:spring-boot-starter-web": {
"locked": "2.7.16"
},
"org.testcontainers:mockserver": {
"locked": "1.18.3"
}
}
}
Loading

0 comments on commit cd160a2

Please sign in to comment.