protected override void Emit(PointData[] points)
        {
            foreach (var point in points)
                _enricher.Enrich(point);

            _emitter.Emit(points);
        }
 public void Write(string measurement, IReadOnlyDictionary<string, object> fields, IReadOnlyDictionary<string, string> tags = null, DateTime? timestamp = null)
 {
     try
     {
         var point = new PointData(measurement, fields, tags, timestamp ?? DateTime.UtcNow);
         Emit(new[] { point });
     }
     catch (Exception ex)
     {
         CollectorLog.WriteLine("Failed to write point: {0}", ex);
     }
 }
 public void Emit(PointData[] points)
 {
     foreach (var emitter in _emitters)
         emitter.Emit(points);
 }
 protected abstract void Emit(PointData[] points);
 void IPointEmitter.Emit(PointData[] points)
 {
     Emit(points);
 }
 public void Emit(PointData[] points)
 {
     _emitter(points);
 }