Skip to content

Spring boot harness worker, metric meter registry flexibility, deprecate built-in webserver - #125

Open
chrishagglund-ship-it wants to merge 5 commits into
mainfrom
spring-boot-harness-worker
Open

Spring boot harness worker, metric meter registry flexibility, deprecate built-in webserver#125
chrishagglund-ship-it wants to merge 5 commits into
mainfrom
spring-boot-harness-worker

Conversation

@chrishagglund-ship-it

@chrishagglund-ship-it chrishagglund-ship-it commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Pull Request type

  • [ x ] Feature
  • [ x ] Refactoring (no functional changes, no api changes)

Summary of Changes

Summary

Metrics are now published into a Micrometer MeterRegistry and exposed by the
embedding application, rather than by an SDK-owned web server.

  • Spring Boot: zero-config auto-wiring. New auto-configuration in
    conductor-client-metrics binds a MetricsCollector to the application's
    MeterRegistry, and the client auto-configs auto-attach it to the client.
    SDK metrics show up on /actuator/prometheus with no wiring code.
  • Plain Java: bring your own registry. New
    PrometheusMetricsCollector(MeterRegistry) constructor plus
    getMeterRegistry(); expose registry.scrape() from an endpoint you own.
  • Harness converted from plain Java to a Spring Boot app, exposing metrics
    via Actuator (/metrics, /metrics-json, /health) instead of the SDK's
    embedded server — demonstrating the recommended setup.
  • Deprecated (but retained) the SDK's embedded metrics server — the no-arg
    PrometheusMetricsCollector() and startServer() still work for backward
    compatibility.

Compatibility

  • No breaking changes. Existing users upgrade with no code changes.
  • getRegistry() keeps its original PrometheusMeterRegistry return type and
    is now deprecated in favor of getMeterRegistry() (returns the
    MeterRegistry interface, works for any registry type).
  • Unrelated: ci.yml gains checks: write / pull-requests: write
    permissions for test reporting.

Release: minor (5.1.05.2.0) — additive features plus deprecations,
no breaking changes; not a bugfix.

@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 68.42105% with 6 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...metrics/prometheus/PrometheusMetricsCollector.java 58.33% 3 Missing and 2 partials ⚠️
.../spring/OrkesConductorClientAutoConfiguration.java 0.00% 1 Missing ⚠️
Files with missing lines Coverage Δ Complexity Δ
.../prometheus/ConductorMetricsAutoConfiguration.java 100.00% <100.00%> (ø) 2.00 <2.00> (?)
...metrics/prometheus/PrometheusApiClientMetrics.java 91.66% <100.00%> (ø) 9.00 <1.00> (ø)
...lient/spring/ConductorClientAutoConfiguration.java 94.28% <100.00%> (+0.16%) 10.00 <0.00> (ø)
.../spring/OrkesConductorClientAutoConfiguration.java 84.00% <100.00%> (+0.66%) 13.00 <0.00> (ø)
...lient/spring/ConductorClientAutoConfiguration.java 71.79% <100.00%> (+0.74%) 10.00 <0.00> (ø)
.../spring/OrkesConductorClientAutoConfiguration.java 0.00% <0.00%> (ø) 0.00 <0.00> (ø)
...metrics/prometheus/PrometheusMetricsCollector.java 86.09% <58.33%> (-0.72%) 39.00 <2.00> (+3.00) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chrishagglund-ship-it

Copy link
Copy Markdown
Contributor Author
image doesn't seem to have any impact on performance. highlighted blip was the rollout, it's been humming along since.

@chrishagglund-ship-it
chrishagglund-ship-it marked this pull request as ready for review July 13, 2026 15:17
@chrishagglund-ship-it chrishagglund-ship-it changed the title Spring boot harness worker Spring boot harness worker, metric meter registry flexibility, deprecate built-in webserver Jul 13, 2026
@chrishagglund-ship-it
chrishagglund-ship-it force-pushed the spring-boot-harness-worker branch 2 times, most recently from ce20fff to b258849 Compare July 23, 2026 14:40

@v1r3n v1r3n left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are way too many changes for something on metrics

@chrishagglund-ship-it

chrishagglund-ship-it commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

this is the "sdk's shouldn't provide web server capability just for metrics - user app should implement webserver itself" concept which converts the harness worker to a spring boot app that can provide a /metrics endpoint for prometheus to scrape instead of using the sdk-provided web server capability that we want to deprecate. Also adds the "bring your own registry" capability with some extra wiring options.

@chrishagglund-ship-it
chrishagglund-ship-it force-pushed the spring-boot-harness-worker branch from b258849 to 6d24c20 Compare August 6, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants