PreEmptive Protection - Dotfuscator
Community Edition User Guide

Feature Tracking

Feature Tracking is an Instrumentation feature that allows an injected application to track when certain application functions are exercised by the user.

Configuration

To track features:

  1. Configure your application to track sessions.

  2. Using either in-code attributes or extended attributes, add FeatureAttributes to the appropriate methods.

  3. Configure the properties of these attributes appropriately.

  4. Build your Dotfuscator project.

The output assemblies will now contain injected code for feature tracking.

Note: Community Edition only supports up to 10 uses of the FeatureAttribute in a project. Professional Edition does not have this limitation.

Supported Application Types

Feature tracking can be used on methods within all assemblies supported by instrumentation.

Name

Features are identified by their Feature Name, which is case- and whitespace-sensitive. A single session may track a feature multiple times, either by calling the same method multiple times, or by calling different methods with the same Feature Name.

Event Type

Features come in two basic varieties:

  • Feature Tick: An atomic event. Does not have duration information.
  • Start/Stop Feature: A feature that occurs over a period of time. The start and stop points for the feature are marked individually and must have the same Feature Name to be properly correlated. The start FeatureAttribute and stop FeatureAttribute may go on the same method if desired. Code for the start event is injected at the beginning of the annotated method, while code for the stop event is injected at the end.

Messages

There is one message type for Feature Ticks. There are two message types for Start/Stop Features: a Feature Start and a Feature Stop.

Feature Tick

Generated when a method annotated with a FeatureAttribute with the "Tick" FeatureEventType begins and the user has not opted-out. Indicates an atomic event.

Includes the following data:

  • Session ID
  • Timestamp
  • Feature Name

Feature Start

Generated when a method annotated with a FeatureAttribute with the "Start" FeatureEventType begins and the user has not opted-out. Indicates the start of a feature.

Includes the following data:

  • Session ID
  • Timestamp
  • Feature Name
  • Feature ID (to correlate with a matching Stop)

Feature Stop

Generated when a method annotated with a FeatureAttribute with the "Stop" FeatureEventType ends and the user has not opted-out. Indicates the end of a feature.

Includes the following data:

  • Session ID
  • Timestamp
  • Feature Name
  • Feature ID (to correlate with a matching Start)

Dotfuscator Version 5.32.0.6134. Copyright © 2017 PreEmptive Solutions, LLC