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

Unable to send metrics to Graphite using PickleGraphiteSender (SocketException, ErrorCode 10053)

LeonidVasilyev opened this issue · comments

Following exception occuring continiously:

System.IO.IOException occurred
HResult=-2146232800
Message=Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
Source=System
StackTrace:
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at Metrics.Graphite.PickleJar.WritePickleData(Stream stream) in c:\Work\Metrics.NET\Src\Metrics\Graphite\PickleJar.cs:line 48
InnerException: System.Net.Sockets.SocketException
HResult=-2147467259
Message=An established connection was aborted by the software in your host machine
Source=System
ErrorCode=10053
NativeErrorCode=10053
StackTrace:
at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
InnerException:

At the same time I'm able to properly send metrics using python pickle graphite sender sample. Carbon listener log contains nothing more than:

09/12/2015 14:12:47 :: MetricPickleReceiver connection with 176.192.48.174:38654 established
09/12/2015 14:12:47 :: MetricPickleReceiver connection with 176.192.48.174:38654 closed cleanly

It looks like it has something to do with pickle protocol version difference used here and available in carbon which runs using python 2.7 in my case. Which version of protocol is implemented here?