Thursday, July 12, 2012 9:26 PM
I have written a small test program that contains two queries. First, a "producer" that inputs events to the server through an observable adapter and publishes the stream. Second a "consumer" that connects to the published stream and outputs the events through an observable output adapter. When I observe the performance counters for this query I notice that the "events in output queues" counter is strictly increasing. When I look at the specific queries it appears all of the events can be attributed to the "producer" query for the "events in output queues" counter. Producer and consumer queries are included below. What does the value of this counter mean? My understanding is a high value indicates that the output adapter is not consuming fast enough but this is a published stream and therefore the published stream adapter (which should be able to keep up).// Producer
var cepStream = source.ToPointStream(app, i => PointEvent<long>.CreateInsert(epoch.AddSeconds(i), i), AdvanceTimeSettings.StrictlyIncreasingStartTime, "SourceStream");
var pubStreamName = CreateObjectUri(app, "PublishedStream", "Ints");
publishedStreamQuery = cepStream.ToPublishedStreamQuery(pubStreamName, app, "PubStream_Ints", "MyPubStream description", EventShape.Point, StreamEventOrder.ChainOrdered);
// Consumervar cepStream = CepStream<long>.Create(app, pubStreamName, EventShape.Point);
results = cepStream.ToObservable().Start();
Saturday, July 14, 2012 7:23 PM
What I have seen is that the counters for published streams aren't quite accurate. I wouldn't worry about it.
What we typically do is to use a "Null" output adapter that simply dequeues each event and then does nothing with it. Then we see that the counters are more accurate.
DevBiker (aka J Sawyer)
Microsoft MVP - Sql Server (StreamInsight)
If I answered your question, please mark as answer.
If my post was helpful, please mark as helpful.
- Marked As Answer by Iric WenModerator Monday, July 23, 2012 5:48 AM