lukevenediger / statsd.net

A high-performance stats collection service that feeds into Graphite and aimed at small- to large-scale windows environments.
MIT License
122 stars 25 forks source link

Stateful path mapping module #10

Open lukevenediger opened 11 years ago

lukevenediger commented 11 years ago

As a user I want to fire off steps to a state service and match them against a predefined path, firing a metric once a goal has been reached So that I can track user paths without keeping state on my own service.

The gist of this feature is that callers use it to test assumptions about user movements and don't need to add state to their applications to do it. Think of this as a transformation of many incoming metrics to one or more outgoing metric. The incoming metrics are the individual steps while the outgoing metics are signals that certain workflow goals have been met.

Workflows are sent to the module before it acts on any new workflow steps.

For example,

Sending two workflows: site.nav.home,site.nav.demo,site.nav.largeBanner,site.nav.signup:registration.newUser.fromLargeBanner|wf site.nav.home,site.nav.demo,site.nav.linkOnLeft,site.nav.signup:registration.newUser.fromLeftLink|wf

Sending in steps site.nav.home|wfs site.nav.demo|wfs site.nav.linkOnLeft|wfs site.nav,signup|wfs On the fourth step, statsd.net will send out a metric called registration.newUser.fromLeftLink