Java 代理 - 发行说明

版本 5.4.1

06-01-2022

增强功能:

  • log4j 库的易受攻击的类已被删除(代理使用 log4j v1.2.17)。我们将在下一个版本中使用最新版本的 log4j。

版本 5.4.0

05-01-2022

增强功能:

  • 支持播放 2.7 和 2.8 框架。
  • 支持最高 v4.8 的 OkHttp3 客户端。
  • REDIS 组件已得到增强,可以监控 hset、hget 等其他操作。

问题修复:

  • apminsight.info 中的代理关闭时间一直附加到以前的值,现在已解决。现在只保留最新的值。
  • 引入了启用/禁用诊断日志的选项。
  • 已修复由 NaN 异常导致的JMX 指标中的空值问题。
  • HttpUrlConnection 类的超时被单独捕获 - 此问题已得到修复。

5.3 版

03-09-2021

增强功能:

  • 对 Kafka、RabbitMQ 和 ActiveMQ 等消息队列的监控支持
  • 从此代理版本捕获 Web 请求的标头。
  • 支持通过告警跟踪关键事务。
  • 代理可以在运行时安装,无需重新启动

问题修复:

  • 当日志级别设置为关闭时,代理在被禁用之前仍在打印几行。这已得到修复。


版本 5.2

22-06-2021

增强功能:

  • 对 Java 15 的监控支持
  • 独立 HTTP 调用作为后台事务进行跟踪 - 这在代理版本 5.1 中已弃用,现在已恢复。
  • 自动事务分组应用于后台事务

问题修复:

  • 使用 MySQL 客户端 v8.x 时未捕获 SQL 查询 - 此问题已得到修复。

 版本 5.1.2

02-06-2021

安全修复:

  • APM 代理配置文件的读/写权限仅为运行应用服务器的当前用户设置。

版本 5.1.1

21-04-2021

问题修复:

  • 代理通信错误 - APM 代理一直在抛出“CertificateChain 错误”和“PKIX 路径构建失败”,这导致向服务器发送请求时出现问题。此问题已通过将 HTTPS 作为默认协议得到解决。

5.1 版

24-03-2021

增强功能:

  1. 校验和验证以验证下载代理的完整性
  2. 支持 OkHttp 客户端
  3. 后台的 Http 调用不再作为单独的后台事务进行跟踪。它将被捕获为执行它的任何其他事务的一部分。

5.0 版

15-12-2020

新功能:

  • 支持 JMX 指标 - JMX 指标被捕获并可在 App 参数下查看。默认情况下,这些指标是为知名应用服务器捕获的。了解更多。 

4.9 版

05-08-2020

增强功能:

  • 用于故障排除的增强代理诊断收集器 - 为诊断任务引入了新的日志文件。
  • Elasticsearch Rest Low Level 客户端的监控支持。
  • App 参数中默认显示阻塞线程数。
  • HTTP 调用的请求方法和状态码现在显示在 Traces 中。 

问题修复:

  • 监控 Oracle DB 查询的问题 - 已解决。
  • 提取 Informix DB 的主机详细信息时出现 Stackoverflow 错误 - 此问题已得到修复。
  • 分布式跟踪中跟踪响应标头的问题 - 已修复。

版本 4.8.1

01-04-2020

增强功能:

  • 对 Nexus 存储库管理器和 SonarQube 的监控支持
  • 对 MySQL 8 的监控支持 
  • 支持在 UnderTow 服务器中跟踪 Http 状态代码

问题修复

  • 在运行时更新 instrumentation.conf 文件时出现拼写错误 - 已修复
  • tomcat 主线程记录器初始化和代理 httpclient 初始化之间的死锁 - 已修复
  • 无法识别 Elasticsearch 传输客户端的索引和类型,已修复
  • 启用 Weblogic jdbc 包装器时,代理无法获取数据库查询,已修复

版本 4.8.0

27-02-2020

增强功能:

  • 可以从服务器端配置自定义检测。 
  • 可以通过创建instrumentation.conf 文件来完成实例级别的自定义检测。(custom_instrumentation.conf 文件已从此版本弃用)

版本 4.7.0

19-12-2019

增强功能:


版本 4.6.0

30-08-2019

增强功能:

  • 对于 docker,将完整的容器 ID 作为主机名,以支持基于主机的许可。
  • 代理现在可以自动识别 AWS ECS 环境。
  • 如果启用,代理日志可以写入 STDOUT 。
  • 应用参数键名也可以包含点 (.)

问题修复:

  • JVM 指标显示为负值 - 此问题已得到修复。

版本 4.5.0

20-06-2018

增强功能:

  • 您现在可以通过 Transport 客户端和 Rest High Level 客户端跟踪对 Elasticsearch 的调用。
  • HTTP 请求参数现在在事务结束时被捕获。
  • 代理现在可以自动识别 GCE 和 AWS Fargate 环境。

问题修复:

  • 处理 Cassandra 和 MongoDB 查询时发生的空指针异常已得到修复。
  • 代理通信中的重试间隔已修复。

版本 4.4.1

05-03-2019

问题修复:

  • 捕获 Postgres SQL 查询时的拼写错误已得到修复。
  • 失败的 Cassandra 查询的主机详细信息现在由代理捕获。
  • 代理现在可以支持 Jedis 最新版本 3.0
  • 处理 SQL 查询时发生的空指针异常已得到修复。

新功能:

31-01-2019

  • 基于上下文的监控:在同一应用服务器上运行的应用程序可以作为单独的上下文进行监控。这将帮助您分别查看每个上下文的指标。

问题修复:

  • 异常计数和 CPU 时间中的数据不匹配已得到修复。
  • 如果后台事务 100% 失败,则无法正确捕获其最小响应时间。这已得到修复。
  • 在捕获记录的异常时,如果错误消息为“null”,则代理正在抛出 NullPointerException - 此问题已得到修复。

4.3 版

31-12-2018

增强功能:

  • 对在 Java 9、10 和 11 中运行的应用程序的监控支持。

问题修复:

  • 查询字符串与 Play 框架中的事务名称一起被捕获 - 此问题已得到修复。 
  • 在 SQL 查询的情况下,如果 SQL 查询包含子查询,则表名不匹配。此问题已得到修复,现在已捕获并显示主要查询的表名和操作。
  • 由代理捕获的未记录异常计入“警告”类别。 

4.2 版

16-10-2018

增强功能:

  • 关于早期 TLS 版本的弃用,要求用户升级他们的应用程序编程环境,以实现不间断的监控。但是使用 Java 代理 4.2 版,用户无需升级他们的编程环境。该代理与 TLS 1.2 版本兼容,并确保不间断的监控服务。

4.1版

08-10-2018

增强功能:

  • 除了默认阈值配置外,现在可以在异常计数高、新异常类型和 SQL 时间长的情况下捕获事务跟踪
  • 在线程分析中,只分析高 CPU 消耗线程而不是转储所有线程。
  • 表名与相应的 SQL 操作一起显示在 Traces 中。
  • 对于后台事务,捕获异常指标。此外,后台事务的实例级指标显示在应用程序依赖关系图中。 

4.0 版

19-09-2018

增强功能:

  •  重新引入了对过滤器框架的监控支持。

3.9 版

01-06-2018

新功能:

增强功能:


3.8 版

04-05-2018

增强功能

  • 代理密码已加密,GDPR 更改已实施
  • 所有内部组件都合并为一个名为“APP CODE”的组件
  • 每个事务的组件指标数量限制为 15 个。

3.7 版

13-03-2018

新功能

  • 即使达到最大跟踪限制,代理也可以跟踪外部呼叫(上限设置为最大限制的两倍)
  • 显示 MongoDB 调用的完整查询
  • 用户现在可以从检测中排除包(使用 apminsight.conf 文件中的键“exclude.packages”,需要重新启动)

增强功能

  • 外部 HTTP 调用 url 长度限制已被移除
  • 在跟踪详细信息中添加到 Memcached 和 Redis 调用的主机详细信息
  • 跟踪现在将方法调用计数拆分显示为第一行

问题修复

  • 当主机详细信息作为空字符串接收时,跟踪构造失败(从 DB 跟踪器中的 JDBC url 提取时可能) - 此问题已得到修复,如果值为空,现在将跳过主机详细信息

3.6 版

12-02-2018

新功能

  • 用户现在可以使用我们的 API 来监控其应用程序中的代码块
  • 如果需要,用户可以在事务名称前添加 HTTP 方法

增强功能

  • 在跟踪中,添加了额外的行以突出显示检测方法调用之间的未检测代码块,
  • 组件 HTTP CLIENT 和 HTTP CONNECTION 合并为一个名为 HTTP CALL 的组件
  • 在线程分析中,减少了默认分析和采样间隔。现在代理配置文件每隔一小时持续 5 分钟

问题修复

  • 代理未能捕获失败时的 Cassandra 查询 - 问题已得到解决和修复 

版本 3.5.1

2-11-2017

问题修复

  • 为要忽略的异常传递空值,使代理丢弃所有异常。它已被修复。

3.5 版

1-11-2017

新功能

  • 代理可以跟踪来自 JAX-WS 框架的事务
  • 用户现在可以从跟踪中排除异常
  • 代理现在可以跟踪通过 Log4j2 记录的异常 
  • 用户现在可以使用我们的 API 来跟踪他们应用程序中的异常

增强功能  

  • 数据库指标的错误计数
  • Cassandra 查询的主机详细信息被捕获并显示在跟踪和服务地图中
  • 用户可以在数据库选项卡中查看 Cassandra 查询的性能数据
  • Agent 现在支持跟踪通过 MySQL Client 5.x 进行的 SQL 调用
  • 优化事务过滤机制
  • 代理可以检测代理是否在Docker环境中运行 
  • 代理捕获的每个异常都将关联到一个事务
  • 获取异常的空堆栈跟踪的问题已得到修复
  • 仅在已知环境(应用服务器/框架)中启用自动检测
  • 如果启用,HTTP 参数将在所有框架和已知服务器中捕获
  • 如果许可过期或超过,代理将重试通信 15 天,然后自行关闭

3.4 版

18-08-2017 

新功能

  • 为每个事务捕获失败组件的计数,可以在服务地图中查看
  • 代理现在可以跟踪对 Restlet 框架的请求
  • 代理现在可以跟踪 MongoDB 查询的性能
  • 由 Spring 框架 ExceptionHandler(@ControllerAdvice、@ExceptionHandler)处理的异常现在由代理捕获。这些异常可以在异常选项卡下查看
  • 用户现在可以为使用代理注释 API 自定义检测的方法提供名称。方法参数也可用于命名方法 

问题修复 

  • 当启用捕获请求参数时,应用程序无法访问 Jersey 框架中的 HTTP 参数。该问题已得到解决和修复。

版本 3.3.1

04-08-2017

新功能

  • 用户现在可以自定义代理轮询间隔(最小间隔为一分钟)
  • 指标阈值已修改为在所有 APM Insight 代理中统一

问题修复

  • 已修复用户应用程序日志中代理打印日志使用的 HttpClient
  • 不正确的 SQL 查询解析正则表达式阻止指标处理已得到修复 

3.3 版

16-05-2017

新功能

  • 已弃用对 Java 1.5 的支持。代理现在可以在 Java 6 和更高版本上工作
  • 线程分析(计划和按需)
  • 代理自动检测由线程分析识别的缓慢执行方法 
  • 代理现在从本地和第三方包中过滤应用程序包,这有助于识别应用程序特定的方法来跟踪性能。

增强功能

  • 智能采样器达到其最大阈值水平时不会禁用数据收集

3.1 版

30-03-2017

新功能

  • 用户现在可以使用正则表达式从监控中排除事务 
  • 事务合并模式现在也可以应用于后台事务
  • 代理现在可以在 JVM 监控中跟踪 IBM Java 的内存池
  • 从堆栈跟踪中删除本机和应用程序服务器包,以提供代码流的清晰视图
  • 代理配置文件中的任何更改都不需要代理/服务器重新启动 

3.0 版

11-01-2017

新功能

  • 智能采样 - 根据 JVM 的 CPU 和内存使用情况增加(减少)采样因子
  • 无需重新启动代理/服务器即可使 custom_instrumentation.conf 文件中的更改生效

增强功能

  • 代理现在跟踪通过 MSSQL sqljdbc.jar 进行的 SQL 调用

问题修复

  • 引入了额外的检查以避免检测抽象方法
  • 在提取通过 Apache HttpClient 进行的调用的主机地址时修复 NullPointerException

版本 2.9.1

04-11-2016

新功能

  • 外部 HTTP 调用当被视为后台事务时,将使用 URL 来命名事务
  • 代理可以识别托管在云环境中的应用程序 
  • 代理现在可以跟踪通过 Apache HttpClient 4.x 进行的调用
  • 通过环境变量提供许可密钥的选项(S247_LICENSE_KEY)

问题修复

  • 一些外部 HTTP 调用缺少它们的主机名。已解决 

2.9 版

28-09-2016

增强功能

  • 如果代理通信失败,代理会尝试在特定时间间隔重新连接 

问题修复

  • 很少有未捕获的 EJB3 调用现已得到解决 - 代理可以跟踪所有类型的 EJB3 调用

2.8 版

18-08-2016

新功能

  • 用户现在可以从 Site24x7 Web 客户端更改代理配置
  • 改进的代理响应时间开销 

问题修复

  • 先前未显示失败数据库查询的堆栈跟踪 - 这已得到修复,用户可以在 Web 客户端中查看相同的堆栈跟踪   

版本 2.7.1

05-08-2016

新功能:

  • 代理可以跟踪在应用程序中进行的 EJB3 调用

问题修复

  • 修复了代理向我们服务器发送的错误请求(HTTP 代码 400)

2.7 版

22-07-2016

新功能

  • 提供 Java 代理自动安装和基本故障排除选项
  • 代理现在在 Play 2.5 框架中跟踪事务
  • 代理可以监控在 JAVA 8 上运行的应用程序

问题修复

  • 如果存在重复的 javaagent 参数,请避免启动代理服务

2.6 版

28-03-2016

新功能

  • 代理跟踪所有 Web 事务的 HTTP 响应代码 
  • 代理可以跟踪使用 Datastax 客户端进行的 Cassandra 查询
  • 现在可以根据响应时间、外部调用、CPU 时间等各种参数捕获跟踪。 
  • 在跟踪中,总方法调用计数显示在客户端中。 
  • 代理现在在 Traces 中显示所有外部调用 
  • 在跟踪中,用户可以查看外部组件的成功和失败计数 
  • 捕获堆栈跟踪并显示跟踪中的异常

问题修复

  • 当监视器处于暂停状态时收集 JVM 指标 - 已修复

2.5 版

6 -01-2016

新功能

  • 代理启动时间已减少。
  • 在运行时更改日志级别,无需重新启动代理/服务器
  • 代理版本可以通过执行代理jar来识别(java -jar apminsight-javaagent.jar)
  • 可以在 System.out 中识别日志位置以及代理连接消息

问题修复

  • 单个事务的 CPU 时间计算已得到增强
  • 绑定的 Log4j 在自动初始化期间尝试初始化用户的附加程序
  • 精确计算外部组件的每笔事务吞吐量
  • 尽管启用了该选项,但未捕获重复的跟踪

2.4 版

5-11-2015

新功能

  • 跟踪并显示每个事务的 CPU 时间 
  • 代理现在可以捕获违反外部组件吞吐量、CPU 阈值、切入点异常的跟踪
  • 更改 background_transactions.conf 文件无需重新启动
  • 重新转换在代理初始化之前加载的类

版本 2.3.1

1-10- 2015

新功能

  • 代理现在使用 Amazon SDK 跟踪从应用程序发出的 AWS 调用

2.3 版

2 -09-2015

新功能

  • 异常计数和错误消息现在由代理跟踪
  • 代理现在可以跟踪通过 java.net 包进行的 HTTP 调用 

版本 2.2.1

24 -08- 2015

新功能

  • 用户现在可以通过自定义工具定义和监控自定义组件 
  • 代理现在使用 TSLv1 协议进行通信

  • 2.2 版

6 - 08 - 2015

新功能

  • 用户现在可以使用代理注释自定义检测特定方法
  • 代理现在加载到引导类加载器中
  • Agent 现在可以监控对 Memcached、Redis、Apache HttpClient 和 Informix 的调用

问题修复

  • 已删除 HttpPointcutPropertiesPool
  • 在删除 RootTracker 时删除 threadlocal
  • 在非托管状态下禁用 JVM 收集
  • Stacktrace 深度限制为 7

2.1 版

9 - 06- 2015

问题修复

  • 由于重载方法导致 SQL 调用计数重复的问题现已得到解决 
  • 如果代理被多个 JVM 使用,代理日志可以使用 PID 来识别 

2.0 版

05-05-2015

新功能

  • 支持 Play 2.0 框架
  • 用户现在可以在 JVM 争论中提供应用程序名称
  • 在虚拟主机环境中,用户可以查看每笔事务的完整 URL

1.9 版

26-12- 2014

新功能 

  • 只要有新的代理版本可用,代理就可以自动升级
  • 代理现在可以跟踪来自 Spring Framework 的事务 
  • 现在监视通过 jt400.jar 进行的 IBM DB2 SQL 调用
  • 代理现在支持 Java 7 中的监控

问题修复

  • 处理记录器初始化中的 NullPointerException - 如果未定义日志级别,记录器将使用默认值进行初始化

1.8 版

2014 年 15 月 10 日

新功能

  • JVM 指标受到监控并显示为单独的选项卡

1.7 版

23-05 -2014

新功能

  • 后台事务受到监控并显示为单独的选项卡。启用跟踪
  • 代理可以跟踪来自 Sybase jdbc4 的 SQL 查询 

1.6版

16-04- 2014

增强功能

  • HTTP 参数可以被混淆 

1.5 版

30-12-2013 

增强功能

  • Http请求参数被监控,可以在trace下查看
  • 监视器状态由文件 apminsight.info 中的代理在本地维护 
  • 引入了事务的组件视图