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 (http://download.appdynamics.com).
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.
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 220.127.116.1161.
See the Support Advisory for more details.
November 14, 2019
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.
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.
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.
July 31, 2019
|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|
July 8, 2019
|From "Analytics", the call to getAdditionalAdqlFunctions fails with an HTTP Internal Server 500 Error|
Version 18.104.22.16868 - 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.
|ANALYTICS-10647||Analytics agent is throwing an exception while tailing logs on Linux.|
Version 22.214.171.12413 - March 18, 2019
- You can now encrypt any sensitive text in the analytics agent in the Analytics Agent Properties File.
|ANALYTICS‑8603||Business Journeys: Long field values not displayed or highlighted|
February 25, 2019
|ANALYTICS‑10240||License account usage displays an incorrect count of consumed and provisioned licenses in transaction analytics|
|ANALYTICS-9575||When adding a milestone to a new Business Journey, type hangs on "Fetching Data"|
Version 126.96.36.19953 — February 1, 2019
- Analytics field names are now case sensitive.
- In ADQL queries, the series function now computes the global top n over an entire period using the LIMIT clause. Previous queries computed the top n for each bucketing function.
|ANALYTICS‑9964||Upserts fail while attempting to merge multiple requests concurrently|
|ANALYTICS‑4123||Duplicate field name due to case insensitivity cause rendering issues in SaaS deployments.|
Version 188.8.131.5222 — December 21, 2018
This build of Analytics artifacts is the latest that can be used with AppDynamics Controller version 4.5.4.
|ANALYTICS-7729||Business Journeys do not appear on Custom Dash Analytics widget list|
|ANALYTICS-9360||Analytics searches erroneously convert 'NOT' to '!' in filter names|
|ANALYTICS-9361||Analytics queries return incorrect values when field values start with 'NOT'|
|ANALYTICS-9532||Truststore for SSL communication to EventService was ignored by standalone & bundled analytics agent|
|ANALYTICS-9623||HTTP Data Collectors throw errors and do not display data|
Version 184.108.40.20674 – 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
indexOf()characters in a string
- for example, you can extract the domain name from a URL
combine multiple strings using the
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.
- The ADQL function
indexOf()fails to highlight syntax.
- Creating a metric from an ADQL query fails when the query is a ratio of two
|Funnel widget graphic shows no results even when results exist|
|ANALYTICS-8344||Unassigned shards in Events Service cluster cause snapshots to fail|
|ANALYTICS-8454||When creating a Business Journey, choosing different data types for Primary Keys of different Milestones causes a validation error|
|ANALYTICS-8492||SSL error prevents Analytics Agent from connecting to Controller via HTTPS|
|ANALYTICS-9498||Elasticsearch leader election fails in on-premises AppDynamics deployments|
Version 220.127.116.1132 – 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.
- 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:
- Open the definition of the Business Journey for editing
- Navigate to the Extract Fields area of the milestone that you want to edit
- 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
- 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.
|ANALYTICS‑8474||Saving the Analytics RBAC changes results in '500 Error' due to a missing Role in the Data Access Table|
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 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
completedhas 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.
- 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.
Export XLM configuration(s) from one environment.
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.
Import a single XLM configuration into another environment.
- 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.
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:
- Define a glob pattern to include all the files that you want to ingest
- Define an additional glob pattern to exclude (blacklist) files that satisfy the first glob pattern, but that you do not want to ingest
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:
- Preserve the old watermark file so that you can copy it to the corresponding location in the new <analytics-agent-home> directory structure.
- 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.
analytics-dynamic-service-enablednode property through the Agent Configuration UI (updating the
analytics-dynamic-service-enablednode property directly) it will have no effect on version 4.3 or higher Java Agents.
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.
|ANALYTICS-3841||ADQL query is incorrectly updated when sort order is modified in existing visualization widgets|
|ANALYTICS-4119||Some unique identifiers of Funnel widget are not exposed in the Event table in the Analytics Data tab|
|ANALYTICS-4534||UI 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‑4806||Analytics Agent stops ingesting logs when log file rolls over|
|The Analytics Administrator permission assigned through groups does not take effect|
|ANALYTICS-7554||Duration 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|
- Metrics created from aggregations on
eventTimestampdo 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.