This topic describes how to use configure and use baselines in AppDynamics.
AppDynamics automatically calculates what constitutes the baseline for your application environment, that is, the prevailing performance characteristics for your environment. Once it calculates the baselines, AppDynamics can detect conditions that may be considered anomalies for your application.
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 (no trend), in which case all performance data over the time period is considered; or
- Segmented (trend) in which the hour of the day, day of the week, and so on, is considered in calculating the baseline.
Baselines show up in various contexts in the AppDynamics UI, including
- Flow map colorization
- Transaction score dashboards
- Metric graphs
In addition, you can use them as a basis for conditions you configure in health rules.
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.
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.
Configuring 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.