@Dino-at-Google@Anil Sagar @ Google In reference to your answer here.
We have backends certified for a certain TPS. We have decided to have 1:1 mapping for Api proxy and respective backend. This proxy can be included in multiple products, which in turn can be subscribed by multiple consumer apps.
The use case we have is to track the tps subscription for a proxy by all its consuming apps via any number of products, so as to avoid over subscription. So, lets say, we have P1 proxy pointing to backend B1 which is certified for 100tps. The p1 proxy can be included in multiple products PR1 & PR2 . And these products PR1, PR2 can be subscribed by multiple apps, like A1 & A2 subscribes to PR1 and A3 & A4 subscribes to PR2.
We want to allow all A1, A2, A3 & A4 apps not to oversubscribe above certified 100TPS for B1 exposed through P1.
I see you and @Dino mentioned that we can use custom attributes at app level, and use them in the quota policy in proxy to implement the different quota for each consumer. Assuming the dev apps are created by the consumer itself, and so as those custom attributes for defining their respective quota which we cannot track as part of subscription process, we will have to track not only that consumers have to define those standardized custom attributes but also what values they are filling in for their respective quota.
This will not allow us to achieve full self service model where we can track a particular proxy is subscribed for how much tps by different consuming apps. I hope I understood it right way.