Skip to content
This repository has been archived by the owner on Mar 27, 2021. It is now read-only.

Add Distribution Support to Heroic Consumer #695

Open
ao2017 opened this issue Sep 15, 2020 · 0 comments
Open

Add Distribution Support to Heroic Consumer #695

ao2017 opened this issue Sep 15, 2020 · 0 comments
Assignees

Comments

@ao2017
Copy link
Contributor

ao2017 commented Sep 15, 2020

Heroic histogram data is currently computed locally.
It is practically impossible to aggregate percentile.
We are adding distribution to heroic to address that issue. Applications downstream will create data sketches that can be merged to compute percentile on the entire data distribution.
To support this approach, we changed the format of the metric.
Heroic consumers should be able to handle both the old and the new metrics.
We are creating a new version of Spotify100 serializer. This task will implement the logic to handle spotify100 new version metrics.
Reference
Current Format
Spotify100 version SCHEMA_VERSION = "1.1.0"
@DaTa
public static class Spotify100Metric {
private final String version = SCHEMA_VERSION;
private final String key;
private final Long time;
private final Map<String, String> attributes;
private final Map<String, String> resource;
private final double value;
}
Expected Format
Spotify100 version SCHEMA_VERSION = "1.1.2" (actual TBD)
@DaTa
public static class Spotify100Metric {
private final String version = SCHEMA_VERSION;
private final String key;
private final Long time;
private final Map<String, String> attributes;
private final Map<String, String> resource;
private final Value value;
}

Code Pointer:

private AsyncFuture<Void> handleVersion1(final JsonNode tree)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant