Apdex configuration examples

Examples demonstrate how to configure and calculate Apdex scores for monitoring user satisfaction across different applications and scenarios.

Example 1: Application Apdex with custom threshold

Objective: Monitor user satisfaction for the E-commerce application by measuring the Apdex score with a threshold of 200 ms.

Configuration:

  • Entity: E-commerce application
    • Scope:
      • Calls in scope: Inbound calls
      • Include internal calls: false
      • Include synthetic calls: false
    • Custom filters: None
  • Indicator:
    • Threshold: 200 ms

Scenario: Over a 1-hour period, the application receives 10,000 calls with the following response times.

Apdex calculation:

  • Satisfied calls (less than or equal to 200 ms): 8,500 calls
  • Tolerated calls (greater than 200 ms and less than or equal to 800 ms): 1,200 calls
  • Frustrated calls (greater than 800 ms): 300 calls
  • Total calls: 10,000

Apdex score formula: Apdex = (Satisfied + (Tolerated / 2)) / Total

  • Apdex = (8,500 + (1,200 / 2)) / 10,000
  • Apdex = (8,500 + 600) / 10,000
  • Apdex = 9,100 / 10,000
  • Apdex score: 0.91 (Good)

Satisfaction level: Good (0.85-0.93)

Example 2: Website Apdex for HTTP requests

Objective: Monitor user satisfaction for HTTP requests to the Online Banking website with a threshold of 500 ms.

Configuration:

  • Entity: Online Banking website
    • Beacon: HTTP requests
    • Custom filters: None
  • Indicator:
    • Threshold: 500 ms

Scenario: During a 30-minute period, the website receives 5,000 HTTP requests.

Apdex calculation:

  • Satisfied requests (less than or equal to 500 ms): 4,200 requests
  • Tolerated requests (greater than 500 ms and less than or equal to 2,000 ms): 650 requests
  • Frustrated requests (greater than 2,000 ms): 150 requests
  • Total requests: 5,000

Apdex score:

  • Apdex = (4,200 + (650 / 2)) / 5,000
  • Apdex = (4,200 + 325) / 5,000
  • Apdex = 4,525 / 5,000
  • Apdex score: 0.905 (Good)

Satisfaction level: Good (0.85-0.93)

Example 3: Application Apdex with filtered scope

Objective: Monitor user satisfaction specifically for checkout-related calls in the Retail App application with a 150 ms threshold.

Configuration:

  • Entity: Retail App application
    • Scope:
      • Calls in scope: All calls
      • Include internal calls: false
      • Include synthetic calls: false
    • Custom filters: endpoint.name contains "checkout"
  • Indicator:
    • Threshold: 150 ms

Scenario: Over a 2-hour period, checkout-related calls show the following distribution.

Apdex calculation:

  • Satisfied calls (less than or equal to 150 ms): 2,800 calls
  • Tolerated calls (greater than 150 ms and less than or equal to 600 ms): 180 calls
  • Frustrated calls (greater than 600 ms): 20 calls
  • Total calls: 3,000

Apdex score:

  • Apdex = (2,800 + (180 / 2)) / 3,000
  • Apdex = (2,800 + 90) / 3,000
  • Apdex = 2,890 / 3,000
  • Apdex score: 0.963 (Excellent)

Satisfaction level: Excellent (0.94-1.00)

Example 4: Comparing Apdex across different thresholds

Objective: Understand how threshold selection impacts Apdex scores for the same application.

Scenario: The API Gateway application receives 10,000 calls with the following latency distribution:

  • 0-100 ms: 6,000 calls
  • 101-200 ms: 2,000 calls
  • 201-400 ms: 1,200 calls
  • 401-800 ms: 600 calls
  • 801+ ms: 200 calls

Configuration 1: Threshold = 100 ms

  • Satisfied (less than or equal to 100 ms): 6,000
  • Tolerated (101-400 ms): 3,200
  • Frustrated (greater than 400 ms): 800
  • Apdex = (6,000 + 1,600) / 10,000 = 0.76 (Fair)

Configuration 2: Threshold = 200 ms

  • Satisfied (less than or equal to 200 ms): 8,000
  • Tolerated (201-800 ms): 1,800
  • Frustrated (greater than 800 ms): 200
  • Apdex = (8,000 + 900) / 10,000 = 0.89 (Good)

Configuration 3: Threshold = 400 ms

  • Satisfied (less than or equal to 400 ms): 9,200
  • Tolerated (401-1,600 ms): 600
  • Frustrated (greater than 1,600 ms): 200
  • Apdex = (9,200 + 300) / 10,000 = 0.95 (Excellent)

Analysis: This example demonstrates the critical importance of setting appropriate thresholds based on the following factors:

  • Application type and user expectations
  • Business requirements
  • Technical capabilities
  • Industry standards

Understanding Apdex satisfaction levels

The Apdex score ranges from 0 to 1, with the following satisfaction levels:

Score range Level Color Description
0.94-1.00 Excellent Dark green Users are very satisfied with performance
0.85-0.93 Good Light green Users are generally satisfied
0.70-0.84 Fair Yellow Performance is acceptable but can be improved
0.50-0.69 Poor Orange Users are experiencing frustration
0.00-0.49 Unacceptable Red Performance is severely impacting user experience

Troubleshooting Apdex configurations

The following suggestions can help you resolve commonly occurring problems with Apdex configurations:

Problem: Apdex score is consistently Excellent (0.94+) with no variation.

Solution: Your threshold might be too lenient. Review the actual latency distribution and consider lowering the threshold to better differentiate performance levels.

Problem: Apdex score is consistently Poor or Unacceptable (less than 0.70).

Solution: Your threshold might be too aggressive for your application's capabilities. Review the latency distribution and consider the following actions:

  • Increase the threshold to match realistic performance expectations.
  • Investigate performance issues if the threshold is appropriate.
  • Optimize the application to meet the desired threshold.

Problem: Apdex score shows high variability throughout the day.

Solution: This variability is often normal and reflects varying load patterns. Consider the following actions:

  • Create separate Apdex configurations for peak and off-peak hours.
  • Investigate if variability exceeds expected patterns.
  • Implement auto-scaling to maintain consistent performance.

Problem: No data is being collected for the Apdex configuration.

Solution: Verify the following conditions:

  • The selected application or website is receiving traffic.
  • Custom filters are not too restrictive.
  • The entity still exists and is properly configured.

Problem: Apdex score does not match perceived user experience.

Solution: Consider the following actions:

  • Review the threshold to ensure it aligns with user expectations.
  • Check if filters are excluding important traffic segments.
  • Verify that the scope includes all relevant calls.
  • Consider creating multiple Apdex configurations for different user segments.