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 72.50% <100.00%> (+0.70%) 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
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.

1 participant