On this page:
On this page:
If you are reading this in PDF format, many links will open in the product documentation wiki. AppDynamics continuously improves its product documentation.
In addition to the enhancements and issues listed below, this release includes several security fixes. For the latest support and security advisories, see Product Announcements and Alerts.
AppDynamics App iQ Platform Notes
The following updates apply to the common components of the AppDynamics App iQ Platform, including changes to the cross-product elements of the Controller UI.
- The Health List widget is a new widget that can display the health for applications, business transactions, tiers, nodes, databases, servers, or health rules. The health status can be displayed as a list, status bar, or both.
- The Timeseries Graph widget now groups events on the x-axis when you choose to show events on the widget. Events are grouped by time of resolution. To see the events, hover over the event on the x-axis.
- You can use metric expressions with Custom Dashboards. The behavior is similar to metric expressions for Health Rules.
Health Rules and Policies
- For health rules based on service endpoints, you can now select specific tiers as the scope of the health rule violation. Previously, you could only choose the scope of the entire application or of certain endpoints.
When you choose tiers for the scope, you can further specify whether the service endpoint health rule considers the average value for the entire tier, a percentage of nodes in the tier, or a specific number of nodes in the tier. This configurability matches the configurability of business transaction-based health rules. Previously service endpoint health rule conditions were evaluated only on the basis of tier average.
- You can now apply health rules based on the Error Rates type to the average value for the entire tier, a percentage of nodes in the tier, or a specific number of nodes in the tier.
- The Evaluation Events table now uses the time range for Health Rules. Previously, it used a custom time range.
- A new Controller setting (application.metric.registration.limit) limits the maximum number of metrics that can be registered for a business application in the Controller at 1 million by default. Upon upgrade, existing applications that exceed the limit are not affected by the limit. See Metrics Limits
- Reporting Service supports log file rollover and configurability.
Transaction snapshots for the Java applications show thread contention information. See "Thread Contention in Transaction Snapshots" on Thread Contention.
- The AppDynamics Universal Agent is a deployment tool that automates the tasks of installing, running, and maintaining AppDynamics agents. The Universal Agent runs on Linux and Microsoft Windows systems, and can particularly help you manage agents in a large or dynamic application environment. In its initial release, the Universal Agent can manage Machine Agents and Java Agents.
For more information, see AppDynamics Universal Agent.
- On the License page, you can now see visualizations of your license consumption, including number of license units used over time. You can also create rules to specify how many Application Performance Monitoring licenses you want to allocate to specified applications and machines.
|UI||Controller UI shows "Created successfully" when saving an account with duplicate EUM license key||CORE-56320|
|UI||Tooltip doesn't work on Scatter plot, Event overlay (timeseries), and Notes (streaming widget)||CORE-59013|
|UI||Mapped Roles for users are getting updated when roles are getting assigned by using search role feature||CORE-59450|
|UI||"Created Action" is not displaying under "Actions to Execute"||CORE-60801|
|UI||CD Template > Gauge series selector shouldn't have "All nodes in this tier" option||CORE-61017|
|UI||Gauge "Select A Metric" should be a button||CORE-62111|
|UI||CD Metric Path is not restored on second open of series metric||CORE-62270|
|UI||Sort doesn't work for "Duration" in "Health Rule Violations" tab.||CORE-62711|
|UI||Clicking "Show More" on the event list repeatedly results in inaccurate event counts||CORE-64416|
|UI||Threshold lines appear in charts even when no data is available||CORE-65068|
|UI||Sometimes UI does not reflect actual affects list and health status in "Current evaluation status" section for health rule selected||CORE-65238|
|UI||Sometimes custom dashboards stop displaying data after running a few days||CORE-65344|
|UI||"The WAR Room with key: "" does not exist in persistent store" message is displayed while Save as Template||CORE-65553|
|UI||Email template text body error||CORE-65845|
|UI||Time scale not in sync with respect to selected time range in Tiers & Nodes Custom Dashboard||CORE-68016|
|UI||Background color missing from Design section for grid mode||CORE-68151|
|UI||Setting a very long name for Threshhold line on timeseries graph throws server-side exception||CORE-69702|
|UI||Metric Expression > Variable Name field needs max limit on characters||CORE-69742|
|UI||CD Gauge Selecting a metric with no data available does not set properties label on save||CORE-69769|
|UI||Hourly send at repeat modified time after closing and reopening the report dialog||CORE-70096|
|UI||Series Selector > Multi Selector (Business Transactions) sort doesn't work on Business Transaction-type type column||CORE-70100|
|UI||Context-based right-click menu on a widget doesn't work as expected||CORE-70167|
|UI||Sometimes the top nav bar doesn't render properly in IE 9||CORE-70200|
|UI||APM - App Dash - Event Counts do not match events in event list||CORE-70252|
|UI||No tool tip is shown on Health Status widget in view mode on configuring Drilldown URL and description under MISC in absolute mode||CORE-70264|
|UI||Gauge doesn't work when Metric Expression evaluates to a negative number||CORE-70354|
|UI||Series Selector -> Select Data Filter -> Display the first "n" metric series field has no max-length chars defined||CORE-70373|
|UI||Metric Selection needs to reset to "Single Metric" and "Select Metric" when App or Category changes||CORE-70433|
|UI||Custom time range does not work||CORE-70569|
|UI||Custom Dashboard filter by tier search-suggestions not working||CORE-70913|
|UI||Custom time range option not working in Health rule Evaluation Events||CORE-71194|
|UI||Metric Browser when opened multiple times (with different apps) doesn't work correctly||CORE-71266|
|UI||Health Rule -> Tier is not displaying for all server health rules||CORE-71429|
|UI||Series Selector -> Select Metric -> Single Metric [ edit mode ] -> doesn't show the selected metric||CORE-71649|
|UI||Error while saving Custom Dashboard series without selecting metric||CORE-71786|
|UI||SAML user cannot set default landing page||CORE-72254|
|UI||Default roles are missing suffix on admin page||CORE-72271|
|UI||Custom Dashboard - Add/Export of Analytics widget to dashboard with Absolute layout not visible||CORE-72745|
|UI||Cancelled edit of existing Browser App Report does not revert to original app name||CORE-73829|
|UI||Reselecting a saved dBMon metric after chosing SIM doesn't show the specific DBs||CORE-74490|
|UI||Health Rule evaluation status table sometimes doesn't fetch and refresh||CORE-74916|
|UI||Error while trying to edit custom dashboard||CORE-75723|
|UI||Database list is empty in Object scope tab of create action supression window||CORE-75817|
|UI||Issue with Dashboard pop-up legend transparency change||CORE-76010|
|UI||EventListWidget shows events from across apps when Health Rule Violation filter is selected||CORE-76319|
|UI||Lot of white space before and after report titles||CORE-76516|
|UI||External links should not be clickable in the controller web UI||CORE-78227|
|UI||Custom Shared Dashboard doesn't open up metric browser for time series widget on double-click||CORE-78480|
|UI||Custom dashboard doesn't show iFrame content in IE11||CORE-79711|
|UI||Custom Time Range not visible for Health rules evaluation||CORE-81311|
|UI||Metric expression in dashboard widget does not show relative metric path after selection||CORE-82281|
|UI||Inconsistency in widget (pie and time series) legend||CORE-86242|
|UI||Can't edit a report second time without in-app or browser refresh||CORE-86835|
|UI||Slow user list loading due to extra calls to getAllAccountRoles/getAllGroups||CORE-87300|
|UI||Status By Node image in Current Evaluation Status window in health rule screen is not displayed||CORE-88227|
|UI||Time range widget disappears with lengthy Business Transaction names|
- Controllers that use SAML for UI authentication may not work after 4.3 upgrade, with a "validateRequestedUrl failed error" in the server log. In 4.3, Controller SAML authentication now validates the request URL against the internal Controller URL setting. This issue results from request URLs that differ from internal Controller URL, whether due to a proxy or to accounts in a multi-tenant Controller with different URLs per account. See Support Advisory: SAML Authentication Fails after 4.3 Upgrade for more information on symptoms and a workaround.
Application Performance Management Notes
With the new AppDynamics APM Any Language license, you can swap between license units of different App Agent types as your application environment changes, without requesting a license change from AppDynamics.
A unit of the AppDynamics APM Any Language license entitles you to a single license unit from among the following agent types:
- Java Agent
- .NET Agent
- PHP Agent
- Python Agent
- Node.js Agent
- C/C++ Application Agent
- Go Language Agent
- Apache Web Server Agent
The following agent types are not covered by the APM Any Language license:
- Standalone Machine Agent
- Database Agent
After upgrading to AppDynamics 4.3, you have the option of updating legacy application monitoring license units to APM Any Language license units. For information on updating licenses, see https://portal.appdynamics.com/apm-license.
- The Controller UI includes updated tools for interactive transaction discovery. During a transaction discovery session, you can:
- Edit Java Agent transaction detection rules and preview the resulting Java business transactions.
- Identify POJO or POCO entry points based on uninstrumented code detection.
- Use the Class/Method browser to search for Java or .NET entry points to instrument.
When you create POJO or Servlet custom match rules, you can launch a live preview session to see resulting business transactions. The Controller UI idetnifes resulting entry points and marks the as masked when they are hidden by upstream business transaction entry points. See Custom Match Rules for more detail.
- Previously, you could only enable development level monitoring at the business application level. Now you can now enable it based upon a combination of a particular business transaction and its originating node. This limits the effects of development level monitoring to specific nodes. This lets you minimize the resource overhead associated with development level monitoring.
Additionally, the Controller now monitors the number of snapshot segments generated during development level monitoring. It automatically disables development level monitoring for the business transaction contributing the most segments when the threshold is exceeded. The new snapshot segment limit helps prevent excessive resource consumption during development level monitoring.
See Development Level Monitoring for more information. Also, see Upgrade Notes for upgrade considerations.
The scope configuration model allows you to bundle multiple tiers into a scope, and apply transaction detection rules to that scope. Prior to 4.3, all applications adhered to the hierarchical inheritance model, which limits you to applying rules to one tier at a time. Starting from 4.3, existing applications follow the hierarchical inheritance model, and new applications that you add follow the scope configuration model. If you disable the scope configuration option, you will lose any transaction detection rule configurations you applied after migrating to 4.3.
The scope configuration model currently applies to transaction detection settings only for applications you create in AppDynamics 4.3.
- You can enable automatic cleanup (deletion) of stale business transactions that are not called at the frequency and timeframe you specify. See Organize Business Transactions for more information. Automatic cleanup is only enabled if the Scope Configuration Model is enabled. (deletion) of stale business transactions that have not been called for a long period of time. See Organize Business Transactions for more information. Automatic cleanup is only enabled if the Scope Configuration Model is enabled.
- The card view and list view for the Applications page in the Controller UI are paginated. Controls for increasing the number of applications shown at a time or showing the next or previous set of business applications appear at the bottom of the page. Pagination makes it easier to browse the Applications page when there are a large number of business applications.
Note that the search field at the top right now searches only by Application name, and the search filter is applied in the Controller. Previously, the search applied a free-text search to the results in the context of the browser.
- When importing a business application configuration, you can now choose the type of configuration settings that you want to import from the business application, such as transaction detection rules, errors threshold, and so on. The application import dialog box shows the status for each type of setting as it is imported. In addition, instead of creating a new business application, you can choose to merge the imported configuration artifacts to an existing business application. Also this release improves validation of the import source file.
When you import a configuration file from 4.2.x or earlier for a new application, all hierarchical transaction detection rules are converted to scoped rules. When you import a configuration file from 4.3 or later for a new application, all hierarchical transaction rules are converted to scoped rules, unless you select the mds_config option in the Controller during import. The conversion puts all tier-level rules into the default scope. One exception: if there is custom configuration at the tier level, then a new scope is created for the custom tier during conversion.
MySQL has been updated to version 5.5.54 to fix security vulnerabilities.
AppDynamics Mobile App
- Native iPad support with a bigger real estate for better visibility across different product areas.
- Full-fledged AppDynamics flow maps on iPad devices, allowing you to view dynamic, visual representations of the components and activities of your monitored application environment on your iPad.
- End-User Monitoring (EUM) data support, allowing for seamless on-the-go EUM tracking.
C/C++ Agent Enhancements
- C/C++ API function added for overriding the response time for a business transaction, appd_bt_override_time_ms. For more information, see the C/C++ Agent SDK Reference.
- Added a backend type for JMS services,
- Cross app correlation is now supported for C/C++ agents. Specifically, transactions are correlated across business applications in which the originating tier in the downstream application is a C/C++ Node.
Go Agent Enhancements
The Go Agent is introduced. You can use the Go Agent SDK to configure monitoring Google Go Applications. With the Go Agent, you can:
- Trace transactions through Go tiers
- Surface Go runtime errors
- Report backend calls made by Go services
Java Agent Enhancements
The Java Agent collects additional JMX metrics related to memory and garbage collection: Allocated Objects, Promoted Objects, Freed Objects, and LiveData.
- A new node property,
logbased-visibility-log-check-interval-in-millis, lets you specify how often the Java agent checks application logs for information related to garbage collection performance.
- The Java agent installation process has been simplified for OSGI-compliant versions of JBoss/Wildfly by removing the necessity for specifying AppDynamics packages as system packages in the startup configuration.
- The Java Agent distinguishes between the different nodes in an Oracle RAC backend.
The Java Agent supports the following frameworks:
- Play framework versions 2.4 and 2.5.
- Netty 3.x
- The Java Agent adds the following backend support:
- Tracking for asynchronous Ribbon HTTP client requests.
- Jetty asynchronous HTTP client versions 8.x and 9.x.
- Automatic detection for Kafka producer requests. You can configure the agent to discover Kafka consumer requests. See "Kafka" on Java Backend Detection.
- The Java Agent supports mutual TLS authentication with the Controller.
.NET Agent Enhancements
- You can use the AppDynamics for Windows Azure NuGet package to instrument Azure Web Applications, Web Jobs, and API Apps. See Install the AppDynamics for Windows Azure NuGet Package.
- The .NET Agent automatically discovers Open Web Interface for .NET (OWIN) web api calls for both self-hosted OWIN and OWIN hosted on IIS.
- .NET now supports end-to-end transaction latency monitoring using method-based transaction demarcators. See End-to-End Transaction Latency for more information.
- AppDynamic reports end-to-end transaction metrics for custom POCO entry points on asynchronous task-based methods. For more information, see POCO Entry Points.
- The .NET Agent now supports SQL Data collectors for Application Analytics.
- The .NET Agent automatically enables multithreaded correlation for
TaskFactory.StartNewon the Common Language Runtime (CLR) 4.x and later. If you are upgrading from a previous version, see Upgrade Notes. The
thread-correlationnode property is no longer required to enable thread correlation.
Node.js Agent Enhancements
- The Node.js agent now supports logging levels. Previously, the agent offered only debug level logging written to standard output (stdout). See Node.js Agent Logging for more information.
- The Node.js automatically detects the following backends:
- MongoDB database
- Apache Cassandra
- The agent detects applications running in PM2 process manager environments and names nodes after the process.env.pm_id value, which ensures node name uniqueness for Node.js applications.
PHP Agent Enhancements
- The PHP Agent now supports PHP 7 and Drupal 8.
Python Agent Enhancements
Python 3 support added.
Support for Tornado (http://www.tornadoweb.org/). The Python Agent supports business transaction detection for Tornado applications as follows:
Business Transaction detection from Tornado 3.2 and later.
Asynchronous HTTP client exit call detection from Tornado 4.1 and later.
- Support for detecting Oracle DB for Python (cx_Oracle) as a backend service.
- More than one exit call can now be active at a time for a business transaction. Previously, only one exit call was reported for a business transaction associated with an application that uses threads or greenlets to perform multiple exit calls concurrently.
Apache Web Server Agent Enhancements
- Cross app correlation is now supported for Apache Web Server agents. Specifically, transactions are correlated across business applications in which the originating tier in the downstream application is Apache Web Server node.
- Development Mode has been enhanced in 4.3 to enable development level monitoring at the business transaction and node combination. When upgrading a Controller that has development mode enabled, individual business transactions will not have development level monitoring enabled after upgrade. You need to enable development monitoring for the business transactions individually. Development level monitoring mode will still be enabled at the application level.
- The Controller only enables scope based configuration for applications you create in AppDynamics 4.3. Upgraded applications continue to use the hierarchical model. Refer to the AppDynamics 4.2 Transaction Detection documentation.
- In previous versions of AppDynamics, the .NET Agent you did not need to configure correlation for
ThreadPool.QueueUserWorkItemfor the CLR 4 in the config.xml. If you explicitly call
ThreadPool.QueueUserWorkItemon the CLR 4, when you upgrade to the .NET Agent 4.3, you must enable the instrumentor for
ThreadPool.QueueUserWorkItemfor the CLR 4 in the config.xml. See Thread Correlation for .NET.
- If you use the AppDynamics Azure Site Extension with environment variable configuration, you need to update the environment variables when you upgrade to the 4.3 site extension. See Install the AppDynamics Azure Site Extension.
- If you enable Kafka consumer entry points for the Java Agent, the flow map shows the data flow in reverse from the node to the Kafka cluster.
Database Visibility Notes
- Hovering on the wait states legend displays a pop-up explaining what the wait states are.
- The following new privileges are required for DB2 9.7 and above:
grant execute on function SYSPROC.MON_GET_TRANSACTION_LOG to <DBAgent_User>;
grant execute on function SYSPROC.MON_GET_DATABASE to <DBAgent_User>;
- A new optional system property, retry.on.auth.failure, allows you to stop retrying to establish a JDBC connection when JDBC authentication fails.
- Garbage collection affects all monitored entities, including database queries, sessions, clients, and schemas. Entities that are garbage collected will be displayed as unavailable.
- You can enable CyberArk password vault protection for your database username and password. When you enable CyberArk, you must enter Safe, Folder, and Object credentials to fetch the username and password for your database.
- You can enable and disable collectors that you have created. When you create a new collector, it is enabled by default. When you want to discontinue monitoring of a database without deleting the collector profile, you can disable the collector.
- You can specify SQL queries that you want to run on the monitored database every minute. The results of each query will be collected in a custom metric.
- You can enable Oracle Wallet password storage.
Improved granularity of role permissions. In 4.2, roles could only be configured to view and configure all databases, rather than select database instances. In 4.3, roles can be configured to specify select database instances that the user is allowed to view, edit, or delete.
- Hardware monitoring now includes Amazon RDS.
- You can use Database Visibility to monitor Oracle RAC clusters and their nodes. Prior to 4.3, you had to create a collector for each node in a RAC instance. Starting in 4.3, you can create a collector for just one node in the RAC instance, and it automatically detects the remaining nodes in the cluster. When upgrading to 4.3, you should delete old RAC collectors and create new RAC collectors to leverage automatic cluster detection.
|DB Agent||On SQL Server, permission issues can cause the procedure text to be displayed instead of the procedure name||CORE‑88041|
|DB Agent||User cannot see CPU and memory metrics on RedHat 7.2||CORE-85437|
|DB Agent||Special characters can cause problems in mssql hardware collector passwords||CORE-85214|
|DB Agent||DiskQueueLength is not calculated correctly by DB Agent||CORE-80589|
|DB Agent||"Database Name should not be blank if there is a failover partner" - Error creating MSSQL collector with failover partner||CORE-79705|
|DB Agent||Remove step for Kerberos authorization if it is not being used||CORE-76504|
|DB Agent||DB agent generates log warnings (java.lang.IllegalArgumentException: Invalid client) when there is no problem with the agent||CORE-76133|
|DB Agent||AppDynamics Agents > Database Agents tab can confuse users||CORE-72675|
|DB Agent||New column (or increase column size) to store IP address from custom JDBC string||CORE-71039|
|DB Agent||Using a deprecated function in DB2 Collector for >= 10.5||CORE-69992|
|DB Agent||SQL Server TEMPDB is filled up because of DB agent||CORE-69798|
|DB Agent||Warning in logs for MySQL DBMS metric||CORE-69635|
|DB Agent||Memory metrics not shown on Databases dashboard||CORE-67974|
|DB Agent||SQL server buffer cache hit ratio is wrong||CORE-64864|
|DB Agent||Problems establishing SSL connection with SQL server||CORE-64366|
|DB Agent||Database Monitor roles have VIEW access to other products' application instance||CORE-62908|
|DB Agent||Browser becomes unresponsive during query tab load||CORE-59945|
|dbmon||Object Browser doesn't work for Azure SQL||CORE-86419|
|UI||403 error when user with “DB Monitoring Administrator” role tries to export database details||CORE-80824|
|UI||Synthetics: drilling down into Oracle DB does not show the queries from the Transaction Snapshot when coming from EUM||CORE-80379|
|UI||UX issues when creating a War Room from a database event||CORE-76392|
|UI||IO metrics are not listed when adding metric to custom dashboard||CORE-70861|
|UI||Exported query data shows "undefined" in Average Response Time column||CORE-69636|
|UI||Total execution is showing as Zero("0") in report generation under DB Drill down comparison||CORE-60428|
End-User Monitoring Updates
Business Transaction Correlation
The changes below have been made for correlating business transactions. See Correlate Business Transactions for Browser RUM for more information.
- The business app configuration for integration with browser apps has been moved to the Configuration > User Experience App Integration page.
- Use the Controller UI to enable/disable business transaction correlation based on the following:
- injection via cookies
- injection via footers
- injection via headers
- headers even for base pages
- URL match filters to include or exclude URLs for which correlation should be injected
- The Configuration page has the following changes:
- The Configuration page displays most recent browser snapshot received by the browser app.
- From the Configuration page, you can toggle Browser RUM to be enabled or disabled for a specific browser application.
- View the EUM app key.
- Configure separate naming rules for Ajax requests. This includes the ability to filter Ajax requests based on the HTTP method.
- View the EUM app key.
- You can configure applications to be compatible for Browser RUM. See Enable the Content Security Policy (CSP).
- The Configuration page has a read-only mode to enable users without write permission to view settings.
- New performance metrics for each page loading time based on the configurable browser snapshot thresholds:
The Geo Dashboard has an option for viewing regional performance. You can view key performance metrics by country or region in the Geo Dashboard. See Geo Dashboard for more information.
Pages & AJAX/Sessions/Analyze
- From the Sessions page, you can filter sessions that have browser snapshots by using the criteria Has Resource Timing.
- You can export raw data as a CSV file from Records tab for both the Analyze and Sessions pages.
- The page referrer is given in session details and in browser snapshots.
- The Pages & AJAX details dialog displays the first-byte time.
Browser Synthetic Monitoring
In the Session Details dialog, the waterfall displays log entries and assertion failures for scripts, so you can see them in the context of resource loading.
See Synthetic Sessions to learn more.
Synthetic jobs automatically include screenshots taken when a page is visually complete and at the end of the session. Users can also create custom screenshots with an API call from synthetic scripts. Screenshots appear in the Sessions Details dialog.
AppDynamics has a WebDriver Scripting Assistant, a Chrome extension, to help you create the selector statements for your synthetic scripts. See Locate DOM Elements for more methods and best practices.
- The Crash Dashboard has been redesigned and now enables you to do the following:
- mark crashes as open/closed
- filter crashes by app version
- The Crash Analyze page replaces Crash Snapshots and enables you to do the following:
analyze crash data
add custom widgets
filter by app version
The Crash Details dialog:
links to the associated sessions
- shows formatted stack traces for mobile app crashes
- includes the Exception Name, Class, Method, File, and Line Number in the Summary section.
- has a Download Snapshot button
- Memory usage is displayed in the crash snapshot details.
- The exception name, class, method, file, and line number are included in the crash group.
- Crash snapshots are linked to the sessions waterfall.
- Crash reports include the memory usage and recent UI events are captured by the Android/iOS Agent.
- The Controller UI displays the message "Crashes with missing dSym files found" when the dSYM file has not been uploaded. When you click the link Upload missing dSym files, the View Missing dSym Files dialog appears displaying the uploaded and missing dSYM files.
- New Xamarin Agent for instrumenting Xamarin apps for iOS or Android. See Instrument Xamarin Applications for more information.
- You can configure the Android Agent to capture native Android crashes. The native app crash report includes the app name and version and can also include user data and breadcrumbs. See Optional: Enable/Disable Native Crash Reporting for configuration instructions.
- You can use the Mobile SDKs to set user data for the following data types: String, Integer, Long, Date, Double, and Boolean.
- You have the ability to use multiple logging levels in iOS app using the iOS SDK. See Enable Logging and Set Logging Level for more information.
- There is an API that allows you to disable auto-instrumentation for both Android and iOS apps.
- By default, the runtime dependencies for Android apps will be injected by the Android Agent. You can also turn off the injection and manually add the dependencies.
- You can use the
HttpRequestTrackerto override the value of the headers Request/Response Content Length. See Customize Your Instrumentation With the Android SDK to learn how.
- For iOS apps, you can use multiple logging levels. In past versions, only one logging level was available for iOS apps.
You no longer need to provide the following lines in the ProGuard configuration file
Mobile Health Rules and Policies
- You can now get alerted when a new unique crash is detected and set up health policies for sending alerts for crash events. See Crash Alerts for more information.
- Mobile apps have default health rules set up for you. You can modify these default health rules as well.
- The Home page now has icons indicating the health of mobile apps. The red icon indicates that there are critical violations, the yellow icon indicates there are warnings, and the green indicates that the mobile app is healthy.
Mobile Apps is a new health rule type that can be used to create health rules. You can create health rules for mobile app performance based on specified metrics, such as app starts, network requests, and app crashes.
You can specify the scope of health rules for network requests using one of the following criteria:
All Network Requests in the mobile app group
All Network Requests for selected Mobile Apps in the mobile app group
Specified network requests
Network request in the mobile app group matching the given criteria
Mobile alerts can be configured to be sent when the crash count reaches a specified threshold.
Mobile App Dashboard: Overview
- The Mobile App Dashboard has the following five new scorecard widgets:
Events Scorecard: Displays the health rules violations and crash events.
Network Requests Scorecard: Displays the status for each network request. The status can be normal, slow, very slow, or stalled, and is determined by the response time. You can use the default values for the status or add custom values from Configuration.
Network Requests HealthScorecard: Displays the health status for each network request entity. The health status is determined by the health rules set for network request entities. You can set the health rules for each network entity or use the defaults. that you set. The widget links to the Health Rule Violations page.
Crash Metrics Scorecard: Displays the crash rate and total crashes of your mobile app. This widget links to the Crashes dashboard.
HTTP Error Scorecard: Displays the number of HTTP errors for your application. This widget links to the Network Request page.
Mobile App Health widget in the Mobile App Dashboard displays a summary of the app health, showing health rule violations, crashes, errors, and network request health.
Mobile App Dashboard: Geo
You can now visualize data based on app opens in addition to network requests.
The Map Options menu enables you to set metric ranges (network requests/crashes) and set the max load circle size.
Mobile App Dashboard: Usage Stats
Use app opens (loads) as the primary unit of measure of instead of network requests.
Mobile Metric Browser
The following are new metrics:
Normal Network Requests
Slow Network Requests
Very Slow Network Requests
Stall Network Requests
Mobile sessions now include the following:
UI events such as button clicks, text edits, and table cell selects
- Data connection types
- System events - data connection transitions such as when an app uses Wi-Fi changes to using 3G, etc.
- You can filter session results by date and time criteria.
On-Premises EUM Server
Both Browser and Mobile RUM sessions are supported in version 4.3. In earlier versions, only SaaS versions of the EUM Server supported RUM sessions. Because sessions in the on-premises EUM Server are enabled by default, you need to set the following configurations if you want to disable RUM sessions:
You can limit the number of snapshots retained by the EUM server by setting a global maximum or by filtering snapshots based on the network response time.
- Automatic injection is not supported if the Web Server Agent is used.
- Server-side correlation for Mobile RUM is not supported if the Web Server Agent is used.
- Dynamic URL updates don't work well with Browser Synthetic Monitoring.
- Network traffic shaping is not supported in IE 11. It is supported in all other browsers.
- If you hit the limit for RUM pages, synthetic data for new pages is dropped. To avoid this, clear some of the excess pages.
- If you write a script that visits a page with an SSL error (e.g., an expired certificate), the session will time out.
- Visiting URLs that are not HTML pages (e.g., an XML data file) is not supported and will behave strangely.
Server Visibility Notes
The Standalone Machine Agent can now report the following metrics on Linux machines:
- CPU > %Busy 95th Percentile – The Busy Time percentage was at this level or lower 95% of the time.
- CPU > IOWait 95th Percentile – The CPU time waiting for an I/O request was this long or shorter 95% of the time.
- Disks and Partitions > Queue Time (ms) 95th Percentile – The queue time for read/write requests was this long or shorter 95% of the time for the reported time window.
- Memory > Pages Paged In 95th Percentile – The paging rate to virtual memory was at this level or lower 95% of the time.
- Memory > Pages Paged Out 95th Percentile – The paging rate from virtual memory was at this level or lower 95% of the time.
- Memory > Pages Swapped In 95th Percentile – The swapping rate to virtual memory was this level or lower 95% of the time.
- Memory > Pages Swapped Out 95th Percentile – The swapping rate from virtual memory was this level or lower 95% of the time.
Note the following:
- These metrics
- Are available on Linux machines only.
- Are visible only in the Metric Browser.
- Percentile metric reporting must be enabled on both the Controller and the Machine Agent. By default, reporting is disabled on the Controller and enabled on the agent.
- To enable/disable reporting on the Controller, log in to the Controller administration console and set the
sim.machines.percentile.percentileMonitoringAllowedproperty. See Controller Settings for Standalone Machine Agents.
- To enable/disable reporting on the agent, open the <machine_agent_home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml file and set the
percentileEnabledproperty. See Configure Server Visibility.
- To enable/disable reporting on the Controller, log in to the Controller administration console and set the
- The Server Metric Browser includes a new Total Process Count metric that measures all individual processes observed by the Standalone Machine Agent, before it filters out unreported processes and groups the remaining processes into classes. This metric is useful for identifying anomalies in the number of processes running on a specific machine. For example: If the average Total Process Count on a machine is usually 200 to 300, and then suddenly rises to 2000 or more, this could indicate a problem on that machine.
To collect this metric, the Machine Agent captures the number of processes every 30 seconds and calculates the average number of processes per minute. This means that
- Observed is the average number of processes per minute.
- Min and Max are the 30-second buckets with the least and most processes.
- Count and Sum are the number of process captures each minute and the sum of the processes in each capture for that minute (capture1 + capture2).
- Standalone Machine Agents now report CPU Load metrics on Windows machines.
The 4.3 Standalone Machine Agent can now report Server Visibility metrics (if the agent has Server Visibility enabled). Previous versions of the agent reported Basic metrics only on Solaris. Note the following:
- All metrics are reported except the following:
- CPU metrics:
- Process metrics:
- Major Faults/sec
- Minor Faults/sec
- CPU metrics:
- If the agent has Server Visibility enabled, the agent uses the ServerMonitoring extension by default. If Server Visibility is disabled, the agent uses the HardwareMonitor extension by default. Server Visibility requires an additional license on the agent.
- When collecting Process metrics, the Standalone Machine Agent observes and captures only the first 80 characters of each process name and argument list. This means that the agent considers only the first 80 characters of each process string when it applies whitelists ("always monitor this process") and blacklists ("never monitor this process") defined in ServerMonitoring.yml.
The 4.3 Standalone Machine Agent has been tested on the following Solaris platforms:
10 (x86 and x64)
11 (x64 only)
10, 11 (64-bit)
For information about how to install and set up the 4.3 agent on Solaris, see Solaris Install Using ZIP with Bundled JRE.
- The CPU time series chart now shows the following metrics:
- CPU Usage – Percentage of time spent processing user or application requests
- CPU Steal (new) – Percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor
- CPU System (new) – Percentage of time processing OS functions related to user or application requests
- Number of CPUs
- The Server Dashboard includes a new Load Average time series chart that shows 1-minute, 5-minute, and 15-minute averages.
- When you open the Server Dashboard for an individual transaction snapshot, time-based Dashboard graphs include an indicator that shows the snapshot time range.
|Controller-Platform||Default Server health rules that contain wild cards should be disabled by default||CORE‑80899|
|Controller-Platform||Server Visibility remapping shouldn't use TX attribute inside of metric packet insertion||CORE-78693|
|Machine Agent, SIM-server||Service Availability is producing two events every 5 minutes on no status change||CORE-70886|
|SIM-server||NoTxnTimerTask will not purge stale machines in background||CORE-83672|
|SIM-server||Process TotalsLimiter.currentCount is out of sync with database||CORE-81827|
|metric browser, SIM-server||REST API issue while opening Server Visibility metrics from Metric Browser||CORE-80360|
|SIM-server||Sim Metric duplication rules not created for all accounts on after upgrade from pre-4.2 controller to version >= 4.2||CORE-76211|
|SIM-server||Issues displaying reported Machine Agent metrics observed on a SaaS Controller||CORE-72754|
|SIM-server||Gaps in Server Visibility metric charts observed on some Controllers||CORE-61008|
|UI||Updates to Servers list not reflected when viewing Controller in Internet Explorer 11||CORE-82250|
|SIM-server, UI||Cannot delete old servers after upgrading Controller to 4.2.2||CORE-72053|
|UI||Servers > Events: when exporting data to CSV, Subgroups values appear as negative||CORE-62716|
|SIM-server||Memory Utilization Metrics are not reported correctly on Windows||CORE-90852|
- If a metric name contains colons or pipe characters (
|), the Metric Browser interprets the name as hierarchically separated. These characters could appear in a process name, a disk or partition name, a mount point, or a network interface name.
- A machine agent enabled for the 4.1 Server Monitoring Beta will not work with a 4.3 Controller. To continue using Server Visibility (previously Server Monitoring), upgrade both the machine agent and the Controller.
- If the machine that a Machine Agent is monitoring goes to sleep, monitored processes might be duplicated on the Controller. Because the process has a new start time, the Controller interprets it a new process. When the configured process count is reached, the Controller marks the duplicated processes as terminated and purges them.
- (Windows only) You must have .NET Compatibilty Mode enabled for Server Visibility to work correctly on a server with a .NET APM agent installed.
- The following Health Rule is disabled by default in this release:
Disk Usage is too high on at least one partition.
This wildcard health rule can result in high resource consumption and health rule evaluation times on the Controller. If this rule is critical for your environment, the recommended practice is to create your own custom Health Rules and apply specific rules for specific volumes on specific servers. For more information, see the following Support Advisory: https://community.appdynamics.com/t5/FEZ-Knowledge-Base/Server-Visibility-Support-Advisory/ta-p/22408
Standalone Machine Agent Notes
- In 4.3, JRE 1.8 is bundled with all the OS-specific Machine Agent installation downloads.
|Machine Agent||Data collector on Windows Standalone Machine Agent does not terminate in some cases||CORE‑82379|
|Machine Agent||start-stat-run.sh generates too many machine-agent.log entries when data can't be gathered||CORE-79699|
|Machine Agent||machine-agent script throws "./machine-agent: line 93: : No such file or directory" on startup||CORE-78993|
|Machine Agent||User cannot run basic monitor on Windows or Linux if Server Visibility is enabled||CORE-78851|
|Machine Agent||Custom metrics component registration using Tier name rather than Tier id||CORE-77104|
|Machine Agent||Report CPU I/O wait||CORE-76567|
|Machine Agent||Machine Agent SysV Init Script does not actually support a non-root runtime user||CORE-73458|
|Machine Agent||Machine agent "keystore-file-name" relative path is breaking||CORE-72757|
|Machine Agent||Absolute paths issue for loading libraries from a directory in Windows for Machine Agent Extensions||CORE-68253|
|Machine Agent||aix-stats.sh is written for bash, but AIX doesn't ship with bash||CORE-67960|
|UI||Machine Agents list does not reflect newly-created application (requires browser refresh)||CORE-82424|
|UI||Servers > Events: when exporting data to CSV, Subgroups values appear as negative||CORE-62716|
|UI||User can't unregister an agent from an application, thus can't rename Unique Host ID||CORE-28936|
- Reset Machine Agent action on the AppDynamics Agents window is not available for 4.3 Machine Agents.
(Windows only) The JavaHardwareMonitor extension and the ServerMonitoring extension (introduced in 4.2) assign network names differently. If you have any health rules based on JavaHardwareMonitor names, and you want to use these rules with the ServerMonitoring extension, you will need to update the names that these rules are based on.
Application Analytics Notes
Centralized Log Management provides a Controller-based UI for configuring the data you collect from logs. See Configure Log Analytics Using Source Rules. To migrate your previous configuration from job files to source rules, see Migrate Log Analytics Job Files to Source Rules.
The new Centralized Log Management configuration settings are applicable only to Analytics Agents that are versioned 4.3 and above.
The new configuration mechanism provides the following new capabilities:
- New field customizations:
- masking of sensitive information
- renaming, replacing, deleting fields
- changing the field data type
- Improved deployment capability for log configuration using Agent Scopes
- Browser RUM, Mobile RUM, and Synthetic Sessions data is accessible in Application Analytics for both on-premises and SaaS controllers. See ADQL Data for a description of the data that is collected by default.
- You can now collect business data from parameterized SQL calls. See Collect Business Data From SQL Calls.
Search and ADQL improvements
- Improvements have been that improve query performance, including server-side pagination of results and streaming results for ADQL queries
- Analytics Query REST APIs have been improved to include support for pagination. See Analytics Events API for details on usage of the
- Free text search improvements:
- Wild card characters can be used in the first three characters of a search string
- Wild card characters can search over tokens
- CamelCase analyzer for improved tokenization of terms using CamelCase format
- All non-alphanumeric characters are considered delimiters
Metric Creation From Scheduled Queries
- Metrics can be created for most analytics functions. See Create Analytics Metrics From Scheduled Queries.
Analytics Events API
- The version of the content type parameter in the REST APIs is changed from v=1 to v=2. For example,
Content-type: application/vnd.appd.events+json;v=2. See Analytics Events API.
- The agent-side component previously referred to as the Analytics Plugin (AP) to the App Agent has been renamed to Analytics Dynamic Service. The Analytics Dynamic Service is not a new component. This is a name change only and is reflected in the deployment diagrams used in Analytics Deployment Options.
- Relevant Fields are available for all analytics event types.
Upgrading Your 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.
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 affect 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 be 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||Change in timestamp format causes time series charts to not work||CORE‑89035|
|Analytics||Event service is returning wrong formats for older controllers||CORE-88173|
|Analytics||Autocomplete does not work with EUM events||CORE-86999|
|Analytics||Analytics agent consuming too much CPU tailing a single log file||CORE-84331|
|Analytics||+ and - operators need whitespace if followed by number literal||CORE-82110|
|Analytics||Unable to view relevant fields in Analytics query; instead, error Is thrown||CORE-81539|
|Analytics||Read-Only Analytics user fails to load Flow Map for a given transaction record||CORE-81363|
|Analytics||Issues when creating Extracted field for log analytics||CORE-80300|
|Analytics||Parsing CSV logs seems broken||CORE-79078|
|Analytics||Analytics canvas becomes unresponsive some times||CORE-77049|
|Analytics||Aggregation query fails on putting top level field after a nested field||CORE-74850|
|Analytics||ADQL IN clause doesn't support wildcards||CORE-72949|
|Analytics||Events service should not allow to register two attributes with the same name||CORE-70283|
|Analytics||Can only see 10 results for aggregations in table widget||CORE-69933|
|Analytics||Funnel Widget is not returning appropriate results in some cases||CORE-67599|
|Analytics||ADQL QueryEvents is not returning an Array of response anymore||CORE-66788|
|Analytics||Transaction Analytics: Doesn't search records if the Search criteria has forward slash (/) in it||CORE-62566|
|Analytics||logMessage is visible in the widget builder for selection||CORE-60891|
|Analytics||Throttling/Summarizing error messages on agent log||CORE-57926|
|Analytics Agent||Analytics Agent (& Processor) - PID file management improvement||CORE-76999|
|Analytics Agent||Data Collector fields not showing up in Analytics which are present in APM||CORE-66725|
|Analytics, Node.js Agent||Transaction snapshots fail to load from Analytics for node.js agent BT||CORE-72714|
|UI||Some columns don't show up in the results table||CORE-89216|
|UI||Ajax Error filter does not work with regex characters in Basic mode||CORE-89136|
|UI||Cannot see the log messages in the extracted fields popup||CORE-88829|
|UI||Analytics widgets w/ fields not in the MetaDataService broken in Custom Dash due to alias including "."||CORE-88603|
|UI||Context menu "Search for Events" doesn't work with numeric filters||CORE-87626|
|UI||OR-ing analyzed fields creates comma separated list||CORE-86972|
|UI||Timeseries widget not rendering for queries with wildcards in IN's||CORE-86808|
|UI||Data tab in advanced mode does not display results for queries with wildcards in IN's||CORE-86803|
|UI||Widget Builder: Axis fields are not removed when switching widgets||CORE-86562|
|Analytics, UI||Time Series widget displaying "no data to display" when some data is returned.||CORE-86458|
|UI||Series chart not showing all the data values||CORE-86265|
|Analytics, UI||Some EUM Analyze widgets have no data for 4.2 controller + 4.3 events service||CORE-86207|
|UI||Funnel widget shows same field multiple times in funnel field selection drop down.||CORE-86012|
|UI||Analytics filters should use the renamed Business Transaction name when available||CORE-85222|
|UI||Sessions in Analytics have incomplete data||CORE-84635|
|UI||UI error is thrown for query with math expressions||CORE-84371|
|Analytics, Controller, UI||Roles are getting saved but an error dialog is displayed||CORE-84115|
|UI||Multiple notifications when saving privileges to roles||CORE-83623|
|UI||Multiple x-axis fields not allowing transition to basic mode||CORE-82647|
|UI||Export as CSV icon disappears on saving table widget to custom dashboard||CORE-82136|
|UI||User allowed to change config of applications denied by Role||CORE-82074|
|Analytics, UI||Funnel query in advanced mode only showing step 1 results when multiple steps||CORE-81922|
|UI||Numeric filter should accept negative values & it should not generate ADQL condition if invalid||CORE-81793|
|UI||APM-supplied field displayed in some places in Analytics, but not on Transaction Data||CORE-81708|
|UI||Series widget freezes on large data sets||CORE-80335|
|UI||Truncate larger length field names in Analytics - add criteria UI||CORE-79507|
|Controller-Platform, UI||Custom dashboard report renders incomplete data and is unusable||CORE-79360|
|UI||Mobile Analytics: Custom Dashboard widgets show inaccurate results for Advanced Queries||CORE-78975|
|UI||Analytics UI: Analytics custom widget under custom dashboard does not pick up custom time range changes||CORE-78733|
|UI||Analytics tab available when not licensed||CORE-78508|
|Analytics, UI||"Use current Filter: does not work in "Create Extracted fields window in log analytics"||CORE-78221|
|UI||The percentile widget only shows 50% on custom dash||CORE-78118|
|UI||Clicking on the relevant fields tab shows no indication of any progress||CORE-77245|
|Analytics, UI||Sorting on a numeric field in Analytics results sorts alphabetically||CORE-77003|
|UI||Analytics: Advanced query based dashboard widgets changing queries when loading the widget||CORE-76988|
|UI||Custom Dashboard is very slow with many analytics widgets||CORE-76496|
|UI||The Hide fields Popup Needs "Done" and "Cancel" buttons||CORE-75735|
|UI||Export option is not available in advanced mode viz tab||CORE-75699|
|UI||Problems with Analytics Searches for Basic/Advanced / Extracted Fields / AddEdit Widgets||CORE-75240|
|UI||Custom dashboard - Fields are not refreshed while creating new widget||CORE-74049|
|UI||Duplicate queries when transitioning from logs to transactions or vice-versa||CORE-71199|
|UI||Refresh icon on the location toolbar can place unnecessary calls and make the UI slower||CORE-69800|
|UI||Analytics Dashboard and Visualizations are running very slowly||CORE-69370|
|UI||In Basic Mode, for numeric field filter, if the range is specified reverse it still fetches data||CORE-68608|
|UI||User can create extracted field without "Manage Fields" permission||CORE-68585|
|UI||Manage Fields - timestamp fields are shown in Top Values as epoch. Clicking on one shows a formatting error.||CORE-68565|
|UI||Widget title field should not allow user to drop fields into input box||CORE-67678|
|UI||Charts should not show a dip at the end||CORE-66364|
|UI||ADQL queries do not return expected results when the values in conditions contain escape characters||CORE-66163|
|UI||1-hour query results do not include 1-minute query data||CORE-65978|
|Analytics, UI||Unable to create metrics from search in Analytics tab||CORE-65555|
|UI||Data grid is not being refreshed with all fields when switching from results to data in advanced||CORE-65189|
|UI||Error code field shows only first value instead of all values in the data grid||CORE-64776|
|UI||Analytics UI Grid/Table - Column header is right-aligned but values are left-aligned||CORE-64761|
|UI||Aggregations don't render in certain chart types in advanced mode||CORE-64700|
|UI||Performance issue from unnecessary REST calls||CORE-63452|
|UI||Multi-queries should use consistent time stamps||CORE-61365|
|UI||Able To Access Analytics When License Expired||CORE-60149|
- Windows: 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 for business transactions may not appear immediately when 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.
AppDynamics On-Premises Platform Notes
The following notes describe updates to the AppDynamics on-premises platform, including the Controller, Events Service, and EUM Server components.
- The Controller uses version 4.1.1 of the GlassFish Application Server. Previously, the Controller used version 22.214.171.124.
- The Platform Admin Application is now delivered as a separately installed component; it is no longer bundled with the Controller. You can get the Platform Admin Application by downloading and installing it from the AppDynamics download site.
- The Controller Java SE Runtime Environment has been upgraded to JRE 8u121.
Version 4.3 of the AppDynamics Platform includes an updated version of Elasticsearch. As a result of the upgrade, you cannot perform a rolling upgrade for the Events Service. Stop the Events Service before you perform an upgrade.
If you are upgrading the EUM Server and you have a Controller version of 4.1 or earlier, you need to ensure that the EUM-related settings are correctly propagated to the Controller. See the section on using a 4.2 EUM Server with an earlier version of the Controller in the 4.2 documentation.
|Controller||AppDynamics Controller Should Not Log SEVERE Errors if Events Service Not Running||CORE‑53180|
|Controller‑Platform||IllegalObjectStateException: Event Notification has been triggered with an empty map for health rule||CORE-90611|
|Controller-Platform||Lack of thread safety in Glassfish ManagedBeanDescriptor causes threads to block||CORE-89710|
|Controller-Platform||Incorrect count of actions in Actions Executed||CORE-88250|
|Controller-Platform||LazyInitializationException in EventReactorEntity.getActionWrappers()||CORE-88214|
|Controller-Platform||IllegalObjectStateException: Event Notification has been triggered with an empty map for health rule||CORE-87873|
|Controller-Platform||Administration->Roles page is slow to render due to full DTO getting returned||CORE-87305|
|Controller-Platform||Script for switching to Java 1.8 is missing settings||CORE-87098|
|Controller-Platform||NullPointerException in EventFilteringUtil when Policy is created with Specific Servers and no servers are selected||CORE-87008|
|Controller-Platform||4.2 expand ES with localhost succeeded||CORE-86933|
|Controller-Platform||Metadata churn creates MemoryLeak in MetricBrowser||CORE-86907|
|Controller-Platform||Metadata churn creates MemoryLeak in BaselineMemoryDataStore||CORE-86880|
|Controller-Platform||Metadata churn creates MemoryLeak in HealthMetricsManagerBean||CORE-86879|
|Controller-Platform||Metadata churn creates MemoryLeak in MetricReceiverBean||CORE-86863|
|Controller-Platform||Health Rule Violation/ Incident Viewer - Correlation key for "THREAD_DUMP_ACTION_FAILED" event sets "INCIDENT_ID" instead of "POLICY_ID"||CORE-86837|
|Controller-Platform||JMX Health Rule violation remains open for a node even after the affected node is deleted||CORE-86526|
|Controller-Platform||Pie chart widget colours change automatically after upgrade to 4.2.9 on some Controllers||CORE-86422|
|Controller-Platform||Health Rule evaluation time increases over time||CORE-86283|
|Controller-Platform||Health Rule of type SIM that affects servers of a specific tier is broken after import||CORE-86162|
|Controller-Platform||Application Batch Import - NullPointerException in PolicyEntity#setAffectedEntity while importing Health Rules||CORE-85527|
|Controller-Platform||Custom health rule generates false alerts even after alerting for the rule is disabled||CORE-85348|
|Controller-Platform||Specific Custom Dashboard import failing on a specific SaaS controller||CORE-85311|
|Controller-Platform||Logs for reporting service suppresses the actual error message||CORE-85235|
|Controller-Platform||Report Resolution - White spaces below generated report||CORE-84117|
|Controller-Platform||Adopt EntityCache in the EventReceiverBean||CORE-83237|
|Controller-Platform, UI||Scheduled Report Start date always shows current day on UI||CORE-83137|
|Controller-Platform, SIM||Deletion of custom metrics (or any metric directly) is not reflected in Metric Browser||CORE-82573|
|Controller-Platform||Health Rule violation is showing "Backend: Not found (id <id>)"||CORE-81787|
|Controller-Platform||Custom DashBoard > War Room: Intermittent "Internal Server" errors observed when adding war room based on template from another application||CORE-81697|
|Controller-Platform||NullPointerException in UIMetricManagerImpl||CORE-81294|
|Controller-Platform||HealthRule configuration visible on SaaS controllers without authentication||CORE-81292|
|Controller-Platform||ControllerManagerTest.testRefreshCachesForApplication failing on master for REDISBACKED||CORE-80557|
|Controller-Platform||ActionService deployment fails for accounts with uppercase letters||CORE-80354|
|Controller-Platform||Email digests either not sent or not triggered on time||CORE-80021|
|Controller-Platform||Email Is not getting updated for SAML User||CORE-79328|
|Controller-Platform||Controller upgrade fails if the JMX instance name (metric) is more than 250 characters||CORE-79218|
|Controller-Platform||License screen refresh button does not refresh EUM usage data||CORE-79100|
|Controller-Platform||Health Rule violation is still in Open state for nodes that are deleted, or no longer exist, or are removed from the health rule||CORE-78962|
|Controller-Platform||Need to update controller to use apache commons library version 3.2.2||CORE-78735|
|Controller-Platform||Enabling and Disabling Redis while the controller is live creates instability||CORE-78650|
|Controller-Platform||Health Rule import/export doesn't handle DB server filtering||CORE-78638|
|Controller-Platform||Emails are not sent to email addresses with a particular domain||CORE-78385|
|Controller-Platform||Custom dashboard import fails if it has DB server-related metrics||CORE-78249|
|Controller-Platform||All Dashboard Report PDF shows loading symbol and nothing else||CORE-77415|
|Controller-Platform, UI||Controller audit report does not show complete data when generated for 1 week||CORE-77331|
|Controller-Platform||Health rule is not updating the node names in the health rule screen||CORE-77203|
|Controller-Platform||Optimizing used memory in the PolicyExecutionState||CORE-77107|
|Controller-Platform||Entity name in Metric Display Name for Custom Dashboard is wrong for backend||CORE-76985|
|Controller-Platform||ApplicationDiagnosticDataManagerBean: some objects have been modified||CORE-76474|
|Controller-Platform||User cannot rename the tier even with necessary RBAC permission||CORE-75775|
|Controller-Platform||AuthRealm.java should cache Account->SecurityProviderType in a write TTL 5 mins cache||CORE-75211|
|Controller-Platform||Schedule Report not considering DST time and received with 1 hour delay||CORE-74873|
|Controller-Platform||Installer unable to start the database during upgrade||CORE-74501|
|Controller-Platform||Invalid Metric Id: 0 appears in error message on loading dashboard||CORE-74057|
|Controller-Platform||Internal error on double-clicking on any of the dashboards.||CORE-73252|
|Controller-Platform||Null check missing from StreamingGraphWidgetEntity:doToDTO staticThresholds||CORE-73195|
|Controller-Platform||Update installer to set usage.data.enabled.onprem flag||CORE-73163|
|Controller-Platform||ActionService: File streams not being closed||CORE-73024|
|Controller-Platform||/controller/rest/serverstatus should return a 503 HTTP status code when the content of the <availability> tag is false||CORE-72593|
|Controller-Platform||deleteApplication() hanging on onApplicationDiagnosticDataDelete()||CORE-72453|
|Controller-Platform||Tiers are listed incorrectly in "Current evaluation status" for JMX health rules||CORE-72376|
|Controller-Platform||Backend work for Gauge doesn't work when Metric Expression evaluates to a negative number||CORE-72318|
|Controller-Platform||Scheduled Reports mails are still being sent after the owning account is marked as deleted||CORE-71894|
|Controller-Platform||Controller settings overwritten with upgrade||CORE-71719|
|Controller-Platform||Installing 126.96.36.199 on a machine where 4848 is taken doesn't install the token||CORE-71618|
|Controller-Platform||controller.sh start-db fails on OSX||CORE-70169|
|Controller-Platform||Health rule email alert content||CORE-69448|
|Controller-Platform||License error message invalid or not intuitive||CORE-69431|
|Controller-Platform||Slack extension link bring blank screen with Transaction: undefined||CORE-69293|
|Controller-Platform||getEventCounts: fix eventCategory assignment logic||CORE-69075|
|Controller-Platform||Historical data of custom metrics are erased when new health rule is created||CORE-68934|
|Controller-Platform||Shared dashboard throws error when time range is changed||CORE-68894|
|Controller-Platform||Health rule violations remain open for a long time and are still triggered even when disabled||CORE-68212|
|Controller-Platform||log4j.xml location not consistent after upgrades||CORE-67959|
|Controller-Platform||Use IMetadataCache inside EventReactorManagerBean||CORE-67944|
|Controller-Platform||Health rule evaluation for SERVICE_ENDPOINT seems using tier metric but actually per node||CORE-67482|
|Controller-Platform||During metric data overflow, events created in other accounts||CORE-66902|
|Controller-Platform||Prevent remote access to MySQL root user||CORE-66300|
|Controller-Platform||ExecutionException: failed to retrieve event summaries in parallel||CORE-64881|
|Controller-Blitz, Controller-Platform||Baseline value for time rollup type current is max value, not weighted average value||CORE-64788|
|Controller-Platform, UI||For URLs in reports, ensure iframes are rendered before the pdf is created and emailed||CORE-64178|
|Controller-Platform||Health Rule is not fired with wild cardmetrics path||CORE-63212|
|Controller-Platform||Unable to create consul master token||CORE-61798|
|Controller-Platform||Very long processing time for MetricDataWriterBean.addMetricMinute||CORE-61593|
|Controller-Platform||Server exception is thrown when WarRoom name is same as template name||CORE-61065|
|Controller-Platform||Log Level functionality is not working under HTTP Template test run||CORE-61028|
|Controller-Platform||controller.beans.agent.tts.cache.TopSummaryStatsMemoryStore takes ~%14 heap memory||CORE-59327|
|Controller-Platform||Event Service: Snapshot view does not render (empty window)||CORE-58594|
|Controller-Platform||Email Digest send failure due to large message size||CORE-58147|
|Controller-Platform, Installer||Installation of 188.8.131.52 shows benign crash recovery related messages||CORE-27895|
|Controller-Platform||Intermittent Slow SQL Queries: metricdata_hour_agg_app table||CORE-27386|
- A known issue prevents the Controller database from starting at installation time if another instance of MySQL is running on the machine. Certain Linux operating system distributions include MySQL. If the bundled MySQL instance is running, you will need to shut it down to complete the AppDynamics Controller installation.
- The Controller stores credentials in a secure credential store by default.
Deprecation and End of Life (EOL) Notices
- The AppDynamics Java Agent will no longer support monitoring Java applications running in the Java Development Kit 5. See Desupport Notice: Java Development Kit 5.
Mobile RUM: Dynamic Info Points are no longer available for Android apps.
End-User Monitoring: The option View Dark Mode has been removed from the Geo Dashboard.
- Server Visibility (formerly Server Monitoring): The "Disk Usage is too high on at least one partition" health rule is now disabled. See Support Advisory: "Disk Usage is Too High" Health Rule is Disabled in Release 4.3 and Higher.
Server Visibility Enhancement: Dynamic Monitoring Mode (DMM)
You can now selectively control the number of metrics reported by individual Standalone Machine agents (including Server Visibility agents). Rather than have all agents report all the metrics all the time, you can configure individual agents to collect
- Key Performance Indicator metrics only (KPI mode)
- KPI and Diagnostic metrics (Diagnostic mode)
- All available metrics (Advanced Diagnostic mode)
This provides the flexibility to report KPI metrics only on most machines and then increase the metric level on specific servers where you need deeper visibility to diagnose problems. You can increase scaleability on the Controller and conserve metric bandwidth on the network with no sacrifice in visibility.
For more information, see Dynamic Monitoring Mode.
|Blitz, Controller-Platform||Some health rules trigger "false positive" alerts due to inaccurate baseline values||CORE-98204|
|Node.js Agent||Node agent no longer works without libagent on Windows||CORE-96927|
iOS app which uses non-http(s) scheme for URL crashes in iOS Agent