influxdata / influxdata/tdigest
Marshaler and Unmarshaler
- 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