On this page:

Your Rating:
16 rates
This topic covers release information for the AppDynamics App iQ Platform versions 4.3.x. In addition to the enhancements and resolved issues described here, the latest 4.3.x release includes enhancements and resolved issues included in certain limited-availability releases. 

The first generally available 4.3.x release is, which incorporates fixes to pre-release issues in and

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. 


Custom Dashboard

  • 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 

Scheduled Reports

  • Reporting Service supports log file rollover and configurability. 

Transaction Snapshots

  • Transaction snapshots for the Java applications show thread contention information. See "Thread Contention in Transaction Snapshots" on Thread Contention.

Universal Agent 

  • 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

License Management

  • 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.

Resolved Issues


UIController UI shows "Created successfully" when saving an account with duplicate EUM license keyCORE-56320
UITooltip doesn't work on Scatter plot, Event overlay (timeseries), and Notes (streaming widget)CORE-59013
UIMapped Roles for users are getting updated when roles are getting assigned by using search role featureCORE-59450
UI"Created Action" is not displaying under "Actions to Execute" CORE-60801
UICD Template > Gauge series selector shouldn't have "All nodes in this tier" optionCORE-61017
UIGauge "Select A Metric" should be a buttonCORE-62111
UICD Metric Path is not restored on second open of series metricCORE-62270
UISort doesn't work for "Duration" in "Health Rule Violations" tab.CORE-62711
UIClicking "Show More" on the event list repeatedly results in inaccurate event countsCORE-64416
UIThreshold lines appear in charts even when no data is availableCORE-65068
UISometimes UI does not reflect actual affects list and health status in "Current evaluation status" section for health rule selectedCORE-65238
UISometimes custom dashboards stop displaying data after running a few daysCORE-65344
UI"The WAR Room with key: "" does not exist in persistent store" message is displayed while Save as TemplateCORE-65553
UIEmail template text body errorCORE-65845
UITime scale not in sync with respect to selected time range in Tiers & Nodes Custom DashboardCORE-68016
UIBackground color missing from Design section for grid modeCORE-68151
UISetting a very long name for Threshhold line on timeseries graph throws server-side exceptionCORE-69702
UIMetric Expression > Variable Name field needs max limit on charactersCORE-69742
UICD Gauge Selecting a metric with no data available does not set properties label on saveCORE-69769
UIHourly send at repeat modified time after closing and reopening the report dialogCORE-70096
UISeries Selector > Multi Selector (Business Transactions) sort doesn't work on Business Transaction-type type columnCORE-70100
UIContext-based right-click menu on a widget doesn't work as expectedCORE-70167
UISometimes the top navigation bar doesn't render properly in IE 9CORE-70200
UIIn APM App Dashboard, Event Counts do not match events in event list CORE-70252
UINo tool tip is shown on Health Status widget in view mode on configuring Drilldown URL and description under MISC in absolute modeCORE-70264
UIGauge doesn't work when Metric Expression evaluates to a negative numberCORE-70354
UISeries Selector > Select Data Filter > Display the first "n" metric series field has no max-length chars definedCORE-70373
UIMetric Selection needs to reset to "Single Metric" and "Select Metric" when App or Category changesCORE-70433
UICustom time range does not workCORE-70569
UICustom Dashboard filter by tier search-suggestions not workingCORE-70913
UICustom time range option not working in Health rule Evaluation EventsCORE-71194
UIMetric Browser when opened multiple times (with different apps) doesn't work correctlyCORE-71266
UIHealth Rule > Tier is not displaying for all server health rulesCORE-71429
UISeries Selector > Select Metric > Single Metric [ edit mode ] > doesn't show the selected metricCORE-71649
UIError while saving Custom Dashboard series without selecting metricCORE-71786
UISAML user cannot set default landing pageCORE-72254
UIDefault roles are missing suffix on admin pageCORE-72271
UICustom Dashboard > Add/Export of Analytics widget to dashboard with Absolute layout not visibleCORE-72745
UICancelled edit of existing Browser App Report does not revert to original app nameCORE-73829
UIReselecting a saved DB Monitoring metric after choosing SIM doesn't show the specific DBsCORE-74490
UIHealth Rule evaluation status table sometimes doesn't fetch and refreshCORE-74916
UIError while trying to edit custom dashboardCORE-75723
UIDatabase list is empty in Object scope tab of create action supression windowCORE-75817
UIIssue with Dashboard pop-up legend transparency changeCORE-76010
UIEventListWidget shows events from across apps when Health Rule Violation filter is selectedCORE-76319
UILot of white space before and after report titlesCORE-76516
UIExternal links clickable in the Controller UICORE-78227
UICustom Shared Dashboard doesn't open up metric browser for time series widget on double-clickCORE-78480
UICustom dashboard doesn't show iFrame content in IE 11CORE-79711
UICustom Time Range not visible for Health rules evaluationCORE-81311
UIMetric expression in dashboard widget does not show relative metric path after selectionCORE-82281
UIInconsistency in widget (pie and time series) legend CORE-86242
UICan't edit a report second time without in-app or browser refreshCORE-86835
UISlow user list loading due to extra calls to getAllAccountRoles/getAllGroupsCORE-87300
UIStatus By Node image in Current Evaluation Status window in health rule screen is not displayedCORE-88227
UITime range widget disappears with lengthy Business Transaction names


Known Issues

  • 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



Controller Enhancements

  • 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.
    See Business Transaction Discovery Sessions for more information.
    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, APPD_BACKEND_JMS.
  • 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
    See Go Language Agent for more information. 

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 Task.StartTask.Run, and TaskFactory.StartNew on the Common Language Runtime (CLR) 4.x and later. If you are upgrading from a previous version, see Upgrade Notes. The thread-correlation node 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:
  • 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.

Upgrade Notes

  • 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.QueueUserWorkItem for the CLR 4 in the config.xml. If you explicitly call ThreadPool.QueueUserWorkItem on the CLR 4, when you upgrade to the .NET Agent 4.3, you must enable the instrumentor for ThreadPool.QueueUserWorkItem for 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.

Resolved Issues

.NET Agent.NET Agent is not downloading custom entry / exit definitions with 4.2.15 controllerCORE-97514
.NET AgentProcess hanging with analytics namespaces in dumpCORE91047
.NET AgentStandalone application running SSIS package hangs randomly when instrumentedCORE-87892
.NET Agent.NET Agent Configuration Utility: while loading tiers for existing Controller, application returns "(400) Bad Request" when application name contains Ø (character used in DanishNorwegianFaroese, and Southern Sami languages)CORE-87179
.NET AgentRabbitMq SEP with Message Property has no correlationCORE-87115
.NET AgentCONFIGUPDATE at startup.cmd does not work correctly in some cases CORE-86625
.NET AgentAgent Registration should respect environment variable when setting node nameCORE-86331
.NET AgentAzure PaaS Agent - Swap Slot Causing Agent Fails to StartCORE-86022
.NET AgentDo not run CLRPerfCountersManager in Azure webappCORE-85886
.NET AgentReJIT - MIDC fails if downstream BT registeredCORE-84723
.NET AgentReJIT - Slow Startup and PerformanceCORE-81496
.NET Agent.NET Agent > Analytics - 'Thread local string builder is not empty'CORE-79607
.NET AgentCallback detected as Exit hides exits downstreamCORE-79145
.NET AgentMemory (Private Working Set) growing when ASP.NET web forms app has no loadCORE-78317
.NET AgentNative memory overhead with Non Legacy instrumentationCORE-77709
.NET AgentNegative value for 'CpuTimeTakenInMilliSecs' for Request DataCORE-77616
.NET Agent.NET Agent Configuration Utility: valid IIS applications not listed in configuration wizardCORE-75340
.NET Agent.NET Agent Configuration Utility: valid IIS application grayed out in configuration wizardCORE-75294
.NET Agentw3wp crash with invalid NLOG configuration on web.configCORE-73405
.NET AgentProfiler shutdown crashing app pool during recycleCORE-72954
.NET Agent.NET Agent is sending the virtual name of the cluster in registration requestCORE-72861
.NET Agent.NET Agent Configuration Utility needs to support TLS 1.2CORE-70723
.NET AgentAppDynamics profiler blocking finalizer threadCORE-70397
.NET AgentProfiler causes application hangCORE-67507
.NET AgentConfigurationLoader unable to obtain MD5 hash of configuration fileCORE-65000
.NET AgentService Endpoint does not get picked by agent when re-instrumentation is enabled
.NET AgentMissing logging with runtime-reinstrumentationCORE-64594
.NET AgentCoordinator fails to start with NLog config section in machine.configCORE-63120
.NET AgentGA Agent version number does not match actual buildCORE-62305
.NET AgentHeap usage incorrect when two processes of same name are runningCORE-61536
.NET AgentMultiple MEE instrumentation can happen for generic methods with value type type argumentsCORE-61331
.NET AgentCustom POCO entry point doesn't monitor all async calls called internallyCORE-60258
.NET AgentCustom correlation stopped supporting Add(String,String) method with key and value parametersCORE-60256
.NET Agent.NET Agent Configuration Utility skips upgrade if config.xml is invalid or missingCORE-60063
.NET AgentCustom match rule on HTTP parameter breaks Upload file functionalityCORE-57627
.NET Agent.NET Message Queue SEP fails for message content definitionCORE-32086
.NET AgentService Endpoint does not get picked by agent when re-instrumentation is enabledCORE-64980
AgentBackend instrumentation is apparently causing thread contention and locking in JVMCORE-88506
AgentIllegalStateException in CallGraphGeneratorTaskCORE-90243
AgentAgent log entries get printed in application log filesCORE-89633
AgentJVM InternalError causes batch retransform task to get stuck, preventing instrumentation for information pointsCORE-88483
AgentPotential issues section lists "\N" as one of the valuesCORE-87717
AgentThread dumps not collecting from Controller UI when Auto Naming feature enabled (stuck at "in progress")CORE-87620
AgentBatch BT does not have snapshots with java 1.7CORE-85177
.NET Agent, AgentNo machine metrics reported after disabling and re-enabling the Machine AgentCORE-84992
AgentCustom Correlation/Getter needs instruction to not split escaped dotsCORE-84340
AgentNumber of async segments are half the expected number in case of RecursiveTaskCORE-78683
Agent'max-in-process-segments' node property is off by 1CORE-78682
AgentNullPointerException in SQLNormalizerHelper#getUnderlyingCharArrayOfStringCORE-76907
AgentCustom Correlation for Cross App not working for pojo-entry and activity-demarcatorCORE-75511
AgentNullPointerException in Servlet Entry pointCORE-73924
Agentcheck-bt-excludes-early node property is not working, getting UNKNOWN valueCORE-73860
AgentBCI Fixer Removing the already added RulesCORE-73452
AgentJava Agent is not considering environment variablesCORE-72993
AgentClassCastException exceptions related to JMS exit callsCORE-70470
AgentInstrumentation issues breaking tier-to-tier correlationCORE-70161
AgentUnable to ignore AxisFaultCORE-69840
AgentSpaces " " and "/" in application name breaks thread dumps or log creation for agentsCORE-69208
AgentMemory leak with ExtendedPSquareAlgorithm objects filling up JVMCORE-67362
AgentCXF Entry Interceptor: Blocking threadCORE-66622
AgentIncorrect variable name in controller-info.xml comment for Java, database and machine agentCORE-65786
AgentNoClassDefFoundError in version 4.1.8 (but 4.1.3 works fine)CORE-65621
AgentMissing memory (heap) metrics caused by JBoss JMX latencyCORE-65560
.NET Agent, AgentNullPointerException thrown by ETELatencyDemarcatorInterceptor when there is no BT contextCORE-63501
AgentSecure Credential Store must always generate a unique and fully random cipher string after encryptionCORE-62651
AgentJava Agent miscalculates average times for top summary statsCORE-62467
AgentCannot have spaces in path of Application AgentCORE-61938
AgentSnapshots show incorrect time periods for threshold calculationCORE-61843
AgentAgent breaks a specific application with NullPointerExceptionCORE-61819
AgentMany log messages generated: "WARN CallStackSampler - Unable to acquire CSS Lock for CallStackSampler"CORE-60948
AgentAccess denied when using REST API for hotspot CORE-60790
AgentNullPointerException in WebObjectsURIScheme.<init>CORE-60368
AgentError: Timeout waiting for lock BCILock for TransformationRuleEngineCORE-59593
AgentAgent causing high CPUCORE-59269
AgentNeed to enforce maximum length for custom BT match rule namesCORE-58877
AgentSome missed SQL queries due to missing instrumentation on JtdsConnection.java classCORE-58362
AgentEntry point instrumentation disabled due to NumberFormatExceptionCORE-57899
AgentExit not detected when called from CompletableFuture#acceptEither acting as a callbackCORE-55474
AgentAsync activity not detected with parallel streamsCORE-55387
AgentExit call URL shows host as "unresolved_server"CORE-54844
Agenterror-safety : NPE in ReTransformNeutralizerStrategyCORE-54275
AgentNullPointerException for instrumenting webObjectCORE-53769
AgentHotspotData throws ArrayIndexOutOfBoundsException on agent shutdownCORE-52966
AgentInconsistency in monitoring of servlet filter trafficCORE-52754
AgentSlow Calls RMI shows \N as part of the Snapshot overview sectionCORE-51112
Agentappdynamics.cron.vm option does not honor node name reuse featureCORE-50120
AgentJava Agents 4.1.x showing extra fields in JVM versionCORE-49781
AgentAgent Retaining significant chunk of memory even after garbage collectionCORE-47544
Analytics, Node.js Agent“500 Internal Server Error displayed” in transaction snapshot details for node.js application CORE-88689
Apache Web Server AgentWeb Server Agent doesn't send correct ADRUM response headers CORE-68481
Controller-APMFix name_value_pair upgrade issueCORE-88815
Controller-APMBulk Enable/Disable for application throws NullPointerException if one of the application's machines is not foundCORE-87061
Controller-APMRemote Services Calls tab on the snapshot screens truncates url/operation (depending on exit call)CORE-86978
Controller-APMMetadata churn creates memory leak in AsyncTransactionConfigManagerBeanCORE-86874
Controller-APMMetadata churn creates memory leak in ApplicationComponentManagerBeanCORE-86865
Controller-APMMetadata churn creates memory leak in BusinessTransactionManagerBeanCORE-86864
Controller-APMMetadata churn creates memory leak in MemoryConfigurationManagerBeanCORE-86861
Controller-APMMetadata churn creates memory leak in AgentBusinessTransactionConfigurationManagerBeanCORE-86859
Controller-APMPriority of custom rules is not considered in BT discovery sessionCORE-86169
Controller-APMMetric browser for a particular application is blank CORE-82804
Controller-APMAsynchronous Transaction - Non-admin user able to edit 'Configure Transactions using This Demarcator' featureCORE-79271
Controller-APMReject Business Transaction registration when name is too long (>200 chars)CORE-78531
Controller-APMData for an application observed in database even after it is deleted in the UICORE-77501
Controller-APMHigh volume of SQL queries in refreshCachesForApplication related to Service EndpointsCORE-76145
Controller-APMADD related queries are using CROSS JOIN instead of INNER JOINCORE-75449
Controller-APMUser with access to configure Diagnostic session gets "Client not authorized ..." exceptionCORE-74729
Controller-APMCannot delete application from UICORE-74096
Controller-APMPermission error for notification event details viewCORE-72567
Controller-APMNon-admin user cannot import application even with the necessary permissionsCORE-72167
Controller-APMIntermittent issues when transitioning between views ("EJB cannot be invoked in global transaction" error message appears on page)CORE-70178
Controller-APMSystemAgentPollingHandler._handleRequest and TransactionConfigRequestHandler.handleAgentConfigurationRequest should not throw exceptionCORE-66669
Controller-APMBusiness transactions / metric data corruption observed in a specific Controller environmentCORE-65019
Controller-APMImporting a malformed application xml doesn't show error in UICORE-62357
Controller-APMHandle hibernate exceptions observed in a specific Controller environmentCORE-62323
Controller-APM"Invalid machine" log entries get repeated during machine validationCORE-61445
Controller-APMNode Configuration settings getting lost on turning agent off and on from controllerUICORE-60792
Controller-APMController internal java agent cannot connect to system account If secure credential store is enabledCORE-60637
Controller-APMHotspot learning fails to discover all BTs or componentsCORE-60298
Controller-APMImport dialog shows incorrect status as 'succeeded' even when some health rules fail to import.CORE-59532
Controller-APMcontroller.beans.hotspot.HotspotComponentLearningManagerCache consumes ~1GB heap spaceCORE-59328
Controller-APMCount mismatches for "critical" on Application Dashboard and actual violations on Business Transactions CORE-59143
Controller-APMApplication Name does not get updated; instead, new application is createdCORE-57512
Controller-APMPossible memory leak in the caches related to ServiceEndpointConfigManagerBeanCORE-55642
Controller-APMController issuing notification for Controller Metric Reg Limit Reached when under limitCORE-51537
Controller-APMCorrectly handle "count 0" metrics in Flex, HTML, Metric Browser, etc.CORE-48130
Controller-APMError count, Error %, and Error graph are not reported at tier and node levelCORE-47904
Controller-APMAsynchronous Transaction: Non-admin user can edit 'Configure Transactions using This Demarcator' featureCORE-79271
Node.js AgentProxy does not launch from network share on WindowsCORE-89376
Node.js AgentNode API object in console.log causes Node process to crashCORE-89319
Node.js AgentAgent not working in strict modeCORE-88554
Node.js AgentMongoDB with replicaSet foils instrumentationCORE-87871
Node.js AgentProcess snapshot hangs processCORE-85029
Node.js AgentExport call graph does not work for Node.js call graph on both HTML and Flex ModalCORE-83915
Node.js AgentNodejs agent detects port 80 and 443 for https exit callsCORE-67191
Node.js AgentNode.js Agent does not capture HTTP Method or Exit StatusCORE-66336
Node.js Agent, UINode.js Process Snapshots do not show 'BT' tab in new HTML5 viewerCORE-66236
Node.js AgentInstrumented process does not exit after uncaught exceptionCORE-64167
PHP AgentPHP Agent Does Not Have Self Service Scripts in Downloaded Agent for OSXCORE-88157
Python Agentmod_wsgi crashCORE-87774
Python AgentSnapshots contain wrong timingsCORE-76238
UICheck/Uncheck on checkboxes in backend detection is saved even without submit operationCORE-86527
UI'Actions' column is empty for RSD Events (slow, errors, etc.), cannot download thread dump from events listCORE-86524
UITier filter is not working on Service Endpoints tab on Tier Dashboard pageCORE-83806
UIWhen viewing the "AppDynamics Agents" from the Controller, the "Disabled" and "All Monitoring Disabled" columns are not sortable or searchableCORE-82927
UIIncident List: Affects column does not render entity for certain entity typesCORE-79066
UISnapshot data is truncated and not retrievableCORE-77772

Clicking the Refresh button in Controller UI increases the Last JVM Restart Time

UIApplication Dashboard: Load, Average Response Time appear to be incorrect with custom time when selecting baselineCORE-77330
UI"Start Allocation Tracking Session" in .NET Object Instance Tracking menu not applicableCORE-77046
UISnapshot waterfall End to End time shown appears to be incorrectCORE-76965
UIASP.Net Transaction Naming Configuration does not allow user to save the change.CORE-76748
UIThread Contention data not showing up in potential issues sectionCORE-76373
UILabel mismatch in Add Custom Event Filter dialog box > Event Type fieldCORE-76049
UIController UI auto refresh is not happening on Event screenCORE-75144
UIIn Metric Browser screen, fourth-level drilldown is not workingCORE-74439
UIExport to PDF results in null pointer CORE-72081
UIDiagnostic snapshot dialog does not pre-select Business Transaction, does not filterCORE-72070
UIUser is unable to create flow maps on APP_BACKEND_DASHBOARD pageCORE-70945
UIActions Executed count in association with an Event is inconsistentCORE-70439
UISlowest methods grid doesn't make senseCORE-70412
UIService Endpoint list filter has checkbox unlabeledCORE-70285
UIViewing Health Rule Violations from BT/tier/node list doesn't set filter for selected entityCORE-70202
UIEndtime discrepancy for All Other Traffic BT listCORE-69562
UICompare Releases Screen shows deleted custom time rangesCORE-69117
UICannot filter on Business Transactions List page for any BT group created by userCORE-68659
UITiers & Nodes page does not auto refreshCORE-68581
UINewline is not formatted in comments section in the Events tab (Application > Events) in Controller UICORE-68483
UIRegister button is not enabled in All Other Traffic popup CORE-67715
UIBaseline shading option is missing from the new metric browsers shipped with 4.2CORE-66938
UIController doesn't allow user to specify which data is exported from Metric BrowserCORE-66258
UIMetric Browser: cannot expand "All Other Traffic" in treeview, even when data is presentCORE-66223
UIError Occurrence Details pane is missing informationCORE-65861
UIBusiness Transactions > Diagnostic Sessions: BT of interest is not automatically selectedCORE-65678
UISnapshot - Data Collectors - Improve rendering for large strings CORE-64610
UIDashboard page makes multiple same call on first loadCORE-64070
UIPython Agent: Url Segments are InaccessibleCORE-63937
UIFilter names are not getting displayed for some of the checkboxesCORE-62707
UIErroneous message appears after user applies filters in Configure Flow MapCORE-62432
UIWhen a rule is selected, the tier information isn't displayedCORE-60618
UIUnexpected layout and behavior in Slowest Database Calls pageCORE-59895
UIJMX UI: Removing a MBean attribute redirects to the Dashboard & Report pageCORE-58037
UIJDBC "To" field blank when following URL linksCORE-50757
UIMissing trend for Business Transaction GroupCORE-49837
UIADQL queries do not return expected results when the values in conditions contain escape charactersCORE-66163

Known Issues

  • 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.

Resolved Issues


DB AgentOn SQL Server, permission issues can cause the procedure text to be displayed instead of the procedure nameCORE88041
DB AgentUser cannot see CPU and memory metrics on RedHat 7.2CORE-85437
DB AgentSpecial characters can cause problems in mssql hardware collector passwordsCORE-85214
DB AgentDiskQueueLength is not calculated correctly by DB AgentCORE-80589
DB Agent"Database Name should not be blank if there is a failover partner" - Error creating MSSQL collector with failover partnerCORE-79705
DB AgentRemove step for Kerberos authorization if it is not being usedCORE-76504
DB AgentDB agent generates log warnings (java.lang.IllegalArgumentException: Invalid client) when there is no problem with the agentCORE-76133
DB AgentAppDynamics Agents > Database Agents tab can confuse usersCORE-72675
DB AgentNew column (or increase column size) to store IP address from custom JDBC stringCORE-71039
DB AgentUsing a deprecated function in DB2 Collector for >= 10.5CORE-69992
DB AgentSQL Server TEMPDB is filled up because of DB agentCORE-69798
DB AgentWarning in logs for MySQL DBMS metricCORE-69635
DB AgentMemory metrics not shown on Databases dashboardCORE-67974
DB AgentSQL server buffer cache hit ratio is wrongCORE-64864
DB AgentProblems establishing SSL connection with SQL serverCORE-64366
DB AgentDatabase Monitor roles have VIEW access to other products' application instanceCORE-62908
DB AgentBrowser becomes unresponsive during query tab loadCORE-59945
dbmonObject Browser doesn't work for Azure SQLCORE-86419
UI403 error when user with “DB Monitoring Administrator” role tries to export database detailsCORE-80824
UISynthetics: drilling down into Oracle DB does not show the queries from the Transaction Snapshot when coming from EUMCORE-80379
UIUX issues when creating a War Room from a database eventCORE-76392
UIIO metrics are not listed when adding metric to custom dashboardCORE-70861
UIExported query data shows "undefined" in Average Response Time columnCORE-69636
UITotal execution is showing as Zero("0") in report generation under DB Drill down comparison CORE-60428

End-User Monitoring Updates



Browser RUM

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
Configuration Changes

The Configuration page has been reorganized and has pages for using the UI to instrument and configure the JavaScript Agent. See Configure the Controller UI for Browser RUM for configuration instructions.

  • 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.
  • From the Configuration page, you can navigate to the Configure and download JavaScript Agent page to do the following:
    • Generate an HTML snippet for manual injection based on your JavaScript hosting option and custom JavaScript Agent configuration.
    • Download all of the JavaScript Agent files or just download the adrum-<version>.js file and use the AppDynamics CDN for the other JavaScript Agent files.
    • View the EUM app key.
  • From the Configuration page, you can also navigate to the Configuration > JavaScript Agent Injection page to do the following:
  • Configure automatic injection from the Configuration > JavaScript Agent Injection page of a business app. You can also select the browser app that will receive the automatic injection.
  • 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.
  • The ability to configure automatic injection from the Configuration > JavaScript Agent Injection page of a business app. You can also select the browser app that will receive the automatic injection.

  • New performance metrics for each page loading time based on the configurable browser snapshot thresholds:
    • Normal
    • Slow
    • VerySlow
    • Stall
Geo Dashboard

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.

JavaScript Agent

You can use the JavaScript API to set custom user data with the following data types: String, Double, Date, and Boolean. You can also attach user data can be attached to Ajax and virtual page requests. See Add Custom User Data to a Page Browser Snapshot for details.

Pages & AJAX/Sessions/Analyze

The following updates have been made to the Pages & AJAXSessions, and Browser Analyze pages. See Pages & Ajax RequestsBrowser RUM Sessions, and Browser RUM Analyze for the documentation.

  • 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

Synthetic Sessions

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 Screenshots

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. 

See Session Screenshots and Work with Screenshots for more information.

Synthetic Scripts

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.

Mobile RUM 


The updates below have been made to crashes. See CrashesCrash DashboardCrash Analyze, and Crash Snapshots for more information.

  • 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 

    • includes pagination

    • 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. 
Mobile Agents
  • 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 HttpRequestTracker to 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 proguard.cfg:

    -keep class com.appdynamics.eumagent.runtime.DontObfuscate
    -keep @com.appdynamics.eumagent.runtime.DontObfuscate class * { *; }
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.

  • You can now configure policies for specific mobile applications. See Mobile Health Rules and Policies for more information.

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:

    • App Starts 

    • App Crashes

    • Normal Network Requests

    • Slow Network Requests

    • Very Slow Network Requests

    • Stall Network Requests

Mobile Sessions
  • 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 configure the EUM collector and processor to use different ports.

  • 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.

Resolved Issues

Agent-EUMNULL window reference in AncestryResolver.jsCORE71003
Agent-EUM, Event ServiceInternal Error on loading the IOS Mobile App Dashboard page in server logsCORE-68104
Android AgentSpecifying productFlavors breaks Transform based pluginCORE-89518
Controller-EUMHTTP Connections to cloud are possibly leaking or getting closed prematurelyCORE-87271
Controller-EUMRenaming mobile applications requires users to have the admin roleCORE-86580
Controller-EUMController thinks dSYMs are missing after they have been uploaded to EUM APICORE-84178
Controller-EUMAdmin is not allowed but Read-only user is allowed to create the Info Points in EUM_MOBILE_INFO_POINTS pageCORE-83142
Controller-EUMUnexcluded pages have no data after they are unexcludedCORE-82518
Controller-EUMNullPointerException in EUM Business Transactions result in errors in some SaaS EnvironmentsCORE-82114
Controller-EUMRenaming network requests with a request containing a forward slash ('/') doesn't workCORE-72402
Controller-EUMSynthetic > On-Demand Data Does Not Display When End User Monitoring Is DisabledCORE-71870
Controller-EUMSynthetic > Sessions page stuck at "Loading..." when End User Monitoring is disabledCORE-71868
Controller-EUMSynthetic > Jobs page stuck (internal server error) when End User Monitoring is disabledCORE-71866
Controller-EUMUnable to unexclude pages due to "The limit of excluded pages has been reached"CORE-69951
Controller-EUMCrash Rate widget is misleading when a new app appearsCORE-69375
Controller-EUMRegistration task batch fails if cloud responds with 4XX for a single config updateCORE-69355
Controller-EUMBusiness Transaction name does not appear in the UI for user with one application permissionCORE-68700
Controller-EUMUnable to drill down the analyze snapshot which has network errorCORE-68354
Controller-EUMNullPointerException on the synthetic jobs list when there are no jobsCORE-68011
Controller-EUMPageListUiService.getEumPageList failing with query time outCORE-67452
Controller-EUMMac Install: Error while logging into the controller UI CORE-59324
Controller-EUMMobile EUM: Mobile app version Filter on Network requests > Snapshots tab not workingCORE-52940
Controller-EUMEUMClient slow connection leakCORE-90725
EUM ProcessorVirtual Page name includes query parameters as part of the segment.CORE-65170
EUMCloudConnection type field should not be empty if any Mobile event has its valueCORE-84948
EUMCloudArrayIndexOutOfBoundsException in CrashProcessorCORE-70895
EUMCloudPost Load error beacons should not use default naming rules if base page has custom javascript nameCORE-69433
EUMCloudYou can't have non-ASCII characters in names for pages, Mobile Network Requests, etc.CORE-52073
JSAgentSupport xhr responseType blob in reportXhr()CORE-87122
JSAgentAdrum handling error causing the application to go into an infinite loopCORE-83576
JSAgentXDomain AJAX 404 errors are captured as normal user experienceCORE-78252
JSAgentUrlUtils does not getFullyQualifiedUrl properly in the presence of a <base> tagCORE-77493
Synthetic AgentDNS resolution failure results in missing HTTP archive CORE-81336
Synthetic ServicesSynthetic Events summary and message contents contain double quotes (") which breaks the HTTP Template Action for json contentsCORE-80787
Synthetic ServicesIgnore page exclusion in syntheticCORE-64968
UIThere's no way to sort the pages in a multi-page session in the order they were loadedCORE-86100
UINetwork Requests List: Prevent "|" in network request names when renamedCORE-86069
UIReal User Sessions Visualization - Active Sessions Over Time widget is not showing up correct data graphCORE-85253
UIMetric picker in custom dashboard has bogus synthetic metrics which never workCORE-82873
UIAvailability geo map does not draw dots where availability is 0%CORE-82650
UIEUM Overview 'Top 5 Pages' call to getTopFivePagesByRequests is relatively very slowCORE-81205
UIInconsistent contiguous selection on Jobs pageCORE-79381
UIMissing resource correlation for RUM base pagesCORE-79142
UIIncorrect error message in synthetic jobs page when EUM is disabledCORE-78812
UI"Impacted users" field in session crash widgets displays an incorrect valueCORE-76160
UIEUM - browser snap - related snap grid is too small CORE-74039
UISynth: Unrelated Filter Appears When Clicking JobCORE-72082
UIBrowser RUM Page List: Prevent | character's in page names when renamed in controller UICORE-70534
UIAll Browser are not displayed in the Distribution by Country in Browser Usages stats screen in EUM UICORE-70156
UICustom Data should not be available in MOBILE_LITECORE-69294
UIDistribution by Country with respect to device does not include all devicesCORE-68479
UIAnalytics error messages for bad Analytics configuration are not displayed on EUM Web screensCORE-66528
UIDetails missing on the session details screen opened via a deep linkCORE-65988
UIEUM Page Dashboard Has Page Comp data with -1sCORE-64389
UIOpening two session details causes the second to not render the waterfallCORE-59926
UIMobile RUM Configuration screen still shows Missing dSym files after uploadCORE-58365
UIEUM BRUM, MRUM And Synthetic: Active Sessions Visualizations seems inaccurateCORE-54061
UINetwork Request list should not query for Browser RUM metricsCORE-53861

Known Issues

Browser RUM

  • Automatic injection is not supported if the Web Server Agent is used.

Mobile RUM

  • Server-side correlation for Mobile RUM is not supported if the Web Server Agent is used.

Browser Synthetic

  • 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



New Metrics

  • 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.percentileMonitoringAllowed property. 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.
  • 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.

Solaris Support

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:
      • %Nice
      • %Irq
      • %SoftIrq
    • Process metrics:
      • Major Faults/sec
      • Minor Faults/sec
  • 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:



x86 (32-bit)

x64 (64-bit)

10 (x86 and x64)

11 (x64 only)

SPARC (64-bit)

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

Server Dashboard

 The Server Dashboard has the following enhancements:

  • 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.

User Interface

  • When you open the Server Dashboard for an individual transaction snapshot, time-based Dashboard graphs include an indicator that shows the snapshot time range.

Resolved Issues

Controller-PlatformDefault Server health rules that contain wild cards should be disabled by defaultCORE80899
Controller-PlatformServer Visibility remapping shouldn't use TX attribute inside of metric packet insertionCORE-78693
Machine Agent, SIM-serverService Availability is producing two events every 5 minutes on no status changeCORE-70886
SIM-serverNoTxnTimerTask will not purge stale machines in backgroundCORE-83672
SIM-serverProcess TotalsLimiter.currentCount is out of sync with databaseCORE-81827
Metric Browser, SIM-serverREST API issue while opening Server Visibility metrics from Metric BrowserCORE-80360
SIM-serverSim Metric duplication rules not created for all accounts on after upgrade from pre-4.2 controller to version >= 4.2CORE-76211
SIM-serverIssues displaying reported Machine Agent metrics observed on a SaaS ControllerCORE-72754
SIM-serverGaps in Server Visibility metric charts observed on some ControllersCORE-61008
UIUpdates to Servers list not reflected when viewing Controller in Internet Explorer 11CORE-82250
SIM-server, UICannot delete old servers after upgrading Controller to 4.2.2CORE-72053
UIServers > Events: when exporting data to CSV, Subgroups values appear as negativeCORE-62716
SIM-serverMemory Utilization Metrics are not reported correctly on WindowsCORE-90852

Server Visibility Known Issues 

  • If a metric name contains colons or pipe characters (: or |), 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:

Docker Visibility Known Issues

  • The Standalone Machine Agent running inside the container sometimes reports a few extra volumes for the host machine. This can result in a higher total volume for the aggregate volume metrics.
  • There might be gaps in the container network I/O metrics. This happens because the Docker API resets the accumulated network I/O metric data for every 4.2 GB of data sent or received. When the data is reset, the Standalone Machine Agent calculates negative I/O values and does not report a data point for that time window.
  • If the agent started monitoring the current container after the beginning of the selected time range in the Controller, the Controller might show metric data prior to the container start time. This metric data will include metrics from a previously monitored container. This behavior occurs when the Controller flag "sim.machines.reuse.enabled" is enabled. 
  • If the agent started monitoring the current container before the beginning of the selected time range in the Controller, the data is correct for the current container.
  • If a container stops running while it is being monitored, the Tiers & Nodes Dashboard > Server tab will show data for the stopped container rather than for the underlying server.
  • In some cases, container monitoring is suspended when some containers that are currently being monitored are stopped. This issue has been observed on Docker API version 1.24. The suggested workarounds in this case are to
    • Restart the Standalone Machine Agent (Docker Visibility will start monitoring the containers), or 
    • Upgrade to Docker CC/EE v17.03 or Docker Engine v1.13.


Standalone Machine Agent Notes 



  • In 4.3, JRE 1.8 is bundled with all the OS-specific Machine Agent installation downloads.

Resolved Issues

Machine AgentData collector on Windows Standalone Machine Agent does not terminate in some casesCORE82379
Machine Agentstart-stat-run.sh generates too many machine-agent.log entries when data can't be gatheredCORE-79699
Machine Agentmachine-agent script throws "./machine-agent: line 93: : No such file or directory" on startupCORE-78993
Machine AgentUser cannot run basic monitor on Windows or Linux if Server Visibility is enabledCORE-78851
Machine AgentCustom metrics component registration using Tier name rather than Tier idCORE-77104
Machine AgentReport CPU I/O waitCORE-76567
Machine AgentMachine Agent SysV Init Script does not actually support a non-root runtime userCORE-73458
Machine AgentMachine agent "keystore-file-name" relative path is breakingCORE-72757
Machine AgentAbsolute paths issue for loading libraries from a directory in Windows for Machine Agent ExtensionsCORE-68253
Machine Agentaix-stats.sh is written for bash, but AIX doesn't ship with bashCORE-67960
UIMachine Agents list does not reflect newly-created application (requires browser refresh)CORE-82424
UIServers > Events: when exporting data to CSV, Subgroups values appear as negativeCORE-62716
UIUser can't unregister an agent from an application, thus can't rename Unique Host IDCORE-28936

Known Issues

  • 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



Log Analytics

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

Sessions Data

  • 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.

Transaction Analytics

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 mode query parameter.
  • 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

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.

Upgrade Notes

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:

  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.

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 4.3 agents, 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 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 affect 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 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.

Resolved Issues

AnalyticsQuerying Analytics API Returns 404 ErrorCORE-92296
AnalyticsChange in timestamp format causes time series charts to not workCORE89035
AnalyticsEvent service is returning wrong formats for older controllersCORE-88173
AnalyticsAutocomplete does not work with EUM eventsCORE-86999
AnalyticsAnalytics agent consuming too much CPU tailing a single log fileCORE-84331
Analytics+ and - operators need whitespace if followed by number literalCORE-82110
AnalyticsUnable to view relevant fields in Analytics query; instead, error Is thrownCORE-81539
AnalyticsRead-Only Analytics user fails to load Flow Map for a given transaction recordCORE-81363
AnalyticsIssues when creating Extracted field for log analytics CORE-80300
AnalyticsParsing CSV logs seems broken CORE-79078
AnalyticsAnalytics canvas becomes unresponsive some timesCORE-77049
AnalyticsAggregation query fails on putting top level field after a nested fieldCORE-74850
AnalyticsADQL IN clause doesn't support wildcardsCORE-72949
AnalyticsEvents service should not allow to register two attributes with the same nameCORE-70283
AnalyticsCan only see 10 results for aggregations in table widgetCORE-69933
AnalyticsFunnel Widget is not returning appropriate results in some casesCORE-67599
AnalyticsADQL QueryEvents is not returning an Array of response anymoreCORE-66788
AnalyticsTransaction Analytics: Doesn't search records if the Search criteria has forward slash (/) in itCORE-62566
AnalyticslogMessage is visible in the widget builder for selectionCORE-60891
AnalyticsThrottling/Summarizing error messages on agent logCORE-57926
Analytics AgentAnalytics Agent (& Processor) - PID file management improvementCORE-76999
Analytics AgentData Collector fields not showing up in Analytics which are present in APMCORE-66725
Analytics, Node.js AgentTransaction snapshots fail to load from Analytics for node.js agent BTCORE-72714
UISome columns don't show up in the results tableCORE-89216
UIAjax Error filter does not work with regex characters in Basic modeCORE-89136
UICannot see the log messages in the extracted fields popupCORE-88829
UIAnalytics widgets w/ fields not in the MetaDataService broken in Custom Dash due to alias including "."CORE-88603
UIContext menu "Search for Events" doesn't work with numeric filtersCORE-87626
UIOR-ing analyzed fields creates comma separated listCORE-86972
UITimeseries widget not rendering for queries with wildcards in IN'sCORE-86808
UIData tab in advanced mode does not display results for queries with wildcards in IN'sCORE-86803
UIWidget Builder: Axis fields are not removed when switching widgetsCORE-86562
Analytics, UITime Series widget displaying "no data to display" when some data is returned.CORE-86458
UISeries chart not showing all the data valuesCORE-86265
Analytics, UISome EUM Analyze widgets have no data for 4.2 controller + 4.3 events serviceCORE-86207
UIFunnel widget shows same field multiple times in funnel field selection drop down.CORE-86012
UIAnalytics filters should use the renamed Business Transaction name when availableCORE-85222
UISessions in Analytics have incomplete dataCORE-84635
UIUI error is thrown for query with math expressionsCORE-84371
Analytics, Controller, UIRoles are getting saved but an error dialog is displayedCORE-84115
UIMultiple notifications when saving privileges to rolesCORE-83623
UIMultiple x-axis fields not allowing transition to basic modeCORE-82647
UIExport as CSV icon disappears on saving table widget to custom dashboardCORE-82136
UIUser allowed to change config of applications denied by RoleCORE-82074
Analytics, UIFunnel query in advanced mode only showing step 1 results when multiple stepsCORE-81922
UINumeric filter should accept negative values & it should not generate ADQL condition if invalidCORE-81793
UIAPM-supplied field displayed in some places in Analytics, but not on Transaction DataCORE-81708
UISeries widget freezes on large data setsCORE-80335
UITruncate larger length field names in Analytics - add criteria UICORE-79507
Controller-Platform, UICustom dashboard report renders incomplete data and is unusableCORE-79360
UIMobile Analytics: Custom Dashboard widgets show inaccurate results for Advanced QueriesCORE-78975
UIAnalytics UI: Analytics custom widget under custom dashboard does not pick up custom time range changesCORE-78733
UIAnalytics tab available when not licensedCORE-78508
Analytics, UI"Use current Filter: does not work in "Create Extracted fields window in log analytics"CORE-78221
UIThe percentile widget only shows 50% on custom dashCORE-78118
UIClicking on the relevant fields tab shows no indication of any progressCORE-77245
Analytics, UISorting on a numeric field in Analytics results sorts alphabeticallyCORE-77003
UIAnalytics: Advanced query based dashboard widgets changing queries when loading the widgetCORE-76988
UICustom Dashboard is very slow with many analytics widgetsCORE-76496
UIThe Hide fields Popup Needs "Done" and "Cancel" buttonsCORE-75735
UIExport option is not available in advanced mode viz tabCORE-75699
UIProblems with Analytics Searches for Basic/Advanced / Extracted Fields / AddEdit WidgetsCORE-75240
UICustom dashboard - Fields are not refreshed while creating new widgetCORE-74049
UIDuplicate queries when transitioning from logs to transactions or vice-versaCORE-71199
UIRefresh icon on the location toolbar can place unnecessary calls and make the UI slowerCORE-69800
UIAnalytics Dashboard and Visualizations are running very slowlyCORE-69370
UIIn Basic Mode, for numeric field filter, if the range is specified reverse it still fetches dataCORE-68608
UIUser can create extracted field without "Manage Fields" permissionCORE-68585
UIManage Fields - timestamp fields are shown in Top Values as epoch. Clicking on one shows a formatting error.CORE-68565
UIWidget title field should not allow user to drop fields into input boxCORE-67678
UICharts should not show a dip at the end CORE-66364
UIADQL queries do not return expected results when the values in conditions contain escape charactersCORE-66163
UI1-hour query results do not include 1-minute query dataCORE-65978
Analytics, UIUnable to create metrics from search in Analytics tabCORE-65555
UIData grid is not being refreshed with all fields when switching from results to data in advancedCORE-65189
UIError code field shows only first value instead of all values in the data gridCORE-64776
UIAnalytics UI Grid/Table - Column header is right-aligned but values are left-alignedCORE-64761
UIAggregations don't render in certain chart types in advanced modeCORE-64700
UIPerformance issue from unnecessary REST calls CORE-63452
UIMulti-queries should use consistent time stampsCORE-61365
UIAble To Access Analytics When License ExpiredCORE-60149

Known Issues

  • 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
  • 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. To upgrade the Platform Admin Application, download and install the latest version, then follow the steps to upgrade the rest of the platform components. See Upgrade Platform Components for instructions.
  • The Controller Java SE Runtime Environment has been upgraded to JRE 8u121.

Upgrade Notes

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.

Resolved Issues


ControllerAppDynamics Controller Should Not Log SEVERE Errors if Events Service Not RunningCORE53180
ControllerPlatformIllegalObjectStateException: Event Notification has been triggered with an empty map for health ruleCORE-90611
Controller-PlatformLack of thread safety in Glassfish ManagedBeanDescriptor causes threads to blockCORE-89710
Controller-PlatformIncorrect count of actions in Actions Executed CORE-88250
Controller-PlatformLazyInitializationException in EventReactorEntity.getActionWrappers()CORE-88214
Controller-PlatformIllegalObjectStateException: Event Notification has been triggered with an empty map for health ruleCORE-87873
Controller-PlatformAdministration->Roles page is slow to render due to full DTO getting returnedCORE-87305
Controller-PlatformScript for switching to Java 1.8 is missing settingsCORE-87098
Controller-PlatformNullPointerException in EventFilteringUtil when Policy is created with Specific Servers and no servers are selectedCORE-87008
Controller-Platform4.2 expand ES with localhost succeededCORE-86933
Controller-PlatformMetadata churn creates MemoryLeak in MetricBrowserCORE-86907
Controller-PlatformMetadata churn creates MemoryLeak in BaselineMemoryDataStoreCORE-86880
Controller-PlatformMetadata churn creates MemoryLeak in HealthMetricsManagerBeanCORE-86879
Controller-PlatformMetadata churn creates MemoryLeak in MetricReceiverBeanCORE-86863
Controller-PlatformHealth Rule Violation/ Incident Viewer - Correlation key for "THREAD_DUMP_ACTION_FAILED" event sets "INCIDENT_ID" instead of "POLICY_ID" CORE-86837
Controller-PlatformJMX Health Rule violation remains open for a node even after the affected node is deletedCORE-86526
Controller-PlatformPie chart widget colours change automatically after upgrade to 4.2.9 on some ControllersCORE-86422
Controller-PlatformHealth Rule evaluation time increases over timeCORE-86283
Controller-PlatformHealth Rule of type SIM that affects servers of a specific tier is broken after importCORE-86162
Controller-PlatformApplication Batch Import - NullPointerException in PolicyEntity#setAffectedEntity while importing Health RulesCORE-85527
Controller-PlatformCustom health rule generates false alerts even after alerting for the rule is disabledCORE-85348
Controller-PlatformSpecific Custom Dashboard import failing on a specific SaaS controllerCORE-85311
Controller-PlatformLogs for reporting service suppresses the actual error messageCORE-85235
Controller-PlatformReport Resolution - White spaces below generated reportCORE-84117
Controller-PlatformAdopt EntityCache in the EventReceiverBeanCORE-83237
Controller-Platform, UIScheduled Report Start date always shows current day on UICORE-83137
Controller-Platform, SIMDeletion of custom metrics (or any metric directly) is not reflected in Metric BrowserCORE-82573
Controller-PlatformHealth Rule violation is showing "Backend: Not found (id <id>)"CORE-81787
Controller-PlatformCustom DashBoard > War Room: Intermittent "Internal Server" errors observed when adding war room based on template from another applicationCORE-81697
Controller-PlatformNullPointerException in UIMetricManagerImplCORE-81294
Controller-PlatformHealthRule configuration visible on SaaS controllers without authenticationCORE-81292
Controller-PlatformControllerManagerTest.testRefreshCachesForApplication failing on master for REDISBACKEDCORE-80557
Controller-PlatformActionService deployment fails for accounts with uppercase lettersCORE-80354
Controller-PlatformEmail digests either not sent or not triggered on timeCORE-80021
Controller-PlatformEmail Is not getting updated for SAML UserCORE-79328
Controller-PlatformController upgrade fails if the JMX instance name (metric) is more than 250 charactersCORE-79218
Controller-PlatformLicense screen refresh button does not refresh EUM usage dataCORE-79100
Controller-PlatformHealth Rule violation is still in Open state for nodes that are deleted, or no longer exist, or are removed from the health ruleCORE-78962
Controller-PlatformNeed to update controller to use apache commons library version 3.2.2CORE-78735
Controller-PlatformEnabling and Disabling Redis while the controller is live creates instabilityCORE-78650
Controller-PlatformHealth Rule import/export doesn't handle DB server filteringCORE-78638
Controller-PlatformEmails are not sent to email addresses with a particular domainCORE-78385
Controller-PlatformCustom dashboard import fails if it has DB server-related metricsCORE-78249
Controller-PlatformAll Dashboard Report PDF shows loading symbol and nothing elseCORE-77415
Controller-Platform, UIController audit report does not show complete data when generated for 1 weekCORE-77331
Controller-PlatformHealth rule is not updating the node names in the health rule screenCORE-77203
Controller-PlatformOptimizing used memory in the PolicyExecutionStateCORE-77107
Controller-PlatformEntity name in Metric Display Name for Custom Dashboard is wrong for backend CORE-76985
Controller-PlatformApplicationDiagnosticDataManagerBean: some objects have been modifiedCORE-76474
Controller-PlatformUser cannot rename the tier even with necessary RBAC permissionCORE-75775
Controller-PlatformAuthRealm.java should cache Account->SecurityProviderType in a write TTL 5 mins cacheCORE-75211
Controller-PlatformSchedule Report not considering DST time and received with 1 hour delayCORE-74873
Controller-PlatformInstaller unable to start the database during upgradeCORE-74501
Controller-PlatformInvalid Metric Id: 0 appears in error message on loading dashboardCORE-74057
Controller-PlatformInternal error on double-clicking on any of the dashboards.CORE-73252
Controller-PlatformNull check missing from StreamingGraphWidgetEntity:doToDTO staticThresholdsCORE-73195
Controller-PlatformUpdate installer to set usage.data.enabled.onprem flagCORE-73163
Controller-PlatformActionService: File streams not being closedCORE-73024
Controller-Platform/controller/rest/serverstatus should return a 503 HTTP status code when the content of the <availability> tag is falseCORE-72593
Controller-PlatformdeleteApplication() hanging on onApplicationDiagnosticDataDelete()CORE-72453
Controller-PlatformTiers are listed incorrectly in "Current evaluation status" for JMX health rulesCORE-72376
Controller-PlatformBackend work for Gauge doesn't work when Metric Expression evaluates to a negative numberCORE-72318
Controller-PlatformScheduled Reports mails are still being sent after the owning account is marked as deletedCORE-71894
Controller-PlatformController settings overwritten with upgradeCORE-71719
Controller-PlatformInstalling on a machine where 4848 is taken doesn't install the tokenCORE-71618
Controller-Platformcontroller.sh start-db fails on OSXCORE-70169
Controller-PlatformHealth rule email alert contentCORE-69448
Controller-PlatformLicense error message invalid or not intuitiveCORE-69431
Controller-PlatformSlack extension link bring blank screen with Transaction: undefinedCORE-69293
Controller-PlatformgetEventCounts: fix eventCategory assignment logicCORE-69075
Controller-PlatformHistorical data of custom metrics are erased when new health rule is createdCORE-68934
Controller-PlatformShared dashboard throws error when time range is changedCORE-68894
Controller-PlatformHealth rule violations remain open for a long time and are still triggered even when disabled CORE-68212
Controller-Platformlog4j.xml location not consistent after upgradesCORE-67959
Controller-PlatformUse IMetadataCache inside EventReactorManagerBeanCORE-67944
Controller-PlatformHealth rule evaluation for SERVICE_ENDPOINT seems using tier metric but actually per nodeCORE-67482
Controller-PlatformDuring metric data overflow, events created in other accountsCORE-66902
Controller-PlatformPrevent remote access to MySQL root userCORE-66300
Controller-PlatformExecutionException: failed to retrieve event summaries in parallelCORE-64881
Controller-Blitz, Controller-PlatformBaseline value for time rollup type current is max value, not weighted average value CORE-64788
Controller-Platform, UIFor URLs in reports, ensure iframes are rendered before the pdf is created and emailedCORE-64178
Controller-PlatformHealth Rule is not fired with wild cardmetrics pathCORE-63212
Controller-PlatformUnable to create consul master tokenCORE-61798
Controller-PlatformVery long processing time for MetricDataWriterBean.addMetricMinute CORE-61593
Controller-PlatformServer exception is thrown when WarRoom name is same as template nameCORE-61065
Controller-PlatformLog Level functionality is not working under HTTP Template test runCORE-61028
Controller-Platformcontroller.beans.agent.tts.cache.TopSummaryStatsMemoryStore takes ~%14 heap memoryCORE-59327
Controller-PlatformEvent Service: Snapshot view does not render (empty window)CORE-58594
Controller-PlatformEmail Digest send failure due to large message sizeCORE-58147
Controller-Platform, InstallerInstallation of shows benign crash recovery related messagesCORE-27895
Controller-PlatformIntermittent Slow SQL Queries: metricdata_hour_agg_app tableCORE-27386


Known Issues

  • 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.

Security Notes

  • The Controller stores credentials in a secure credential store by default.

Deprecation and End of Life (EOL) Notices Updates

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.

Resolved Issues

Blitz, Controller-PlatformSome health rules trigger "false positive" alerts due to inaccurate baseline valuesCORE-98204
Node.js AgentNode agent no longer works without libagent on WindowsCORE-96927 Updates

Resolved Issues

iOS Agent

iOS app which uses non-http(s) scheme for URL crashes in iOS Agent

CORE-98694 Updates

Resolved Issues

PlatformSlow App-Tier and Tier-Node relationship data queries observed on some Controllers


4.3.1 Updates



  • The audit.log file (located at <controller_home>/logs) now replicates the scheduled Controller Audit Report (controller.controller_audit table) by capturing the creation of new data collectors and all other operations. This should help with monitoring user activity and configuration changes in the Controller for security certification purposes by making the data consumable by standard log file auditing tools. The default log file size has been increased to 500 MB from 50 MB to accommodate for the expanded logging scope.

Application Performance Management

Java Agent

  • The Java Agent automatically detects Akka HTTP entry points, Akka HTTP  exit points, and Akka HTTP error codes for Akka 2.4.x and Scala 2.11.
  • Updated configuration for Kafka consumers that use KafkaConsumer.poll() and Kafka Streams. After you implement the new configuration, flow maps in the Controller display the data flow from the queue to the consumer. See Apache Kafka Consumer Backends.

Go Agent

  • The AppDynamics Go Agent no longer requires the AppDynamics Agent Proxy for its Controller communication. For more information on the agent, see Go Language Agent

JavaScript Agent

Android Agent

  • You can generate and upload symbol files for C/C++ functions in your Android apps, so that the file name and line number will appear next to the function name in the stack trace. See Configure Native Crash Reporting for more information.


  • Log Analytics - When defining a source rule, multiple definers can be added for auto field extraction. This is useful If the log events are dissimilar so you can collect all types of fields.

Known Issues

For Go Agent, the StoreBT, GetBT, StoreExitcall, GetExitcall methods are not available. 

Deprecation Notices


  • The complement and interval REGEX operations, which are described for use with ADQL, are deprecated and may be removed in a future release. You need to adjust ADQL queries that use these operations. 
  • For security reasons, direct access to the Events Service data store through HTTP port 9200 is deprecated and will be removed in a future release. Because HTTP access through port 9200 will be disabled by default in a future release, you may need to review and change external scripts that expect this port to be open.

Resolved Issues

In addition to the issues listed below, this release addresses important security issues. 

Platform Resolved Issues

Controller-PlatformMetric Browser shows incorrect baseline values for metrics with time rollup of type SUMCORE-97695
Controller-PlatformAjax resource issues observed on some SaaS ControllersCORE-96926
Controller-PlatformNeed to optimize agent authorization for License Rule evaluationCORE-94330
Controller-Platform, dashboard, WidgetsSome widgets in custom dashboards get reordered after 4.3 upgradeCORE-96792
Controller-PlatformMetric data cache does not get cleared out when node is deleted CORE-96514
Controller-PlatformWriter instantiated with wrong DocTypeCORE-94445
Controller-PlatformNeed to optimize agent authorization for License Rule evaluationCORE-94330
Controller-PlatformSIM node id should not be added to the MetadataCache.machineIdvsNodeIdCacheCORE-93869
Controller-PlatformPlatform Admin upgrade succeeds but displays an error on console in Cent OS 7CORE-93748
Controller-PlatformHigh rate of extraneous log messages when certain Health Rules are disabledCORE-93192
Controller-PlatformHigh rate of extraneous log messages when race condition is detected during Health Rule evaluationCORE-93130
Controller-PlatformReport file name does not use local (browser/user) time zoneCORE-92063
Controller-PlatformAttempt to update Collector results in NullPointerExceptionCORE-90660
Controller-PlatformSome Controllers do not return data for event queries on two-week time windowsCORE-86490

EUM Resolved Issues

Controller-EUM "EUM enabled" flag for APM application should be set to true when Attribute Injection is enabledCORE-96789
Synthetic ServicesOn Demand Synthetic Snapshot generation failing with error - Failed to enqueue measurementIdCORE-94295
Synthetic Agent A specific Synthetic Job is failing with 4xx - Client ErrorCORE-94257
Controller-EUMNeed to ensure that EUM Health Rules don't get created by default for non-EUM applicationsCORE-93738
Controller-EUMPages and AJAX Requests table: Page/AJAX Limit messages always show "Limit of 500" even when the specified limit is higherCORE-87327
eumStore AWS Dynamo DB zip locally and adjust run-dynamo-db script accordinglyCORE-91506
EUMCloudAJAX/Virtual pages result in discovery of their corresponding Base Pages, irrespective of their Page Naming rules for Image/Fat beaconsCORE-92921
EUMCloudException handler does not demangle certain Swift symbolsCORE-92536
Synthetic AgentA specific Synthetic Job is failing with 4xx - Client ErrorCORE-94257
Synthetic ServicesOn Demand Synthetic Snapshot generation failing with error - Failed to enqueue measurementIdCORE-94295
UIController validates each request call twice when user navigates to Browser App DashboardCORE-88385

Analytics Resolved Issues

AnalyticsQuery accepts times in string format only (not epoch timestamps)CORE-89461
Analytics, Analytics AgentFlow Maps show incorrect value for Average Per Call TimeCORE-88652
UIAnalytics custom widget: URL filter with wildcards results in bad ADQL queryCORE-94171
UIAdd Source Configuration: confusing UI for data log time-range optionsCORE-93360
UIAnalytics widget remains blank when a user joins shared War Room as a guest (no login)CORE-69832

APM Resolved Issues

.NET Agent, Controller-APM.NET Agent is not downloading custom entry / exit definitions with 4.2.15 controllerAPMPLAT-423
.NET AgentPerformance counter collection for Azure Webapps is not workingDOTNET-41
Controller-APMNeed to reduce the frequency of "filtering out candidate" log messagesAPMPLAT-420
Controller-APMIf App Agent and Standalone Machine Agent report to the same node, stopping the App Agent alone should not delete the nodeAPMPLAT-434
Controller-APMTransaction Live Instrumentation mode requires a separate RBAC privilegeAPMPLAT-410
Controller-APMNeed to speed up responsiveness in AppDynamics home pageAPMPLAT-446
Controller-APM"User does not have permission to do this:" Cannot view snapshot if it includes calls to a downstream app for which user does not have the necessary RBAC permissionsCORE-91581
Controller-APMNeed to speed up responsiveness in User Experience pagesCORE-91362
UICannot customize PHP web transaction naming unless you enable virtual hostCORE-92674

Infrastructure Visibility Resolved Issues

MachineAgentJVM Crash Guard not reporting crashes for Java processes monitored with java agentCORE-93148
MachineAgent, SIM-serverMemory utilization metrics are not reported correctly on WindowsCORE-91301

Database Visibility Resolved Issues

UIdbmon-wait-time search query needs to be optimizedDBMON-151 Updates

Resolved Issues

ControllerCustom Service endpoints do not work after agent restart

APMPLAT-708 Updates

Resolved Issues

UICustom HTTP data does not appear in Transaction detail window for Analytics event

ANALYTICS-1799 Updates

Resolved Issues

UIController cannot read entity from input stream from EUM (SaaS) using proxy


4.3.2 Updates



  • MySQL transaction log directory (transactionLogDir) is now a configurable Controller installation setting. You can enable on-premises Controllers to scale to higher metric loads by configuring MySQL to put innodb_log_group_home_dir on a separate filesystem or SSD with low latency. This setting is preserved across upgrades. See Install the Controller for more information.

Java Agent

  • You can configure the length of time the Java Agent waits before timing out an MBean operation using the jmx-operation-timeout-in-milliseconds node property.


  • It is no longer necessary to multiply the numerator or denominator by 1.0 to perform floating point division in ADQL math expressions.

Events Service

  • For security reasons, direct access to the Events Service data store through HTTP port 9200 has been disabled. The use of this port has always been limited to troubleshooting and diagnostics. Disabling this port does not have any impact on accessibility to the Events Service because that is handled on a different port. Because HTTP access through port 9200 is disabled by default, you may need to change any external scripts that expect this port to be open.

Browser RUM

  • The Geo Dashboard has regional map locations for Spain and the Netherlands.

Mobile RUM

  • You can enable the iOS and Android Agents and the Controller UI to take screenshots. From the Controller UI, you can enable automatic mode for screenshots, which enables you to see conventional screenshots and touch point screenshots. The mobile screenshots are displayed in session details in the Waterfall tab, so you can see when they are taken. You can also view all the screenshots taken for a particular activity from the Screenshots tab. See Mobile Screenshots for more information.

Custom Dashboard

  • You are no longer limited to time series graphs for baseline metrics. You can access baseline data through a numeric widget using the Metric Value widget.

License Management

  • The UI notifications for agent license management has been enhanced to include more details. When an agent license request fails due to a lack of available licenses, the notification now includes rule name, agent type, node name, and hostname. When an agent is denied access to the Controller by a license rule, the notification now includes all of the aforementioned details, plus the application name.

Resolved Issues

Platform Resolved Issues

UISplunk Integration: Put back Splunk integration links from APM in HTML5 screensAPMPLAT-28


EUM Resolved Issues

UINeed to create regional map for Spain and Netherlands in Geo DashboardCORE-52253
EUM CloudIn some cases, synthetic page monitoring does not generate Problem Ended notifications CORE-58489
EUMCustom Page name defined using JavaScript overrides all exclude rulesCORE-93122
EUM GeoServerValidating large mapping files results in GeoServer OutOfMemoryError exceptionCORE-98830
iOS AgentiOS app which uses non-http(s) scheme for NSURL crashes in iOS AgentMRUM-440
Controller-EUMController cannot read entity from input stream from EUM (SaaS) using proxySYNTH-918


APM Resolved Issues

Java AgentMBean operation timeout Node PropertyJAVA-608


Analytics Resolved Issues

Analytics ServerEvents-Service: Port 9200 is turned off by defaultANALYTICS-475
Analytics ServerImprove events-service logging and error messagesANALYTICS-1393
Analytics, Event ServiceNeed better query processing and error reporting when Analytics Cluster is highly utilizedCORE-97031 Updates

Resolved Issues

AuthenticationSAML fix for upgrades to 4.3PLATCPS-404
Universal AgentUniversal Agent REST calls result in 403 (Forbidden) responses after upgrade to 4.3UNIAGENT-114 Updates

Resolved Issues

ControllerConfig Scale: Implement caching of application configuration APMPLAT-623


4.3.3 Updates



  • Changes made to the Evaluate Health Rules checkbox, agent configuration settings, and call graph property are now audited. The Controller log displays which entity has changed and who changed it, which makes it easier to investigate an issue after a global change has been made.


  • The Atlassian JIRA Integration is a two-way integration system that reduces the time spent searching for specific event/incident data and consolidates JIRA issues. The process aligns with the following use case:
    1. An AppDynamics event triggers a JIRA incident.
    2. The AppDynamics event and incident data are gathered in a JIRA issue.
    3. An AppDynamics War Room is used to facilitate the resolution.
    The integration provides new column, panel, and widget information that allows you to navigate between the two applications seamlessly. See Integrate AppDynamics with Atlassian JIRA for more information.
  • The Scalyr Integration module enables users to launch context-aware log searches in Scalyr directly from the Controller UI. See Integrate AppDynamics with Scalyr for more information.    


  • The Python Agent supports Python 3.5.
  • AppDynamics uses a Pretty Good Privacy (PGP) key to digitally sign the following agent software:
    • Java Agent download from the AppDynamics Download Center
    • Python Agent pip package
    See Download AppDynamics Software.

Server Visibility

  • You can use the Standalone Machine Agent to monitor application nodes running inside Docker containers and to identify container issues that impact application performance. By viewing and comparing APM metrics with the underlying container and server/machine metrics, you can easily answer the question: Is my application problem purely an application problem, or is the root cause in the container or the server? 
    See Integrated Docker Visibility.
  • AppDynamics uses a Pretty Good Privacy (PGP) key to digitally sign following agent software:
    • Standalone Machine Agent download from the AppDynamics Download Center
    • Standalone Machine Agent npm package
    See Download AppDynamics Software.
  • You can now configure the Standalone Machine Agent to use a specific key to establish a connection with the Controller. This option can be useful when setting up Mutual Authentication. To specify the key, go to <agent-home>/conf/controller-info.xml and specify the alias for the key to use: <asymmetric-key-alias>alias</asymmetric-key-alias>


  • Permissions can be granted at the application level to configure EUM so that certain roles are able to delete mobile network requests or page/Ajax requests.

Browser RUM

  • You can configure the JavaScript Agent to capture POST parameters and then use the parameter(s) to name the Ajax requests in the Controller UI. See Set Ajax Request Names Based on Captured POST Parameters to learn how.
  • The Geo Dashboard now has a regional map for Belgium from the Neustar geo database.

Resolved Issues

In addition to the enhancements and issues listed below, this release includes several fixes to issues discovered during internal testing.

Platform Resolved Issues

Controller-platformAlert & Respond: fixes for email action editing modeALERT-345
Controller-platformFix to improve internal API response times when thread utilization is highALERT-28
ControllerDevelopment Level Monitoring fix for upgrades for Controller to 4.3APMPLAT-155
UIRefresh Metric Tree Blank operation sometimes requires two clicks to completeAPMPLAT-522
UIFix for Response Time filter when viewing Server Endpoints with Performance DataAPMPLAT-582
UIInformation point auto-fill integer values fixes for match conditions on > or < operationsAPMPLAT-622
ControllerConfig Scale: Implement caching of application configuration APMPLAT-623
UIController UI: Fixes for the information displayed on the Getting Started wizard for Python agentAPMPLAT-828

Fix to handle resizing of Analytics widgets in custom dashboards

Developer ExperienceFix to Server Getting Started account issueDEVEXP-1

EUM Resolved Issues

JSAgentAdrum JS Agent fails on cross domain iframeBRUM-248
EUM - BrowserPage Naming UI does not allow regex modifiers like "?i"BRUM-296
EUM - UIClicking a Parent Page link results in HTTP 500 (Internal Server Error) in some casesCORE-94192
EUMCloudFix to handle validation of account names with whitespacesCORE-99179
EUM - UIMobile Sessions: navigating to crash snapshot can sometimes throw an errorEUMUI-12
EUM - UIClicking on User Experience tab results in "Unsupported Media Type" message (observed on on-premise Controller) EUMUI-98
EUM - UIImprove wording if a new app is created with same name used in EUM or APM listEUMUI-226
EUM - UIBrowser App Dashboard: graphs for some Synthetic metrics are inaccurate for some time scalesEUMUI-367
Synthetic AgentSome synthetic metrics missing in Chrome sessionsSYNTH-957

Analytics Resolved Issues

Analytics Server

In some cases, Analytics Agent health check generates incorrect "healthy=false" log messages

UIDrill-down and context-menu operations don't work on column widget after clicking "drill up" buttonANALYTICS-1421
Analytics Controller

Registering a new node sometimes results in a high rate of garbage collection and CPU load on the Controller


Fix to handle resizing of Analytics widgets in custom dashboards


APM Resolved Issues

UIResponse Time filter does not always work when viewing Server Endpoints with Performance DataAPMPLAT-582
UIController UI: Fixes for the information displayed in the Getting Started wizard for Python agentAPMPLAT-828
Python AgentInstalling agent into python3 virtualenv does not pull in dependenciesDLNATIVE-8
APM - DotNetAzure WebApps Site Extensions validation fails on missing fileDOTNET-456
Java AgentIssues calculating end to end latency metrics in TIBCO BusinessWorks applications in some casesJAVA-505

Database Visibility Resolved Issues

DB MonitoringIntermittent spikes in CPU % Busy metricDBMON-392
DB MonitoringQueries are missing for Microsoft SQL Server (Database Agent version
DB MonitoringAccount-update issues result in 401 (unauthorized) response when clicking on Analytics tab DBMON-866
  • No labels