This is my strawman to get discussion and feedback started. I'm actively researching and iterating on it. My overall goals with the design:
- App developers can easily configure a set of metrics they want to collect and forward that data to a sink. Sinks likely, but not necessarily, will transmit the metrics out-of-process to some remote storage.
- App developers should find using the API similar to configuring ILogger
- 3rd parties such as OpenTelemetry, Prometheus.NET, or AppMetrics can easily author a sink to capture the metrics data and transmit it.
- Sink developers that understand how to use MeterListener should find this API similar and easy to adopt.
- 3rd party authors of instrumentation that currently takes an explicit dependency on OpenTelemetry MeterProviderBuilder should be able to easily support this API in addition.