Hi Vinod,

Yes, my metric collection system need to distinguish between different
metrics.
Currently we hard coded all metric types into our system, but it's not very
scalable and error prone.
For example I recently discovered that we misclassified `timestamp` as
gauge instead of counter.

On Mon, Jun 27, 2016 at 4:31 PM, Vinod Kone <[email protected]> wrote:

> Hey Tuan. Can I ask what you are trying to accomplish here? Does your
> metric collection system need to distinguish between different metrics?
>
> On Mon, Jun 27, 2016 at 10:35 AM, Tuan-Anh Hoang-Vu <[email protected]>
> wrote:
>
> > Hello,
> >
> > I am planning to extend current metrics endpoint (/metrics/snapshot) to
> > only
> > return a specific type of metrics (either counter, gauge or timer). It
> > would be great if I
> > can get feedback from you if this is worth pursuing, or there is an
> > existing solution,
> > or my implementation plan is sound.
> >
> > Current /metrics/snapshot endpoint returns all metrics as key-value pairs
> > for both
> > master and agent. There is an additional timeout parameter for that
> > endpoint.
> > For backward compatibility, I want to add another parameter (`type` or
> > `metric_type`)
> > that will take a value of  (`counter`, `gauge` or `timer`) and the
> endpoint
> > will
> > only return metrics of that type.
> >
> > My implement plan is to extend libprocess to support that, particularly:
> >
> > 1. Introduce a variable called `type` in metric.hpp
> > 2. Extend constructors of Timer, Counter and Gauge classes to set that
> > variable
> > 3. Extend Future<http::Response> MetricsProcess::_snapshot() function in
> > metrics.cpp to support additional query parameter
> >
> > How does that sound? I would love to hear feedback from you!
> >
> > Thanks,
> > Tuan.
> >
>

Reply via email to