private void SerializeMetadata(MetricEndpoint endpoint, IEnumerable <MetaData> metadata) { Debug.WriteLine("StackExchange.Metrics: Serializing metadata."); endpoint.Handler.SerializeMetadata(metadata); _lastMetadataFlushTime = DateTime.UtcNow; Debug.WriteLine("StackExchange.Metrics: Serialized metadata."); }
private void SerializeMetrics(MetricEndpoint endpoint, DateTime timestamp, out long metricsCount, out long bytesWritten) { lock (_metricsLock) { metricsCount = 0; bytesWritten = 0; if (_metrics.Count == 0) { return; } using (var batch = endpoint.Handler.BeginBatch()) { foreach (var m in _metrics) { try { m.SerializeInternal(batch, timestamp); } catch (Exception ex) { ex.Data["Endpoint.Name"] = endpoint.Name; ex.Data["Endpoint.Type"] = endpoint.Handler.GetType(); SendExceptionToHandler(ex); } } metricsCount += batch.MetricsWritten; bytesWritten += batch.BytesWritten; } } }