I'm reposting my comment from the PR as this requires further discussion to reach an agreement.
------- You have decided to re-use the same metric name, but with removing the namespace dimension. So we would do something like this in case we turn on topic-level metrics: pulsar_rate_in{host="brokerA"} - broker-level rate in pulsar_rate_in{host="brokerA" namespace="ns1" topic="topic10"} - topic level rate in This creates duplicates when users will use it. Say you wanted to see your cluster rate in, you would do something like sum(pulsar_rate_in), but this sum two things: 1. Topic level rate in, across all brokers. 2. Broker level rate in, across all brokers So, in effect, the rate would be doubled. The idea is that the metric is divided into one granularity level, be it (namespace, topic) or (namespace) so that sum by any dimension they wish. You can't report two granularity levels of any metric under the same name. Your previous version of adding another metric name and explicitly stating its broker-level metric pulsar_broker_rate_in makes more sense. IMO, it must be changed back, unless I'm missing something. --------- Yang, please note that doing what you suggested If the user uses the following query, there will be no double rate: > sum(pulsar_rate_in{namespace=""}) IMO is not a valid user experience for a Pulsar user. People don't do this stuff (attribute=""), and we don't expect them to know this small detail when authoring queries. In theory, this should not be the concern of Pulsar at all - making the aggregation since it can be done using TSDB like Prometheus recording rules - but I do understand that emitting so many time series is inherently a Pulsar issue. I accept this as a workaround for now. I hope the work researched here <https://lists.apache.org/thread/comd0o5760fcgc8qn5d0s7bs7c3zs1j3> will yield a better long-term solution. Thanks, Asaf On Mon, Oct 24, 2022 at 10:06 PM Michael Marshall <mmarsh...@apache.org> wrote: > I think this feature is already available out of the box, as Penghui > suggests. You can get metrics per broker summing them up over the > `instance` label or the `kubernetes_pod_name` label. These labels are > added not by the broker, but instead by the prometheus scrape > definition. > > Also, you are correct that there are some metrics that are always 0, e.g.: > > pulsar_topics_count{cluster="my-cluster"} 0 > > The motivation for those metrics is provided here [0], though I'm not > sure it is good motivation. > > Thanks, > Michael > > [0] > https://github.com/apache/pulsar/blob/6d6665e296e6714801048dee1292e3a07abb5cc1/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java#L306-L307 > > On Sun, Oct 23, 2022 at 8:52 PM PengHui Li <peng...@apache.org> wrote: > > > > I support the motivation. > > > > When I read the document of Prometheus > > I see "A label with an empty label value is considered equivalent to a > > label that does not exist." [0] > > Can we just keep the value of the topic and namespace label empty? > > And here is a blog that introduced how to deal with the empty label [1] > > > > If this can work. We don't need to add new indicator names. > > Otherwise, we might need "pulsar_tenant_*" ,"pulsar_namespace_*", > > "pulsar_cluster_*" in the future. > > > > [0] https://prometheus.io/docs/concepts/data_model/ > > [1] > > > https://medium.com/pareture/query-results-where-label-is-not-present-in-prometheus-e1176320575d > > > > Thanks, > > Penghui > > > > On Sun, Oct 23, 2022 at 6:14 PM Asaf Mesika <asaf.mes...@gmail.com> > wrote: > > > > > One thing to note: You mentioned a PIP number but I'm not sure this is > the > > > right process you follow here for that. > > > > > > > > > On Sun, Oct 23, 2022 at 1:12 PM Asaf Mesika <asaf.mes...@gmail.com> > wrote: > > > > > > > The suggestion makes sense to me as well. I've also reviewed your PR. > > > > > > > > On Sun, Oct 23, 2022 at 8:43 AM Haiting Jiang < > jianghait...@gmail.com> > > > > wrote: > > > > > > > >> +1 > > > >> Makes sense to me. > > > >> > > > >> Thanks, > > > >> Haiting > > > >> > > > >> On Sat, Oct 22, 2022 at 3:59 AM yang yijun <yyiju...@gmail.com> > wrote: > > > >> > > > > >> > Hi,I have a suggestion to improve the broker. > > > >> > > > > >> > For detailed improvement instructions, please refer to issue: > > > >> > https://github.com/apache/pulsar/issues/18056 > > > >> > > > > >> > For detailed source code change, please refer to PR: > > > >> > https://github.com/apache/pulsar/pull/18116 > > > >> > > > > > > > >