Skip to main content

Core Concepts

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%
Categorisation✅ Excellent
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%
Categorisation✅ Good
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%
Categorisation❌ Poor
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