Skip to content

Migrate from TimGroup's java-statsd-client to Datadog's java-dogstatsd-client#3940

Merged
duanemay merged 1 commit into
developfrom
statsd-upgrade
Jun 10, 2026
Merged

Migrate from TimGroup's java-statsd-client to Datadog's java-dogstatsd-client#3940
duanemay merged 1 commit into
developfrom
statsd-upgrade

Conversation

@duanemay

@duanemay duanemay commented Jun 9, 2026

Copy link
Copy Markdown
Member

TimGroup java-statsd-client (Current):

Last update: February 19, 2015 (version 3.1.0)
Status: Effectively unmaintained for over 10 years
Update frequency: None - project is dormant

Datadog java-dogstatsd-client (Target):

Latest version: 4.4.5 (August 21, 2025)
Status: Actively maintained and is now the canonical library
Update frequency: Regular releases (typically 3-4 per year) with bug fixes, performance improvements, and new features

Note: This library merged efforts from multiple upstream projects including TimGroup's original library

Key Benefits of Migration

Active maintenance: Regular security patches and bug fixes
Performance improvements: Modern non-blocking implementation with better buffering
Enhanced features: Support for tags, sampling, client-side aggregation, telemetry
Better error handling: Improved error handling and monitoring capabilities
Future compatibility: Continued support and development
Backward Compatibility Assessment
The migration should be very low-risk because:

Note: UAA uses only basic StatsD operations (gauge, count, time)
The Datadog library maintains API compatibility with TimGroup's interface

Copilot AI review requested due to automatic review settings June 9, 2026 19:12

Copilot AI 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.

Pull request overview

This PR migrates the StatsD client dependency from TimGroup’s unmaintained java-statsd-client to Datadog’s actively maintained java-dogstatsd-client, updating wiring and tests to match the newer client construction pattern while preserving the existing StatsDClient API usage.

Changes:

  • Switched the Gradle version-catalog dependency from com.timgroup:java-statsd-client to com.datadoghq:java-dogstatsd-client and bumped the version to 4.4.5.
  • Updated StatsdConfiguration to build the client via NonBlockingStatsDClientBuilder instead of the old constructor.
  • Simplified the unit test to mock StatsDClient directly (removing reliance on ConvenienceMethodProvidingStatsDClient).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
statsd-lib/src/test/java/org/cloudfoundry/identity/statsd/UaaMetricsEmitterTest.java Updates mocks to target StatsDClient directly for compatibility with the new dependency.
statsd-lib/src/main/java/org/cloudfoundry/identity/statsd/StatsdConfiguration.java Updates StatsD client bean creation to the builder-based API.
gradle/libs.versions.toml Switches module coordinates to Datadog’s client and updates the version to 4.4.5.

@github-project-automation github-project-automation Bot moved this from Inbox to Pending Merge | Prioritized in Foundational Infrastructure Working Group Jun 10, 2026
@duanemay duanemay merged commit 2b143f2 into develop Jun 10, 2026
40 of 42 checks passed
@duanemay duanemay deleted the statsd-upgrade branch June 10, 2026 16:33
@github-project-automation github-project-automation Bot moved this from Pending Merge | Prioritized to Done in Foundational Infrastructure Working Group Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants