The library is not thread safe when sending metric
Opened this issue · 0 comments
shenmuxiaosen commented
We found out an exception like below:
System.InvalidOperationException: This BackgroundWorker is currently busy and cannot run multiple tasks concurrently.
at System.ComponentModel.BackgroundWorker.RunWorkerAsync(Object argument)
at StatsN.BaseCommunicationProvider.SendMetric(String metric)
at StatsN.Statsd.LogMetricAsync(String metricName, String value, String metricType, String postfix)
Looks like in BaseCommunicationProvider.SendMetric,
It does check if the worker is busy, but looks like this may not be thread safe.