Exemplo n.º 1
0
 protected override IStream <NodeTraces> CreateOutputStream(KeepLastTracesArgs args)
 => base.CreateUnsortedStream(args.InputStream.Observable
                              .Group(
                                  traceEvent => traceEvent.NodeName,
                                  (traceEventStream, _) => traceEventStream.Aggregate(
                                      i => new
 {
     NodeName   = i.NodeName,
     TraceQueue = new LimitedQueue <TraceEvent>(args.Limit),
     Counter    = new Counter()
 },
                                      (o, i) =>
 {
     o.TraceQueue.Enqueue(i);
     o.Counter.Increment();
     return(o);
 }))
                              .Map(i => new NodeTraces
 {
     NodeName    = i.NodeName,
     TraceEvents = i.TraceQueue.ToList(),
     ActualCount = i.Counter.Value
 }));
Exemplo n.º 2
0
 public KeepLastTracesStreamNode(string name, KeepLastTracesArgs args) : base(name, args)
 {
 }