Learn how to use the apdex() function.

The Apdex score helps you understand how the response time of a service compares to the predefined response time threshold. See Configure Apdex Settings for details. You can query data, create charts, and create alerts using the apdex() function.

Use the basic or advanced query format.

  • Basic apdex() queries are simple to use and don’t require hs() (histograms query) knowledge. These queries give you results for a specific application and service.
  • Advanced apdex() queries let you specify advanced hs() queries. You can also query Apdex data for more than one application or service.

Summary

  • Basic Query

    apdex([T, | T, 4T,] application=<application_name>, service=<service_name>)
    
  • Advanced Query

    apdex([T, | T, 4T,] <histogram_series>)
    apdex(application=<application_name>, service=<service_name>, <histogram_series>)
    

Parameters

Parameter Description
application_name Name of the application you want to see data for.
service_name Name of the service you want to see data for.
T Satisfied threshold.
  • If you don't specify the value, it uses the value you define under Application Configurations or the default value of 100 microseconds.
  • If you specify the value, it overrides the value you define under Application Configurations. The values are in microseconds. For example, if you enter 200, it indicates 200 microseconds.
4T Tolerating threshold. If you don't specify the value, it uses T*4. The values are in microseconds. For example, if you enter 800, it indicates 800 microseconds.
histogram_series An advanced hs() query. See Histogram to Histogram Functions.

Description

You can use the basic or advanced apdex() function to query the Apdex score. Our service derives the Apdex score for each service. Therefore, you must specify the service you want to get the Apdex data.

The basic queries use hs(tracing.aggregated.derived.*.duration.micros.m) as the underlying query to get the Apdex scores. See Aggregated RED Metrics. Basic queries only give you the Apdex score for a given service. Therefore, you need to specify the application and service filters.

The advanced queries let you customize the hs() functions. You can get the Apdex score for more than one application using the advanced queries. Therefore, you can create alerts to find out when the Apdex score of the services in an application are below a specific range.

Examples

Here’s how you can use these queries:

  • Use a basic query to get the Apdex score of the beachshirts application’s shopping service over time.
     apdex(application=beachshirts, service=shopping)
    

    The screenshot shows the above query and the chart that is generated for it.

  • Use an advanced query to return the Apdex score of all the services that send data to our service every 30 minutes.
    apdex(align(30m, merge(hs(tracing.aggregated.derived.*.duration.micros.m), application, service)))
      

    The screenshot shows the above query and the chart that is generated for it.

  • Use an advanced query to get the Apdex score of the beachshirts application’s shopping service for the given time window (1vw). Let’s use a gauge chart.
    apdex(align(1vw, merge(hs(tracing.aggregated.derived.*.m, application=beachshirts, service=delivery))))
      

    The screenshot shows the above query and the chart that is generated for it.

    Our service rounds the Apdex score to 2 decimal points so that it is easy for you to interpret the score. You need to update the gauge chart settings to get the color to value mapping and round the value to 2 decimal points.

    The screenshot shows how you need to configure the format tab of the gauge chart. You need se the decimal points to 2, set the min as 0 and max as 1, and then define the colors for the Apdex range.

See Also