Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tdigest): add tdigest algorithm and storage encoding implementations #2741

Open
wants to merge 27 commits into
base: unstable
Choose a base branch
from

Conversation

LindaSummer
Copy link
Contributor

Issue

Proposal

Proposed Changes

  • add tdigest core algorithm support.
  • add encoding and decoding method as designed.
  • add core implementations for create, add and quantile.
  • add basic unit tests for create, add and quantile.

TODO List

  • add more unit tests for corner cases and benchmark.
  • find a more stable way to evaluate the error of quantile.
  • refactor the DummyCentroids to an iteration way for efficiency.
  • integrate the core implementations to commands and add integration tests.

@LindaSummer
Copy link
Contributor Author

LindaSummer commented Jan 25, 2025

Hi Team,

Sorry for delaying this feature's implementation.

I kept the commit log since we will squash merging.
Maybe it can help new-commers if they meet similar problems as me for a new feature. 😄

Please give me some suggestions and help take a review.

There are still many parts need to be improved, and I will be very happy to try my best for any improvement. 😊

Best Regards,
Edward

src/storage/storage.h Outdated Show resolved Hide resolved
src/types/tdigest.h Outdated Show resolved Hide resolved
src/types/tdigest.cc Outdated Show resolved Hide resolved
src/types/tdigest.cc Outdated Show resolved Hide resolved
src/types/redis_tdigest.cc Outdated Show resolved Hide resolved
src/types/redis_tdigest.cc Outdated Show resolved Hide resolved
@PragmaTwice PragmaTwice changed the title feat(tdigest): add tdigest core implementations. feat(tdigest): add tdigest core implementations Jan 26, 2025
@PragmaTwice PragmaTwice changed the title feat(tdigest): add tdigest core implementations feat(tdigest): add tdigest algorithm and storage encoding implementations Jan 26, 2025
@LindaSummer LindaSummer force-pushed the feature/tdigest-for-first-pr branch from c50d5b0 to 592da56 Compare January 26, 2025 15:27
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

3 participants