StreamInsight: Creating a LINQPad data context

This blog post is for those folks comfortable with creating a data stream from an IEnumerable, IObservable or StreamInsight adapter data source.  If you’d like more details on creating those, have a look at this blog post, which covers creating an IEnumerable ‘canned’ data source then wrapping a LINQPad context around it. Creating a data…


StreamInsight: Creating a custom data context for LINQPad, chock full of weathery goodness.

Following on the heels of my last query pattern blog post, I started to dig into creating a custom data context for use with StreamInsight and LINQPad.  The default contexts supplied out of box with the StreamInsight driver (including the Hitchhiker’s Guide context) are great, but don’t contain a large volume of data.  I wanted…


StreamInsight Query Patterns: Fun with process data – calculating the wind chill factor

Process data, commonly accessed from OPC or a process historian such as OSIsoft PI, is well suited for analysis using StreamInsight – being time-series data with data values from a range of sensors.  In this post, I’ll walk through a couple of simple patterns for working with process data (not that these patterns are isolated…


StreamInsight: Reading from other data contexts into StreamInsight with LINQPad

The LINQPad driver for StreamInsight provides an awesomely easy way to run StreamInsight queries using easily accessible data contexts of temporal streams.  However, as LINQPad only supports a single active data context connection in a query it can be difficult to use one of the hard to read “without a data context” sources (such as…


StreamInsight: Where did that query result come from (using the Event Flow Debugger in LINQPad)?

Occasionally, when working with StreamInsight queries an unusual result will crop up, leading to asking the rather blunt question “where did that come from?”.  Luckily the StreamInsight Event Flow Debugger has a great feature (Root Cause Analysis) that will let us examine how certain results were generated. If you’ve never used the Event Flow Debugger,…


StreamInsight: Understanding dynamic query composition

Been tied up with PASS for the past (pun intended) couple of weeks, so it’s time to get a bit caught up on writing.  One of the key technical features of StreamInsight is the ability for one query to consume the output of another, enabling the system to avoid having to process events twice, and…


StreamInsight: Obscure LINQ error – Stream other than apply input stream is cannot be referenced inside apply branch

Another little LINQ error you might encounter from time to time.  Ran into this yesterday while building out some queries, and figured it was worth a quick post.  Starting with a basic stream, I needed to group by a set of fields in the stream and calculate some basic aggregates. Code Snippet // This query…


StreamInsight V1.1 is released (.NET Sequences / IObservable, side-by-side installation and perf improvements)

The StreamInsight dev team has just released the next version of StreamInsight (version 1.1)!!  New features in this release include: .NET Sequences – no more custom adapters for common .NET data sources.  Using .NET sequences instead of adapters as event sources and sinks, which makes the integration with many existing data sources much easier and…


StreamInsight: Obscure LINQ error – The field ‘Key’ of type ‘IKey`1’ either contains a nested member, or is a type that is not supported as event type field

This is a pretty obscure one, and a nice short snippet of a blog post.  I ran into this error yesterday while building out some StreamInsight applications for real time web analytics, and was very briefly stumped.  Let’s have a quick peek at how I ran into it. Starting with a working query, I needed…