Skip to main content

User Interaction Tracking

User interaction tracking enables you to monitor and analyze critical user flows in your application. Pulse provides real-time metrics and insights to help you understand user experience and identify performance issues.

Overview

The Pulse interaction tracking system allows you to track the following key metrics:

  • Apdex Score - Application Performance Index measuring user satisfaction
  • User Experience Categorisation - Classification of user experience quality
  • Error Rate - Percentage of failed or incomplete interactions
  • Interaction Latencies - Time-based performance metrics (P50, P95, P99)

All metrics are powered by the Pulse dashboard in real-time and can be viewed on the interaction detail page.

Apdex Score

The Apdex (Application Performance Index) score measures user satisfaction with application performance. It's displayed on the first graph in the Interaction detail page.

How It Works

The Apdex score is calculated based on the time taken to complete an interaction relative to predefined thresholds. The formula considers:

  • Event Duration: Time between the first and last event in the interaction
  • Threshold Range: Difference between high and low thresholds
  • Adjusted Value: High threshold minus event duration

Calculation Formula

// Time taken to complete the interaction
// endEventTime is the timestamp of the last event tracked by Interaction
// startEventTime is the timestamp of the first event tracked by the Interaction
long eventDuration = endEventTime - startEventTime;

// Range of threshold
// highThreshold is the max value of the interaction time
// lowThreshold is the min value of the interaction time
long thresholdRange = highThreshold - lowThreshold;

// Normalizing the threshold
long adjustedValue = highThreshold - eventDuration;

// Apdex Score
double apdexScore = 1 - (1 - (adjustedValue / thresholdRange));

Score Interpretation

The Apdex score ranges from 0 to 1:

Score RangeMeaningDescription
1.0ExcellentInteraction completes below the lower threshold - optimal performance
0.5 - 0.99GoodInteraction completes within the threshold range - acceptable performance
0.0 - 0.49PoorInteraction exceeds the high threshold - degraded performance

Important: The Apdex value only considers successful interactions (non-error completions).

Examples

Example 1: Excellent Performance

MetricValue
Interaction"Contest Join"
Threshold Range100ms (low) to 500ms (high)
Event Duration80ms
Adjusted Value500 - 80 = 420
Apdex Score1 - (1 - (420 / 400)) = 1.05 → capped at 1.0
Result✅ Excellent - Performance below lower threshold

Example 2: Average Performance

MetricValue
Interaction"Search Results"
Threshold Range300ms (low) to 1500ms (high)
Event Duration900ms
Adjusted Value1500 - 900 = 600
Apdex Score1 - (1 - (600 / 1200)) = 0.5
Result⚠️ Average - Performance in mid-range

Example 3: Poor Performance

MetricValue
Interaction"Page Load"
Threshold Range500ms (low) to 2000ms (high)
Event Duration2500ms
Adjusted Value2000 - 2500 = -500
Apdex Score1 - (1 - (-500 / 1500)) = 0.33
Result❌ Poor - Performance exceeds high threshold

Error Rate

The error rate is displayed in the first graph of the interaction detail page and represents the percentage of failed or incomplete interactions.

How It Works

The error rate is calculated as the ratio of incomplete interactions to the total number of initiated interactions, expressed as a percentage.

Formula:

Error Rate = (Incomplete Interactions / Total Initiated Interactions) × 100

Understanding Error Rate

  • Low Error Rate (0-2%): Excellent reliability, minimal user impact
  • Moderate Error Rate (2-5%): Acceptable, but may need monitoring
  • High Error Rate (5%+): Critical issue requiring immediate investigation

Example: If users attempt 100 contest joins and 2 fail, the error rate is 2%, meaning 98 out of 100 interactions completed successfully.

Examples

Example 1: Low Error Rate

MetricValue
Interaction"Login"
Total Initiated10,000
Successful Completions9,950
Incomplete Interactions50
Error Rate(50 / 10,000) × 100 = 0.5%
Result✅ Excellent reliability - minimal user impact

Example 2: Moderate Error Rate

MetricValue
Interaction"Contest Join"
Total Initiated5,000
Successful Completions4,900
Incomplete Interactions100
Error Rate(100 / 5,000) × 100 = 2%
Result⚠️ Acceptable - minor issues, monitor closely

Example 3: High Error Rate

MetricValue
Interaction"Payment Processing"
Total Initiated2,000
Successful Completions1,700
Incomplete Interactions300
Error Rate(300 / 2,000) × 100 = 15%
Result❌ Critical issue - requires immediate investigation

User Experience Categorisation

User experience is automatically categorized into four quality levels based on interaction performance metrics and the thresholds configured when creating the interaction.

Categories

CategoryDescriptionTypical Characteristics
ExcellentOptimal user experiencePerformance below lower threshold, minimal errors, high Apdex score
GoodSatisfactory user experiencePerformance within threshold range, low error rate, acceptable Apdex
AverageAcceptable but improvablePerformance in mid-range, moderate error rate, average Apdex
PoorDegraded user experiencePerformance exceeds high threshold, high error rate, low Apdex

How Categorisation Works

The categorization is determined by:

  • Performance Duration: Compared against configured thresholds (low, mid, high)
  • Apdex Score: Calculated based on duration relative to thresholds
  • Error Rate: Percentage of failed interactions

These factors are evaluated together to assign the appropriate category.

Examples

Example 1: Excellent Experience

MetricValue
Interaction"Add to Cart"
Threshold100ms (low) to 500ms (high)
Actual Duration85ms
Apdex Score1.0
Error Rate0.1%
CategorisationExcellent
ReasonPerformance below lower threshold, minimal errors, optimal user experience

Example 2: Good Experience

MetricValue
Interaction"Checkout Process"
Threshold500ms (low) to 2000ms (high)
Actual Duration1200ms
Apdex Score0.73
Error Rate1.5%
CategorisationGood
ReasonPerformance within acceptable range, low error rate, satisfactory user experience

Example 3: Average Experience

MetricValue
Interaction"Search Results"
Threshold300ms (low) to 1500ms (high)
Actual Duration1100ms
Apdex Score0.47
Error Rate3.5%
Categorisation⚠️ Average
ReasonPerformance in mid-range, moderate error rate, acceptable but could be improved

Example 4: Poor Experience

MetricValue
Interaction"Page Navigation"
Threshold200ms (low) to 1000ms (high)
Actual Duration1800ms
Apdex Score0.2
Error Rate8%
CategorisationPoor
ReasonPerformance exceeds high threshold significantly, high error rate, user experience is degraded

Interaction Latencies

Interaction latencies measure the time taken for interactions to complete. These percentile-based metrics help identify performance bottlenecks and optimize user experience.

Understanding Percentiles

Latency metrics are reported as percentiles:

PercentileMeaningDescription
P50Median50% of interactions complete within this time
P9595th percentile95% of interactions complete within this time
P9999th percentile99% of interactions complete within this time

Why Percentiles Matter:

  • P50 shows typical user experience
  • P95 reveals performance for most users
  • P99 highlights worst-case scenarios and tail latencies

Examples

Example 1: Fast Interaction

MetricValue
Interaction"Button Click Response"
P50 Latency50ms
P95 Latency120ms
P99 Latency200ms
Analysis✅ Very responsive - most users experience sub-100ms response times

Example 2: Moderate Latency

MetricValue
Interaction"Form Submission"
P50 Latency300ms
P95 Latency800ms
P99 Latency1500ms
Analysis⚠️ Acceptable performance - majority of users experience reasonable response times

Example 3: High Latency

MetricValue
Interaction"Data Export"
P50 Latency2000ms
P95 Latency5000ms
P99 Latency10000ms
Analysis❌ Slow performance - significant portion of users experience delays, optimization needed

Example 4: Variable Latency

MetricValue
Interaction"Search Query"
P50 Latency150ms
P95 Latency2000ms
P99 Latency5000ms
Analysis⚠️ Inconsistent performance - while median is good, tail latencies are problematic