etishor / Metrics.NET

The Metrics.NET library provides a way of instrumenting applications with custom metrics (timers, histograms, counters etc) that can be reported in various ways and can provide insights on what is happening inside a running application.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Production ready

RobertButera opened this issue · comments

Hi,

Was wondering when you believe Metrics.NET will be production ready? We're eager to start using this on our project.

Rob

Hi Rob,

"Production Ready" is a very broad term. I'm currently using the Metrics.NET library in production in a few projects. The need for the library was initially driven by one the projects I work on during my day job.

The Metrics library has two parts. The metrics collection part, which is used all over the host application to capture relevant metrics, and the metrics reporting part, which is used to read the values of the captured metrics.

The collection part, in most cases, translates to incrementing and decrementing an integer. I've never experienced any issues in the host applications caused by collecting metrics. There is even an option to completely disable metric collection if you suspect it might cause issues.

The metrics reporting part is comprised of a lot more options and possible configurations, which, at least in theory, could not work as expected. The result of the reporting part not working is that metrics can't be read. I would not expect the reporting part to cause any issues to the host application. Also the code for the reporting part is usually present in a "bootstrapping" or "wireup" part of the host, which makes it easily changeable.

On the other hand the library is still very young and has not been used by a lot of projects. There might be hidden issues that I'm not aware of. But I think that is common to open-source projects. If somebody's life depends on it - it might not be your best choice.

In conclusion my recommendation is to try it in your setup and see the results. If you notice any issues with the library, I would be happy to try to fix them.

As of now, I have no plans to have an "official" stable release. That might change in the future, but currently I'm using the latest nuget version as "stable enough for my production needs". Your mileage may vary :)

That being said I can't and don't provide any guarantees about it. In the end you are using it at your own risk.

Thanks Lulian for such a comprehensive answer.

We will spend some time prototyping and see how it goes.

Regards
Rob