Good point, I think that really anything consuming large/unbounded memory should potentially be tracked.
As for the API, I am thinking: - If the API is synchronous, we could provide a rough estimate of an object upon it's creation that doesn't change throughout it's lifetime. Perhaps the estimate could change change throughout the lifetime of the process though. For example, after a channel allocates a large buffer once, future channels can use that to increase their estimate. - An callback or queue based API might be more accurate though. One example of something to account for is the cert file (what originally motivated this). In ruby, if the user uses the default channel SSL creds, then we end up loading a ~300KB cert file (https://github.com/grpc/grpc/blob/master/etc/roots.pem), which is apparently copied (at least partially and at least once) roughly per channel. On Thursday, January 18, 2018 at 9:31:32 PM UTC-8, Craig Tiller wrote: > > Let's enumerate the things that need sizes in this grfc... At first cut > I'd suggest: > > - channels > - servers > - calls > - completion queues > > Do we also need slices, slice buffers? > What about metadata? > > Server memory can change drastically over time since it also maintains a > list of channels and incoming but not yet delivered calls. > > Should we additionally account for this? If yes, how? Is it polled? Is > there a callback model? > > On Thu, Jan 18, 2018, 8:56 PM apolcyn via grpc.io <grp...@googlegroups.com > <javascript:>> wrote: > >> Discussion of https://github.com/grpc/proposal/pull/55 >> >> this thread supersedes >> https://groups.google.com/forum/#!topic/grpc-io/FPoXprcT0d4 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "grpc.io" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to grpc-io+u...@googlegroups.com <javascript:>. >> To post to this group, send email to grp...@googlegroups.com >> <javascript:>. >> Visit this group at https://groups.google.com/group/grpc-io. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/grpc-io/ee85c861-e4a7-4cbb-a0eb-444b3ea05ce8%40googlegroups.com >> >> <https://groups.google.com/d/msgid/grpc-io/ee85c861-e4a7-4cbb-a0eb-444b3ea05ce8%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/2b7aaef1-8b90-4161-8593-dc469c9dbb73%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.