We run a web app that uses some third-party services directly from the browser. For example, our users talk to Firebase directly. Because none of our servers are involved, we have no mechanism for understanding what e.g. the average latency is. Ouch! It is starting to be a real pain for us to be guessing at this and other operational metrics for opaque services.
So, we are contemplating writing code that will live in our user-facing app, collecting metrics. Every X seconds it would send all of its metrics to a new aggregator service, which we would also create. Then we'd have prometheus scrape the aggregator, and have some idea of our actual users' experiences with latency to the various services that are otherwise completely opaque to us!
We are thinking of open-sourcing a solution with these two parts - an aggregator that can receive bundles of stats from our many concurrent users, and some JS code that can send those bundles. I have three questions:
1) Does something like this already exist?
2) Does this kind of real-user monitoring with prometheus basically seem like a good idea? Are we being naive in thinking we can easily aggregate metrics from a million concurrent users and provide the aggregate to prometheus? (we know we cannot have high-cardinality labels like userId).
3) This feels like a generalizable problem that many apps might be able to benefit from. I think there are many apps out there that use 3rd-party services like this - basically completely unmonitored. Would anyone else here find this kind of tool useful if we did the work of open-sourcing it? To the maintainers of prometheus: would you find this kind of thing a resonant addition to the ecosystem of clients & exporters?
Thanks for any guidance!
Riley
Ahoy!
We run a web app that uses some third-party services directly from the browser. For example, our users talk to Firebase directly. Because none of our servers are involved, we have no mechanism for understanding what e.g. the average latency is. Ouch! It is starting to be a real pain for us to be guessing at this and other operational metrics for opaque services.
So, we are contemplating writing code that will live in our user-facing app, collecting metrics. Every X seconds it would send all of its metrics to a new aggregator service, which we would also create. Then we'd have prometheus scrape the aggregator, and have some idea of our actual users' experiences with latency to the various services that are otherwise completely opaque to us!
We are thinking of open-sourcing a solution with these two parts - an aggregator that can receive bundles of stats from our many concurrent users, and some JS code that can send those bundles. I have three questions:
1) Does something like this already exist?
2) Does this kind of real-user monitoring with prometheus basically seem like a good idea? Are we being naive in thinking we can easily aggregate metrics from a million concurrent users and provide the aggregate to prometheus? (we know we cannot have high-cardinality labels like userId).
3) This feels like a generalizable problem that many apps might be able to benefit from. I think there are many apps out there that use 3rd-party services like this - basically completely unmonitored. Would anyone else here find this kind of tool useful if we did the work of open-sourcing it? To the maintainers of prometheus: would you find this kind of thing a resonant addition to the ecosystem of clients & exporters?
Thanks for any guidance!
Riley
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus-developers@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/92e5a588-69fb-41b7-8a92-f100dea1ca0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
The scaling to frequent data pushes from n users might become a concern at some point. But with a scalable service, this does not seem to be an unsolvable problem.That being said, even as someone who self-hosts _everything_ for privacy reasons, I would like to enable our devs to gather metrics about the local performance of their stuff and changes to that over time.Richard
Sent by mobile; excuse my brevity and the wall of text Gmail appends by default.
On Mar 2, 2017 03:55, <rile...@gmail.com> wrote:
Ahoy!
We run a web app that uses some third-party services directly from the browser. For example, our users talk to Firebase directly. Because none of our servers are involved, we have no mechanism for understanding what e.g. the average latency is. Ouch! It is starting to be a real pain for us to be guessing at this and other operational metrics for opaque services.
So, we are contemplating writing code that will live in our user-facing app, collecting metrics. Every X seconds it would send all of its metrics to a new aggregator service, which we would also create. Then we'd have prometheus scrape the aggregator, and have some idea of our actual users' experiences with latency to the various services that are otherwise completely opaque to us!
We are thinking of open-sourcing a solution with these two parts - an aggregator that can receive bundles of stats from our many concurrent users, and some JS code that can send those bundles. I have three questions:
1) Does something like this already exist?
2) Does this kind of real-user monitoring with prometheus basically seem like a good idea? Are we being naive in thinking we can easily aggregate metrics from a million concurrent users and provide the aggregate to prometheus? (we know we cannot have high-cardinality labels like userId).
3) This feels like a generalizable problem that many apps might be able to benefit from. I think there are many apps out there that use 3rd-party services like this - basically completely unmonitored. Would anyone else here find this kind of tool useful if we did the work of open-sourcing it? To the maintainers of prometheus: would you find this kind of thing a resonant addition to the ecosystem of clients & exporters?
Thanks for any guidance!
Riley
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-devel...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/92e5a588-69fb-41b7-8a92-f100dea1ca0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-devel...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/CAD77%2BgQatQGj7qkQx66bg-56d3bR8d7Wh2-YwG%2B%3D%3D0OQ%2BJORQw%40mail.gmail.com.
There's a wealth of general browser information that I would love to have a frontend exporter/client library for, and a place to send it to so that prometheus can scrape it :)
On Thu, Mar 2, 2017 at 5:28 AM Richard Hartmann <richih.ma...@gmail.com> wrote:
The scaling to frequent data pushes from n users might become a concern at some point. But with a scalable service, this does not seem to be an unsolvable problem.That being said, even as someone who self-hosts _everything_ for privacy reasons, I would like to enable our devs to gather metrics about the local performance of their stuff and changes to that over time.Richard
Sent by mobile; excuse my brevity and the wall of text Gmail appends by default.
On Mar 2, 2017 03:55, <rile...@gmail.com> wrote:
Ahoy!
We run a web app that uses some third-party services directly from the browser. For example, our users talk to Firebase directly. Because none of our servers are involved, we have no mechanism for understanding what e.g. the average latency is. Ouch! It is starting to be a real pain for us to be guessing at this and other operational metrics for opaque services.
So, we are contemplating writing code that will live in our user-facing app, collecting metrics. Every X seconds it would send all of its metrics to a new aggregator service, which we would also create. Then we'd have prometheus scrape the aggregator, and have some idea of our actual users' experiences with latency to the various services that are otherwise completely opaque to us!
We are thinking of open-sourcing a solution with these two parts - an aggregator that can receive bundles of stats from our many concurrent users, and some JS code that can send those bundles. I have three questions:
1) Does something like this already exist?
2) Does this kind of real-user monitoring with prometheus basically seem like a good idea? Are we being naive in thinking we can easily aggregate metrics from a million concurrent users and provide the aggregate to prometheus? (we know we cannot have high-cardinality labels like userId).
3) This feels like a generalizable problem that many apps might be able to benefit from. I think there are many apps out there that use 3rd-party services like this - basically completely unmonitored. Would anyone else here find this kind of tool useful if we did the work of open-sourcing it? To the maintainers of prometheus: would you find this kind of thing a resonant addition to the ecosystem of clients & exporters?
Thanks for any guidance!
Riley
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/92e5a588-69fb-41b7-8a92-f100dea1ca0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsubscri...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/92e5a588-69fb-41b7-8a92-f100dea1ca0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsubscri...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/CAD77%2BgQatQGj7qkQx66bg-56d3bR8d7Wh2-YwG%2B%3D%3D0OQ%2BJORQw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus-developers@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/4e6df8cc-460f-4ffa-9910-3508a8a42d33%40googlegroups.com.
To post to this group, send email to prometheus-developers@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/4e6df8cc-460f-4ffa-9910-3508a8a42d33%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus-developers@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/CA%2BT6YoxXDXzi0vZpfYtrTtTjk8WrOUbgxqQm8n3zxsVL26NqkQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/92e5a588-69fb-41b7-8a92-f100dea1ca0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/CAD77%2BgQatQGj7qkQx66bg-56d3bR8d7Wh2-YwG%2B%3D%3D0OQ%2BJORQw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/4e6df8cc-460f-4ffa-9910-3508a8a42d33%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus...@googlegroups.com.