Beginning in February 2020, AppDynamics switched from Semantic Versioning to Calendar Versioning for some agents and the first deployments of SaaS Controllers. In March 2020, the entire product suite will use Calendar Versioning.

Skip to end of metadata
Go to start of metadata

Related pages:

Your Rating:
1 Star2 Star3 Star4 Star5 Star
2 rates
The following notes describe updates to the AppDynamics Application Analytics, which powers AppDynamics Business iQ.

If an artifact has been updated, the version number of the updated artifact and its availability date are listed below. The version number corresponds to that shown on the download portal (

The most recent releases appear at the top of the page.

Known Issues - Transaction Analytics without an Analytics Agent (Agentless Analytics)

If you upgrade to Java Agent version 4.5.15 and later and currently use Transaction Analytics, Agentless Analytics is automatically enabled. You may notice unusual behavior related to two known issues:

  • High CPU usage
  • Blocked firewall requests

See Troubleshooting Analytics Issues for more information on these issues.

4.5.17 (Controller) Update

January 29, 2020


Transaction Analytics without an Analytics Agent is now:

  • Compatible with encrypted proxy connections. The proxy configurations automatically connect to the Events Service if you encrypt proxy credentials with the Secure Credential Store.
  • Automatically enabled for SaaS Controllers with Java Agent 4.5.15 and later.

  • Supports license rules configured in Java Agent 4.5.18 and later. 
Known Issue

Transaction Analytics without an Analytics Agent is automatically enabled for SaaS Controllers with Java Agent 4.5.16 and later. If you deploy Analytics to multiple nodes, you may not receive Transaction Analytics data. AppDynamics recommends that you do not upgrade to Java Agent 4.5.15 and later if you are running multiple nodes. If you have already upgraded your deployment, contact AppDynamics Support to downgrade. 

4.5.13 (Analytics Agent) Updates 

January 22, 2020

  • Analytics libraries upgraded in the Analytics Agent and Analytics Agent bundled with Machine Agent. See Machine Agent Notes

4.5.2 Updates (On-Premises Events Service)

December 13, 2019

End of Life (EoL) Notice

AppDynamics has removed Search Guard from the on-premises Events Service version

See the Support Advisory for more details.

4.5.16 Updates

November 14, 2019

  • Transaction Analytics without an Analytics Agent

    • You can now configure Transaction Analytics without a dedicated Analytics Agent. In this model, your app agent sends Analytics data to the Events Service directly, without the need for an additional agent. This feature is available for Java Agents version 4.5.16 and later. 

    • Available for Saas and on-premises deployments. 
  • The Analytics Configuration UI has been upgraded. Configuring Transaction Analytics and data collectors are now on separate tabs. You can now select all applications and business transactions in a single click. You can also choose to automatically enable Transaction Analytics for all incoming applications.  

4.5.15 Updates

November 1, 2019


The Analytics landing page now has drill-down options on all widgets. You can click on any data point to open the ADQL query and search results that created the widget. 

4.5.13 Updates

August 26, 2019

  • Analytics now has a landing page that consolidates key data from the transaction, browser, and mobile events. The new Analytics Home page gives you a holistic view of your Analytics data, consolidating data from the backend to end user sessions in one, out-of-the-box screen.

  • You can now copy text from the results of your ADQL queries for use in other queries. 

4.5.12 Updates

July 31, 2019

Resolved Issues


Unable to make configuration updates after deleting Analytics dashboards and search entities
ANALYTICS-11120 Validation for HTTP data collectors should only look for field names and types from HTTP parameters

4.5.11 Updates

July 8, 2019

Resolved Issues


From "Analytics", the call to getAdditionalAdqlFunctions fails with an HTTP Internal Server 500 Error

4.5.9 Updates 

Version - May 16, 2019

  • The secure credential store location for the Analytics Agent has changed to <analytics_agent_home>/bin/tool/scs-tool.jar. See the documentation for more details. 
Resolved Issues
ANALYTICS-10647Analytics agent is throwing an exception while tailing logs on Linux.

4.5.7 Updates

Version - March 18, 2019

Resolved Issues
ANALYTICS‑8603Business Journeys: Long field values not displayed or highlighted

4.5.5 Updates

February 25, 2019

Resolved Issues
ANALYTICS‑10240License account usage displays an incorrect count of consumed and provisioned licenses in transaction analytics
ANALYTICS-9575When adding a milestone to a new Business Journey, type hangs on "Fetching Data"

4.5.4 Updates

Version — February 1, 2019

Resolved Issues
ANALYTICS‑9964Upserts fail while attempting to merge multiple requests concurrently
ANALYTICS‑4123Duplicate field name due to case insensitivity cause rendering issues in SaaS deployments.

4.5.2 Updates

Version — December 21, 2018

This build of Analytics artifacts is the latest that can be used with AppDynamics Controller version 4.5.4.

Resolved Issues
ANALYTICS-7729Business Journeys do not appear on Custom Dash Analytics widget list
ANALYTICS-9360Analytics searches erroneously convert 'NOT' to '!' in filter names
ANALYTICS-9361Analytics queries return incorrect values when field values start with 'NOT'
ANALYTICS-9532Truststore for SSL communication to EventService was ignored by standalone & bundled analytics agent
ANALYTICS-9623HTTP Data Collectors throw errors and do not display data

Version – October 15, 2018

  • ADQL now offers string manipulation functions.
    • String functions can transform any event data that resides in the Analytics Events Service. 

    • An important use case is doing ad hoc data transformation when data has been collected in the wrong structure, serialization, or format. In previous releases, fixing incorrectly-collected data required adjusting agent settings.

    • With string manipulation functions, you can

      • hone in on a substring() by working with string length() and/or the indexOf() characters in a string

        • for example, you can extract the domain name from a URL
      • combine multiple strings using the concat() operator

        • for example, you can combine values from multiple fields into a single value

      • trim() whitespace from the beginnings and ends of fields.

  • When creating a Business Journey, you must use the same data type for the Primary Keys of all Milestones in that Business Journey.

    • Previously, you were able to use different data types, which was unsupported.

Known Issues
  • The ADQL function indexOf() fails to highlight syntax.
  • Creating a metric from an ADQL query fails when the query is a ratio of two distintcount() queries
Resolved Issues


Funnel widget graphic shows no results even when results exist
ANALYTICS-8344Unassigned shards in Events Service cluster cause snapshots to fail
ANALYTICS-8454When creating a Business Journey, choosing different data types for Primary Keys of different Milestones causes a validation error
ANALYTICS-8492SSL error prevents Analytics Agent from connecting to Controller via HTTPS
ANALYTICS-9498Elasticsearch leader election fails in on-premises AppDynamics deployments

4.5.1 Updates

Version – September 5, 2018

  • In Log Analytics, you can exclude, or blacklist files from the defined source rule(s). Input the relative path of the file(s) to exclude, using wildcards to exclude multiple files.
Known Issues
  • Dashboards for Business Journeys created prior to the release of Analytics version 4.5 do not display the Average time to reach the next milestone metric. Use the following procedure as a workaround:
    1. Open the definition of the Business Journey for editing
    2. Navigate to the Extract Fields area of the milestone that you want to edit
    3. Do one or more of the following:
      • Edit the definition of a field other than the Primary Key
      • Create a new field
      • Remove an existing field 
    4. Save the definition
      Within a few minutes, you should see values for Average time to reach the next milestone for the Business Journey you edited.
Resolved Issues
ANALYTICS‑8474Saving the Analytics RBAC changes results in '500 Error' due to a missing Role in the Data Access Table

4.5.0 Updates

July 11, 2018


  • ADQL user experience improvements:
    • ADQL UI now has the Save button to save new searches.
    • The following fields are added to the ADQL UI for mobile_snapshots: Platform, Request Content Length, Response Content Length, Country, Region, Background.
    • The Analytics Search page now shows advanced statistics, such as standard deviation, median, minimum, and maximum, for numeric fields. Click a field to view associated statistics.
  • ADQL now has the HAVING and SINCE ...UNTIL clauses.
  • ADQL now supports the totalResultCount() function. The function returns the total number of events. totalResultCount() does not accept a field.
  • The analytics functions, such as avg, max, and min, now support the datetime type data.
  • Business iQ / Analytics now supports exporting large datasets and fields enclosed within quotes to a file in CSV format for external use.
  • The IS NOT NULL operator is now supported in Basic mode (Drag and Drop Search), including Funnel filters. The operator returns all the events with values either true or false.
  • The numeric widget now has a comparison indicator. Use the Compare to and Trailing By options in the Widget Properties to indicate an offset. The Compare to option by default is set to None. Select Prev.period from the Compare to drop-down and specify the relative time in minutes, hours, or days using the Trailing By option. The current aggregate value is compared against the period you specify and the difference is displayed in the widget.
  • All the widgets now support user input for percentile aggregations. The supported values are integers between 1 and 99 inclusive. In Basic mode, drag a numeric field to the canvas, and use the drop-down next to the field name to specify a value for percentile aggregation.
  • The logarithmic scale is now supported in Analytics widgets for the Time Series charts. Use the Logarithmic Y Axis checkbox in the Widget Properties to apply the logarithmic scale to a selected field.
  • You can now edit the properties of multiple widgets.
  • Ability to hide legends is now supported in widgets. In the Widget Properties, select None from the Legend drop-down to hide legends.
  • Analytics Widget Properties now have an option to make the widget's background transparent.
  • Funnel widget now has the ability to rearrange the steps.
  • Agent ID and Client GUID are exposed in the Data tab and can be used to build custom widgets.
  • The Close Widget Builder option is provided to support canceling widget editing. With this option, unwanted changes to a widget can be dropped while editing, and revert to the previous version by closing the widget.
  • The extra whitespace on the histogram has been removed. The histogram now looks condensed on the dashboard.
  • The metrics created using the Numeric widget now displays the exact value returned by the search. In Widget Properties, select Exact from the Format drop-down to view the exact number. Other options available are Automatic, Thousands(k), and Millions(m). The default is Millions(m).
Business Journeys
  • Business Journeys authoring is enhanced with the following features:
    • Business Outcomes is renamed as Business Journeys.
    • The Business Journey page now has the Search button to provide one-click access to the underlying events. Selecting an enabled Business Journey and clicking Analytics Search takes you directly to the Searches page in Basic mode. Analytics Search button is unavailable for definitions in Draft and Valid Draft states.
    • Float type is supported for filtering Business Journey events.
    • Custom event data can be used to create Business Journeys.
    • All the fields that are part of filters and optional filters are automatically collected.
    • When defining Business Journeys, you can now delete the same field from one milestone and add it to a different milestone in the same save action.
    • At the Business Journey level, a field named completed has been added to track the status of the workflow using the boolean values. True represents a completed Business Journey, whereas False indicates that the journey is in progress or is incomplete. Use the Search widget or an ADQL query for the desired Business Journey with the query string, completed, to view the status of the associated events.
    • Business Journeys page in Analytics now shows flow maps detailing the business workflow associated with Business Journeys. The flow map automatically appears as you create milestones for a Business Journey. Additionally, selecting a Business Journey opens it in a new window with the flow map enabled.

    • Analytics generates out-of-the-box metrics at the Business Journey definition and milestone levels. View these metrics in the Metric Browser. 

    • Analytics provides Business Journeys Dashboard with two Views for Business Journeys: Card View and Grid View.

Business Metrics
  • The Metrics page now has the Enable and Disable button on the toolbar.
  • The Metrics page now has the Event Type column.
  • Double-clicking a business metric opens it in the Metric Browser.
  • Business Metrics list is now searchable.
  • Metric on ratios is supported.
Experience Level Management (XLM)
  • Visibility into XLM data is improved in the following ways:
    • You can now create XLM reports in the time zone of your choice.
    • You can now export reports. Reports are exported in CSV format and contain however many reporting periods you choose.
  • You can now migrate XLM configurations from one environment to another. One common use case is when you first deploy a configuration in a staging or test environment and then need to migrate it to production.

    This is done by making two API calls.

    1. Export XLM configuration(s) from one environment.

      GET /controller/analytics/xlm/configuration

      Optionally, supply a configuration ID, or a comma-delimited list of configuration IDs, as a query parameter.

      If this parameter is omitted, the API returns a bulk export of all XLM configurations.

    2. Import a single XLM configuration into another environment.

      POST /controller/analytics/xlm/configuration

  • The Audit Trail now includes complete XLM Configuration information. Four fields are new in the Audit Trail:
  •  From XLM Configuration > Properties:
    •  Event Type (shown as Data Source in Audit Trail)
  •  From XLM Configuration > Compliance Target Settings:
    •  Compliance Target (shown as Field in Audit Trail)
    •  Start Date
    •  Compliance Period
  • You can now export the Audit Trail to a CSV file.

Log Analytics

You can now specify files to exclude from ingestion, by defining a glob pattern of file paths to the blacklist.
Here is a common two-step use case:

  1. Define a glob pattern to include all the files that you want to ingest
  2. Define an additional glob pattern to exclude (blacklist) files that satisfy the first glob pattern, but that you do not want to ingest

Upgrade Notes

Upgrading the Analytics Agent

If you are running the Analytics Agent as a standalone binary, see this topic: Upgrade Analytics Agent.

If you are running the Analytics Agent through the Standalone Machine Agent, See Upgrade the Standalone Machine Agent for instructions. 

If you have been collecting log analytics data:

  1. Preserve the old watermark file so that you can copy it to the corresponding location in the new <analytics-agent-home> directory structure.
  2. Preserve your pre-existing job files so that you can copy them to the corresponding location in the new <analytics-agent-home> directory structure.

Event Service does not work as expected in manually upgraded environments if JAVA_HOME system variable is not set.

This issue does not affect fresh installs of Events Service because Enterprise Console handles setting up the JAVA_HOME system variable.

Field Names for Data Collectors

In versions prior to 4.3, Analytics used the actual HTTP parameter name to display the fields collected by Data Collectors. Beginning in 4.3, Analytics is using the configured display name for such fields.

When you upgrade to agents versions 4.3 or above, new HTTP parameter data will appear under the display name. If you had previously configured the display name to be different from the actual parameter name, your historical data and new data collected by the 4.3 or 4.4 agents for a single HTTP parameter will be split between the two field names.

Enabling Transaction Analytics

Beginning with 4.3 agents, you should enable Transaction Analytics exclusively using the Analytics Configuration UI. The Analytics Configuration UI allows for enabling Analytics at the Application level. You should no longer use the deprecated analytics-dynamic-service-enabled node property. 

If you change the analytics-dynamic-service-enabled node property through the Agent Configuration UI (updating the analytics-dynamic-service-enabled node property directly) it will have no effect on version 4.3 or higher Java Agents.
Related Background

Version 4.2 and earlier app server agents use the analytics-dynamic-service-enabled node property to enable Transaction Analytics. Using the node property directly allowed for disabling and enabling the Analytics Dynamic Service at the application, tier, and node levels. The Analytics Configuration UI allows for setting this property only at the Application level. Therefore, Java Agents 4.3 and higher are not able to disable or enable the Analytics Dynamic Service at the tier and node levels.

Although the Analytics Dynamic Service configurations can be directly changed through the application import and the Analytics Dynamic Service import REST API, manipulating the Analytics Dynamic Service configurations through either of those mechanisms only updates the Analytics Dynamic Service configurations and not the corresponding analytics-dynamic-service-enabled property. Therefore, if you use one of these import mechanisms to enable or disable the Analytics Dynamic Service and you have a mixture of old (pre 4.3) and new (4.3 and higher) agents, you must manually set the associated analytics-dynamic-service-enabled property to match the Analytics Dynamic Service configuration value. The analytics-dynamic-service-enabled node property can also be set as part of the Application Import and has its own Import REST API (accessed at POST /setAgentProperty). See "Import Application Analytics Dynamic Service Configuration" at Configuration Import and Export API.

Resolved Issues

ANALYTICS-3841ADQL query is incorrectly updated when sort order is modified in existing visualization widgets

The distinctcount function returns incorrect results

ANALYTICS-4119Some unique identifiers of Funnel widget are not exposed in the Event table in the Analytics Data tab
ANALYTICS-4534UI sometimes incorrectly shows "unhealthy" as the status for the Analytics Agent


Users assigned Analytics Administrator through a group cannot see searches saved by other users
ANALYTICS‑4806Analytics Agent stops ingesting logs when log file rolls over


The Analytics Administrator permission assigned through groups does not take effect 
ANALYTICS-7554Duration settings for XLM synthetic sessions are in seconds but should be in milliseconds


Fields are not getting extracted for milestones


Unable to define additional filters containing special characters

Known Issues

  • Metrics created from aggregations on eventTimestamp do not work as expected.
  • To deploy the Analytics Agent on Linux using the Universal Agent, you must use machine-agent mode.
  • (Windows only) You can not delete a log file with the "del" command while the Analytics Agent is collecting log data from the file.
  • For Analytics Searches: 
    • In Basic mode, regular expressions and the NOT logical operator are not supported for free text search. 
    • In Basic mode, quotes and commas have no special meaning.
    • Saved Searches from 4.1 can be imported multiple times if you click 'Import from 4.1' button multiple times.
  • Due to timing issues, full information on business transactions might not appear immediately after running a Transaction Analytics search.
  • If you have deployed EUM such that you are using an on-premises Events Service for transaction and log analytics data, and the SaaS Events Service for your EUM data, you can not query the browser or mobile request data using the Analytics API.
  • Events Service does not start properly if installed in a non-default directory in developer mode. This issue is observed in on-premises Windows platforms.