Pinpoint 更改agentid 和 agent name 长度限制(Pinpoint系列二)
本文基于 Pinpoint 2.1.0 版本
本文的内容为了更改 ID 和 Name 长度限制,因为有使用容器或者是服务名称确实比较长,所以根据业务场景,我们需要更改源码来实现这个。
具体更改,参考 https://github.com/pinpoint-apm/pinpoint/pull/6015/commits/29ab391de758336900256ef0ce24d806e3a1eab5。
更改的位置
bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/IdValidator.java
private final BootLogger logger = BootLogger.getLogger(IdValidator.class.getName());
private final Properties property;
# private static final int MAX_ID_LENGTH = 24;
private static final int MAX_ID_LENGTH = 48;
public IdValidator() {
this(System.getProperties());
commons-server/src/main/java/com/navercorp/pinpoint/common/server/util/RowKeyUtils.java
if (fixedBytes == null) {
throw new NullPointerException("fixedBytes must not null");
}
# if (fixedBytes.length > maxFixedLength) {
if (fixedBytes.length > 48) {
throw new IndexOutOfBoundsException("fixedBytes.length too big. length:" + fixedBytes.length);
}
byte[] rowKey = new byte[maxFixedLength + LONG_BYTE_LENGTH];
commons/src/main/java/com/navercorp/pinpoint/common/PinpointConstants.java
public final class PinpointConstants {
# public static final int APPLICATION_NAME_MAX_LEN = 24;
public static final int APPLICATION_NAME_MAX_LEN = 48;
# public static final int AGENT_NAME_MAX_LEN = 24;
public static final int AGENT_NAME_MAX_LEN = 48;
}
上面所有注释的位置,都是源代码,下面的是我更改后的。我这边更改过后的长度为 48。更改完之后,我们重新编译打包即可。
注意
agent
和 collector
和 web
都要使用编译后的包。 具体编译操作见我们的 编译环境搭建。
作者:理想三旬
本人承接各种项目维护和python项目开发, 如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。