-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Context
I'm planning on using multistore as the S3 gateway for a data distribution project (Data for Canada). The end-goal is to create a fully transparent system so that other data providers — and data consumers — can make optimal, informed decisions about how to download datasets, whether that means pulling through my multistore deployment or choosing an alternative provider closer to them.
To get there, I'd like to understand how the maintainers see multistore fitting into the observability story. Specifically, I'm interested in exposing real-time operational metrics from the proxy and making them publicly visible.
What I'd like to do
I want to send metrics from multistore to a real-time dashboard/dataset — things like:
- Current active downloads (count)
- Download speed (bytes/sec, aggregate and per-request)
- Upload speed (bytes/sec)
- Breakdown by region (e.x, which Cloudflare colo or AWS region is serving traffic)
- Bytes transferred per bucket over time
I've been looking at Aether as a lightweight, real-time metrics visualization layer. Here's a live demo of what that looks like: https://aether.saphal.me/dashboard/default
The idea would be to have a UsageRecorder implementation (or a separate middleware) that pushes these metrics to an metrics sink, giving anyone a live view of the system's throughput and load characteristics.
Why this matters
Transparency is the key value proposition here. If data providers and consumers can see:
- How much bandwidth is currently being consumed through a given proxy deployment
- Which regions are seeing the most traffic
- Whether the system is under heavy load or has spare capacity
…then they can make data-informed decisions about the best route to fetch a dataset. A provider in Europe might see that my North American deployment is saturated and decide to mirror the dataset themselves. A consumer might see low traffic on a particular region and know it's a good time to start a large download.
Question for maintainers
How do you see observability fitting into Multistore's roadmap? Is there a plan for a metrics export interface (e.x, OpenTelemetry metrics, Prometheus endpoint, or a push-based approach)?
Would love to hear your thoughts on the right direction here as I am not too well versed in observability.