Java agent - Release notes
Version 6.7.1
08 October 2024
Issue fix:
Resolved the issue where, in specific cases, a java.lang.VerifyError: Bad local variable type could lead to application crashes while using Java agent version 6.7.0.
Version 6.7.0
01 August 2024
New feature:
Support for loop detection. This feature collects loop-specific metrics such as its origin method, iteration count, total time taken, and aggregated data of duplicate external and method calls within.
Version 6.6.2
11 June 2024
Issue fixes:
- The problem with false positive detection of the Docker environment has been fixed.
- The issue with rows count not being captured for SELECT queries in PostgreSQL has been fixed.
Version 6.6.1
09 May 2024
Enhancement:
- Support for Spring Cloud Gateway and reactor-netty HttpClient.
Issue fixes:
- The issue with unknown transactions in the Webmethods Integration server has been resolved.
- The issue with unknown transactions in the Tomcat server has been resolved.
- The issue of not capturing host details for Redis pipeline operations has been resolved.
Version 6.6.0
22 March 2024
Features/Enhancements:
- Support has been extended for Java versions up to Java 22.
NoteIt was previously supported up to Java 16. - Dynamic loading of the Java agent no longer requires JDK dependency. This enables agent to be loaded dynamically in any environment for Java 11 or above.
Version 6.5.0
05 February 2024
Enhancements:
- Support for gRPC server and client has been included (versions 1.20.x to 1.60.x).
- Support for the Wso2mi (Apache Synapse) framework has been included.
- Support for Redis 5.x has been included.
Issue fix:
- The issue with not capturing Redis transactions when using spring-data-redis has been solved by capturing the Redis host details.
Version 6.4.0
21 December 2023
New feature:
- Support for RUM auto-injection in JSPs.
Enhancements:
- Provision for ignoring cloud environment detection (if required).
- The agent version will be available locally in the readme file.
Issue fixes:
- The agent registration failure, which was identified in a few cases due to the length of vulnerable JAR versions being exceeded, has been resolved.
- The conflict between the agent logger and the application logger has been resolved.
Version 6.3.0
23 November 2023
Enhancements:
- New data centers have been added in Saudi Arabia (SA), Canada (CA), and the United Kingdom (UK).
- The JBoss server name is now used as the instance hostname.
- Batch query extraction for PostgreSQL has been implemented.
- Support for capturing DB operations/metrics for MongoDB 3.x.
Issue Fixes:
- The issue with Tomcat startup slowness upon adding an agent has been resolved.
- The issue with parsing PreparedStatements in PostgreSQL and MySQL has been resolved.
Version 6.2.0
29 September 2023
Enhancements:
- Support for capturing rows fetched/affected for all SQL queries (available only for MySQL, PgSQL, and MSSQL databases).
- Tracking the status code and bytes in and out of newer versions of the Undertow server.
- Method parameters are now captured as part of traces.
- Provision for adding monitor groups and tags as system properties.
Issue Fixes:
- The failure of agent init() during runtime loading caused by HttpClientBuilder init has been fixed.
- The incorrect JVM Heap memory usage value has been fixed.
Version 6.1.0
10 August 2023
Enhancements:
- Support for the new application server, webMethods Integeration.
- Support for MongoDB 4.x.
- Support for disabling the grouping of 404 Error Transactions.
- Support for OpenShift and Kubernetes environment detection.
Issue Fixes:
- ArrayOutofBoundsException: The Thread profiling issue, where the top N value is greater than the actual number of threads has been fixed.
- High Heap Usage- The issue with high heap usage when monitoring a large number of external calls for a transaction has been fixed.
- ArrayOutofBoundsException: The index mismatch with proxy configuration via system property has been fixed.
- Negative values in app parameters have been fixed.
Version 6.0.1
24 April 2023
Enhancement:
- Support for the integration of synthetic monitoring with APM.
Issue Fix:
- The request timeout issue with the agent's HTTP communication has been fixed.
Version 6.0.0
5 April 2023
Enhancements:
- Additional Redis calls are supported.
- JAX-WS annotations and Webmethods components are supported.
- Jakarta EE 9+ support is now available.
- NTLM auth support for proxy authentication.
- Enhanced UUID generation to avoid slowdown issues.
- Support for displaying the instance's IP address in the Instance Split Up tab.
Issue Fix:
- The NoSuchAlgorithmException issue with agents v5.7.0 - v5.9.1 on Java 8u292 has been fixed.
Version 5.9.1
1 March 2023
Security issue fix (ZVE-2023-0246):
- Encryption of license key in conf file and removal of all license key references in logs.
Version 5.9
20 February 2023
New Feature:
- Support for async transactions.
- Support for the following components: Spring @Async annotation, Apache HttpAsyncClient, AsyncHttpClient, and CompletableFuture.
Version 5.8
13 January 2023
New Feature:
- Support for detecting memory leaks in your application.
Version 5.7.1
05 December 2022
Issue Fixes:
- TLSv1.3 - The exception thrown during agent connect for a few Java versions has been fixed.
- Minor bugs in the JVM CPU calculation have been resolved.
- A Few exceptions in Apache HttpClient tracking have been resolved.
Version 5.7.0
14 November 2022
Enhancements:
- The agent supports Java 8 and above only (Java 6 and 7 are no longer supported).
- The agent now communicates with Site24x7 using TLSv1.3 (if the JRE support is available) or TLSv1.2.
- Retries (up to three times) for sending profiler data have been added in case of communication failure.
Issue Fixes:
- The issue with Apache HttpClient 4.5.x calls not being captured has been resolved.
- The IllegalArgumentException issue in thread profiler sorting has been fixed.
Version 5.6
13 September 2022
Enhancements:
- The following thread profiling enhancements have been implemented:
- Thread profiling is enabled by default, and it runs every eight hours for five minutes. It helps in identifying and auto-instrumenting slow methods.
Note
You can also manually disable thread profiling.
- Instead of listing the long-running methods, we switched to a tree model in which we retained the stacktrace structure and included additional information on each stack element.
- Support for transaction-based profiling (only in ON-DEMAND profiling).
Note
In addition to the fixed interval sampling, profiler will now pick the first few requests received during the profiling period.
- Thread dumps collected during profiling are sent to the server along with other data (only in ON-DEMAND profiling).
Note
There will be a maximum of 5 dumps. These dumps are saved locally and will be deleted once they are pushed to the Site24x7 servers.
- We also collect information on the top N resource-consuming threads, including CPU time, memory allocated, and stacktrace.
- Thread profiling is enabled by default, and it runs every eight hours for five minutes. It helps in identifying and auto-instrumenting slow methods.
- Support for triggering thread dumps from the Java agent for IT automation.
Version 5.5
10 August 2022
Enhancements:
- Support for Micronaut framework.
- Support for Cassandra Datastax 4.x.
- Support for tracking HTTP calls (blocking calls) in Spring WebClient.
- Support for whitespaces in JMX query names.
- Distributed Tracing support for HttpURLConnection.
- Collection of Spring Core and Spring Cloud Function jar versions for Spring4Shell vulnerability reporting.
Issue Fix:
- The issue with MSSQL queries being displayed under generic JDBC component names has been fixed.
Version 5.4.1
06-01-2022
Enhancements:
- Vulnerable classes of the log4j library have been removed (Agent uses log4j v1.2.17). We will be using the latest version of log4j in the next release.
Version 5.4.0
05-01-2022
Enhancements:
- Play 2.7 & 2.8 framework supported.
- OkHttp3 Client up to v4.8 supported.
- REDIS component has been enhanced to monitor additional operations like hset, hget, and so on.
Issue Fixes:
- Agent shutdown time in apminsight.info kept appending to previous values, this has now been resolved. Only the latest values are retained now.
- An Option to enable/disable diagnostics logs has been introduced.
- Null value issue in JMX metrics caused by a NaN exception has been fixed.
- Timeout of HttpUrlConnection class being captured separately- this issue has been fixed.
Version 5.3
03-09-2021
Enhancements:
- Monitoring support for messaging queues like Kafka, RabbitMQ and ActiveMQ
- Headers of web requests are captured from this agent version.
- Support for tracking key transactions with alerts.
- Agent can be installed in runtime, without a restart.
Issue fix:
- When log level set to OFF, agent was still printing few lines before being disabled. This has been fixed .
Version 5.2
22-06-2021
Enhancements:
- Monitoring support for Java 15
- Standalone HTTP calls are tracked as background transactions - this was deprecated in agent version 5.1 and is now reverted back.
- Automatic transaction grouping is applied to background transactions
Issue fix:
- SQL queries were not captured while using MySQL client v8.x - this has been fixed.
Version 5.1.2
02-06-2021
Security fix:
- Read/Write permission for APM agent configuration file is set only for the current user running the app server.
Version 5.1.1
21-04-2021
Issue fix:
- Error in agent communication - APM Agent has been throwing “CertificateChain error" & "PKIX path building failed” and this was causing trouble in sending requests to the server. This issue has been fixed by making HTTPS as the default protocol.
Version 5.1
24-03-2021
Enhancements:
- Checksum verification to validate the integrity of the downloaded agent
- Support for OkHttp client
- Http calls in the background are no longer tracked as separate background transactions. It will be captured as a part of any other transaction where it is executed.
Version 5.0
15-12-2020
New Feature:
- Support for JMX metrics - JMX metrics are captured and can be viewed under App parameters. These metrics are captured by default for renowned app servers. Learn more.
Version 4.9
05-08-2020
Enhancements:
- Enhanced agent diagnostic collector for troubleshooting - a new log file is introduced for diagnostics tasks.
- Monitoring Support fot Elasticsearch Rest Low Level client.
- Count of blocked threads is displayed by default in App parameters.
- Request method and status code of HTTP calls are now displayed in Traces.
Issue Fixes:
- Issues in monitoring Oracle DB queries - this has been resolved.
- Stackoverflow error while extracting host details of Informix DB - this has been fixed.
- Issues in tracing response header in distributed tracing - this has been fixed.
Version 4.8.1
01-04-2020
Enhancements:
- Monitoring support for Nexus repository manager and SonarQube
- Monitoring support for MySQL 8
- Support for tracking Http Status code in UnderTow server
Issue Fixes
- Typo mistake in updating instrumentation.conf file in runtime - this has been fixed
- Deadlock between tomcat main thread logger init and agent httpclient init - this has been fixed
- Unable to identify the index & type for Elasticsearch Transport client, has been fixed
- Agent was unable to fetch db queries when Weblogic jdbc wrapper is enabled, has been fixed
Version 4.8.0
27-02-2020
Enhancements:
- Custom instrumentation can be configured from the server side.
- Instance level custom instrumentation can be done by creating instrumenation.conf file. (custom_instrumenation.conf file is deprecated from this version)
Version 4.7.0
19-12-2019
Enhancements:
- Support for customizing transaction names via API
- Support for adding custom parameters in a transaction via API
- Support for distributed tracing
- Support for JettyHTTP client
Version 4.6.0
30-08-2019
Enhancements:
- For dockers, complete container id is taken as host name to support host based licensing.
- Agent can now automatically identify AWS ECS environment.
- Agent logs can be written in STDOUT, if enabled.
- App parameter keynames can also contain DOT (.)
Issue fix:
- JVM metrics were displayed with negative values - this issue has been fixed.
Version 4.5.0
20-06-2018
Enhancements:
- You can now track calls made to Elasticsearch via Transport client and Rest High Level client.
- HTTP request parameters are now captured at the end of transaction.
- Agent can now automatically identify GCE and AWS Fargate environments.
Issue fixes:
- Null pointer exceptions, that occur while processing Cassandra and MongoDB queries have been fixed.
- Retry interval in agent communication has been fixed.
Version 4.4.1
05-03-2019
Issue fixes:
- Typo errors while capturing Postgres SQL queries has been fixed.
- Host details of the failed Cassandra queries are now captured by the agent.
- Agent can now support Jedis latest version 3.0
- Null pointer exceptions, that occur while processing SQL queries have been fixed.
New Feature:
31-01-2019
- Context-based monitoring: Applications running on the same app server can be monitored as individual contexts. This would help you to view metrics for each context separately.
Issue fixes:
- Data mismatch in exception count and CPU time has been fixed.
- In case of 100% failure in background transaction, it's minimum response time was not captured properly. This has been fixed.
- While capturing logged exceptions, if error message is 'null', agent was throwing NullPointerException - this issue has been fixed.
Version 4.3
31-12-2018
Enhancements:
- Monitoring support for applications running in Java 9, 10, and 11.
Issue fixes:
- Query strings were captured along with the transaction names in Play framework - this issue has been fixed.
- In case of SQL queries, table names were mis matched if SQL queries contained sub queries. This issue has been fixed and table names and operations of primary queries are now captured and displayed.
- Unlogged exceptions, captured by the agent are counted under the " Warning" category.
Version 4.2
16-10-2018
Enhancements:
- With respect to deprecation of earlier TLS versions, users were requested to upgrade their application programming environments, for uninterrupted monitoring. But with Java agent version 4.2, users need not upgrade their programming environments. The agent is compatible with TLS version 1.2 and ensures un-interrupted monitoring service.
Version 4.1
08-10-2018
Enhancements:
- Transaction traces are now captured in case of high exception count, new exception type and high SQL time, apart from default threshold configurations.
- In thread profiling, only high CPU consuming threads are profiled instead of dumping all threads.
- Table name is shown along with the corresponding SQL operation in Traces.
- For background transactions, exception metrics are captured. Also, instance level metrics for background transactions are shown in application dependency maps.
Version 4.0
19-09-2018
Enhancements:
- Monitoring support for Filter framework has been re-introduced.
Version 3.9
01-06-2018
New Feature:
- App Parameter support: Monitor the size of frequency of an operation or variable using App Parameters.
Enhancements:
- Exclude HTTP errors from monitoring to reduce noise in your monitoring environment
Version 3.8
04-05-2018
Enhancements
- Proxy passwords have been encrypted and GDPR changes are implememted
- All internal components are merged into a single component under the name 'APP CODE'
- Number of component metrics per transaction is limited to 15.
Version 3.7
13-03-2018
New Feature
- Agent can track external calls even when maximum tracking limit is reached ( Upper limit is set to twice the maximum limit )
- Complete query is shown for MongoDB calls
- Users can now exclude packages from instrumentation (using key 'exclude.packages' in apminsight.conf file, requires restart)
Enhancements
- External HTTP call url length restriction has been removed
- Host details added to Memcached & Redis calls in trace details
- Trace now shows method call count split-up as first line
Issue fixes
- Trace constructions failed when host details are received as empty string (possible while extracting from JDBC urls in DB trackers) - this issue has been fixed and now host details will be skipped, if value is empty
Version 3.6
12-02-2018
New Feature
- Users can now use our API to monitor block of code in their application
- Users can prepend HTTP method to transaction name, if required
Enhancements
- In traces, additional rows are added to highlight un-instrumented block of code between instrumented method calls,
- Components HTTP CLIENT & HTTP CONNECTION are merged into a single component named HTTP CALL
- In thread profiling, default profiling and sampling intervals have been reduced. Now agent profiles every one hour for 5 minutes
Issue fixes
- Agent failed to capture Cassandra query on failure - issue has been addressed and fixed
Version 3.5.1
2-11-2017
Issue Fixes
- Passing empty value for Exceptions to ignore, made agent drop all exceptions. It has been fixed.
Version 3.5
1-11-2017
New Feature
- Agent can track transactions from JAX-WS framework
- Users can now exclude exceptions from tracking
- Agent can now track exceptions logged via Log4j2
- Users can now use our API for tracking exceptions in their applciation
Enhancements
- Error count for database metrics
- Host details for Cassandra queries are captured and displayed in traces and Service map
- Users can view performance data of Cassandra queriesin Database tab itslef
- Agent now supports tracking of SQL calls made via MySQL Client 5.x
- Optimized transaction filtering mechanism
- Agent can detect whether agent is running in Docker environment
- Every exception captured by the agent will be associated to a transaction
- Issue of getting empty stacktrace for exceptions has been fixed
- Auto-instrumentation will be enabled only in known environment (app server/framework)
- HTTP params will be captured in all frameworks & known servers, if enabled
- Incase of license expired or exceeded, agent will retry communication for 15 days before shutting itself down
Version 3.4
18-08-2017
New Features
- Failed Components' count are captured for each transaction, which can be viewed in Service map
- Agent now can track requests to Restlet framework
- Agent can now track performance of MongoDB queries
- Exceptions handled by Spring framework ExceptionHandler (@ControllerAdvice, @ExceptionHandler) are now captured by the agent. These exceptions can be viewed under Exceptions tab
- Users can now provide name for the methods custom instrumented using agent annotation API. Method parameters can also be used for naming the methods
Issue Fixes
- HTTP Parameters in Jersey framework were inaccessible by the application, when capture request parameters was enabled. The issue has been addressed and fixed.
Version 3.3.1
04-08-2017
New Feature
- Users can now customize agent polling interval (minimum interval is one minute)
- Metric thresholds have been modified to be uniform across all APM Insight agents
Issue Fixes
- HttpClient used by the agent printing logs in user application logs have been fixed
- Incorrect SQL query parsing regex blocked metric processing has been fixed
Version 3.3
16-05-2017
NEW Feature
- Support for Java 1.5 has been deprecated. Agent will now work on Java 6 & above
- Thread profiling (Scheduled & On-demand)
- Agent auto-instruments slow performing methods identified by thread profiling
- Agent now filters application packages from native & thrid party packages, which helps in identifying application specific methods for tracking performance.
Enhancements
- Data collection will not be disabled when Smart sampler reaches its maximum threshold level
Version 3.1
30-03-2017
New Feature
- Users can now exclude transactions from monitoring using regex
- Transaction merge patterns can now also applied to background transactions
- Agent now can track memory pools of IBM Java in JVM monitoring
- Native and application server packages are removed from stacktrace to provide clear view of the code flow
- No agent/server restart is required for any changes made in agent configuration files
Version 3.0
11-01-2017
New Feature
- Smart Sampling - In(De)crease sampling factor based on CPU & memory usage of JVM
- Agent/server restart is not required for changes in custom_instrumentation.conf file to take effect
Enhancements
- Agent now tracks SQL calls made via MSSQL sqljdbc.jar
Issue Fixes
- Additional checks are introduced to avoid instrumenting abstract methods
- Fixed NullPointerException while extracting host address for calls made via Apache HttpClient
Version 2.9.1
04-11-2016
New Feature
- External HTTP calls when treated as Background transaction, will use URL for naming the transaction
- Agent can identify applications hosted in cloud environment
- Agent can now track calls made via Apache HttpClient 4.x
- Option to provide license key via environment variable(S247_LICENSE_KEY)
Issue Fixes
- Some external HTTP calls were missing their hostname. It has been addressed
Version 2.9
28-09-2016
Enhancements
- In case of agent communication failure, agent tries to reconnect at specific intervals
Issue Fixes
- Few EJB3 calls, which were not captured has now been addressed - agent can track all kind of EJB3 calls
Version 2.8
18-08-2016
New Feature
- Users can now make agent configuration changes from Site24x7 web client
- Improved agent response time overhead
Issue Fixes
- Stack trace for failed DB queries were not shown previously - This has been fixed and user can see stack trace for the same in the web client
Version 2.7.1
05-08-2016
New Feature:
- Agent can track EJB3 calls made in the application
Issue Fixes
- Fixed bad requests(HTTP code 400) send by agent to our servers
Version 2.7
22-07-2016
New Feature
- Java agent auto-installation and basic troubleshooting options are provided
- Agent now tracks transactions in Play 2.5 framework
- Agent can monitor applications running on JAVA 8
Issue Fixes
- Avoid starting agent services, if duplicate javaagent arguments present
Version 2.6
28-03-2016
New Feature
- Agent tracks HTTP response code for all web transactions
- Agent can track Cassandra queries made using Datastax client
- Traces are now captured based on various paramteres like Response time, external calls, CPU time.
- In traces, total method call count is shown in client.
- Agent now shows all external calls in Traces
- In traces, users can view Success and failed count of external components
- Stacktrace are captured and shown for exceptions in trace
Issue Fixes
- JVM metrics were collected when monitor is in Suspended state - This has been fixed
Version 2.5
6 -01-2016
New Feature
- Agent start-up time has been reduced.
- Change log level at runtime without agent/server restart
- Agent version can be identified by executing the agent jar (java -jar apminsight-javaagent.jar)
- Log location can be identified in System.out along with agent hookup message
Issue Fixes
- CPU time calculation for individual transactions has been enhanced
- Bundled Log4j trying to initialise user's appenders during auto-initialisation
- Throughput per transaction for external components are calculated with precision
- Duplicate traces not captured though the option is enabled
Version 2.4
5-11-2015
New Feature
- CPU time per transaction is tracked and shown
- Agent can now capture traces on violating external component throughput, CPU threshold, pointcut exception
- No restart required for changes in background_transactions.conf file
- Retransform classes that have loaded before agent initialization
Version 2.3.1
1-10- 2015
New Feature
- Agent now tracks AWS calls made from the application using Amazon SDK
Version 2.3
2 -09-2015
New Feature
- Exception count and error message are now tracked by the agent
- Agent can now track HTTP calls made via java.net package
Version 2.2.1
24 -08- 2015
New Feature
- Users can now define and monitor custom components via custom instrumentation
- Agent now communicates using TSLv1 protocol
- Version 2.2
6 - 08 - 2015
New Feature
- Users can now custom instrumen specific methods using agent annotations
- Agent is now loaded in bootstrap classloader
- Agent can now monitor calls made to Memcached, Redis, Apache HttpClient, and Informix
Issue Fixes
- HttpPointcutPropertiesPool removed
- Remove threadlocal on dropping RootTracker
- Disable JVM collection in Unmanaged state
- Stacktrace depth limited to 7
Version 2.1
9 - 06- 2015
Issue Fixes
- Issue in duplication of SQL call count due to overloaded methods is now addressed
- If agent is used by multiple JVM's , agent logs can be identified using PID's
Version 2.0
05-05-2015
New Feature
- Support for Play 2.0 framework
- Users can now provide application name in JVM arguements
- In virtual host environment, users can view the complete URL of every transaction
Version 1.9
26-12- 2014
New Feature
- Agent can upgrade automatically whenever a new agent version is available
- Agent can now track transactions from Spring Framework
- IBM DB2 SQL calls made via jt400.jar are now monitored
- Agent now supports monitoring in Java 7
Issue Fixes
- NullPointerException in logger initialization is handled - If log level is undefined, logger will initialize with default values
Version 1.8
15-10- 2014
New Feature
- JVM metrics are monitored and shown as a separate tab
Version 1.7
23-05 -2014
New Feature
- Background transactions are monitored and shown as a separate tab. Tracking enabled
- Agent can track SQL queries from Sybase jdbc4
Version 1.6
16-04- 2014
Enhancements
- HTTP parameters can be obfuscated
Version 1.5
30-12-2013
Enhancements
- Http request parameters are monitored and can be viewed under traces
- Monitor state is maintained locally by the agent in file apminsight.info
- Component view for transactions were introduced