influxdata / influxdata/tdigest

Marshaler and Unmarshaler

Open
#34 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
153
Forks
25
PR merge metrics
No merged PRs in 30d

Description

I'd like to add marhsalling and unmarshalling to this package. I'd implement [encoding.BinaryMarshaler](https://pkg.go.dev/encoding#BinaryMarshaler) and the [`smallBytes` format](https://github.com/tdunning/t-digest/blob/main/core/src/main/java/com/tdunning/math/stats/MergingDigest.java#L883) from the Java reference implementation. Alternatively, I could add `AsBytes` and `AsSmallBytes` method. Is there any interest?

I could also go straight to Protobuf if there's interest. E.g. DDSketch Go comes with a Protobuf definition.

Contributor guide

No contributing guide indexed for this repository

Research direction

First review the package API and the linked Java MergingDigest.java smallBytes implementation, then compare the BinaryMarshaler, AsBytes/AsSmallBytes, and Protobuf options described in the issue. Confirm the serialization direction with maintainers; done would mean an agreed format and implementation with compatibility expectations documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.