public bool Send(TraceMetric metric) { var ns = _tcpClient.GetStream(); using (var cod = new CodedOutputStream(ns)) { metric.WriteTo(cod); } return(true); }
public bool Send(TraceMetric metric) { var ms = new MemoryStream(); using (var cod = new CodedOutputStream(ms)) { metric.WriteTo(cod); ms.Flush(); } var ar = ms.ToArray(); _socket.SendTo(ar, 0, ar.Length, SocketFlags.None, _endPoint); return(true); }
public bool Send(TraceMetric metric) { if (!File.Exists(_uds)) { _logger.LogError("Metric proxy socket not found"); return(false); } using (var socket = new Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.Unspecified)) { try { socket.Connect(new UnixDomainSocketEndPoint(_uds)); } catch (Exception e) { _logger.LogError(e, "Cannot connect to a metric proxy"); return(false); } var ns = new NetworkStream(socket); using (var cod = new CodedOutputStream(ns)) { try { metric.WriteTo(cod); } catch (Exception e) { _logger.LogError(e, "Cannot send to a metric proxy"); return(false); } } return(true); } }