On this page:
AppDynamics automatically calculates the baseline performance for your applications, that is, the prevailing performance characteristics of those applications. Once it establishes a baseline, it can detect anomalous conditions for your application.
Baselines appear in these contexts in AppDynamics:
- Flow map colorization
- Transaction score dashboards
- Metric graphs
- Health rules
How Baselines Work
AppDynamics calculates baselines on the fly by using the underlying hour data. A baseline can be calculated for every metric in the controller.
Baselines have two main variables:
- The time over which accumulated data should be considered in calculating the baseline.
- The hourly segment for which the baseline should be calculated. It can be:
- Unsegmented, in which case all performance data over the time period is considered in calculating the baseline; or
- Segmented, in which the hour of the day, day of the week, and so on, is considered.
Performance expectations can differ between hours of the day, days of the week, or even months of the year. For example:
- A retail application may experience heavier traffic on the weekend than the rest of the week.
- A payroll application may experience higher load at the beginning and end of the month compared to the rest of the month.
- A Customer Relationship Management (CRM) application may experience heavy load during business hours Monday through Friday, but relatively light traffic over the weekend.
To account for this variation, you can use a rolling time period as the baseline context. A rolling time period, or dynamic baseline, establishes the baseline against data from the current hour taken at a daily, weekly or monthly interval over the course of the time period.
For example, say you have a baseline that uses the weekly trend and with the time period configured for 90 days, one of the baselines in the default Controller configuration.
At a given day and time, say Monday 10:30 AM, the baseline in effect is one that considers only the data accumulated on the same hour and day of the week over the last 90 days. This is illustrated by the following diagram.
A monthly trend calculates the baseline from data accumulated at the same hour but only on the same day of the month. So, for example, on January 5th at 10:30 AM, the baseline is established based on data accumulated at the same hour on the 5th of each month for the prior year (365 days):
Baselines are not available immediately upon startup. It takes time and application load for the AppDynamics platform to collect data and create its initial baselines. The time depends on the type of baseline being used, whether daily, weekly, monthly, or none. None requires several hours before a baseline is available, daily takes several days, weekly takes several weeks, and so on.
Baseline Deviations in Health Rules
A baseline deviation is the standard deviation from a baseline at a point in time, represented as an integer value. You can set health rule conditions based on baseline deviations. For example, you can configure a warning condition as 2 standard deviations from the baseline and a critical condition as 4 standard deviations from the baseline.
How is the baseline deviation calculated?
The Controller uses the following standard formula to calculate the standard deviation:
You can view built-in baselines and add new ones from the Configuration > Baselines page.
The daily trend is the default baseline. This is the baseline used by health rules if another baseline is not specified during health rule creation.
You can choose another as the default by selecting the baseline in the baseline list and choosing Set as Default. However, note that changing the default baseline changes the actual baseline for all existing health rules that rely on the default (that is, that do not specify another baseline). Be aware of your existing baselines and health rule definitions before you select this option.
Configure the Time Period
When configuring a baseline, you set the trend time period and the trend. The base time period comes in two forms:
- Fixed time range: from some specific date and time to a second specific date and time. For example, if you have a release cycle at a specific time you might limit your data collection to that specific time.
- Rolling time range: in which the most recent X number of days is used. This is the more common choice.
Watch the Video
For full-screen viewing, click How Does Automatic Baselining Work?