Skip to content

Commit

Permalink
[#12081] Remove commons-buffer from Agent module
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Feb 21, 2025
1 parent df7bcbc commit 05038d9
Show file tree
Hide file tree
Showing 12 changed files with 132 additions and 174 deletions.
10 changes: 0 additions & 10 deletions agent-module/agent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,6 @@
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-buffer</artifactId>
<exclusions>
<exclusion>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-profiler</artifactId>
Expand Down
1 change: 0 additions & 1 deletion agent-module/agent/src/assembly/component/core.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@
</dependencySet>
<dependencySet>
<includes>
<include>com.navercorp.pinpoint:pinpoint-commons-buffer</include>
<include>com.navercorp.pinpoint:pinpoint-commons-profiler</include>
</includes>
<outputDirectory>lib</outputDirectory>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public class ProfilerLibs {

static {
String[] lib = new String[]{
"com.navercorp.pinpoint.common.buffer",
"com.navercorp.pinpoint.common.profiler",
"com.navercorp.pinpoint.profiler",
"com.navercorp.pinpoint.thrift",
Expand Down
4 changes: 0 additions & 4 deletions agent-module/profiler/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons</artifactId>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-buffer</artifactId>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-profiler</artifactId>
Expand Down

This file was deleted.

7 changes: 7 additions & 0 deletions commons-buffer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@
<artifactId>pinpoint-commons-buffer</artifactId>
<packaging>jar</packaging>

<properties>
<jdk.version>17</jdk.version>
<jdk.home>${env.JAVA_17_HOME}</jdk.home>
<test.jdk.home>${jdk.home}</test.jdk.home>
</properties>


<dependencies>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
Expand Down
5 changes: 0 additions & 5 deletions commons-profiler/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,6 @@
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons</artifactId>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-buffer</artifactId>
</dependency>

<!-- Logging dependencies -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,10 @@
package com.navercorp.pinpoint.common.profiler.util;

import com.navercorp.pinpoint.common.PinpointConstants;
import com.navercorp.pinpoint.common.buffer.Buffer;
import com.navercorp.pinpoint.common.buffer.FixedBuffer;
import com.navercorp.pinpoint.common.util.ArrayUtils;
import com.navercorp.pinpoint.common.util.BytesUtils;
import com.navercorp.pinpoint.common.util.IdValidateUtils;
import com.navercorp.pinpoint.common.util.StringUtils;

import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Objects;

/**
Expand All @@ -34,6 +29,8 @@
public final class TransactionIdUtils {
// value is displayed as html - should not use html syntax
public static final String TRANSACTION_ID_DELIMITER = "^";
public static final int NULL = -1;

public static final byte VERSION = 0;
private static final byte VERSION_SIZE = 1;

Expand All @@ -58,16 +55,12 @@ public static byte[] formatBytes(String agentId, long agentStartTime, long trans
return writeTransactionId(agentId, agentStartTime, transactionSequence);
}

public static ByteBuffer formatByteBuffer(String agentId, long agentStartTime, long transactionSequence) {
final byte[] buffer = writeTransactionId(agentId, agentStartTime, transactionSequence);
return ByteBuffer.wrap(buffer);
}

private static byte[] writeTransactionId(String agentId, long agentStartTime, long transactionSequence) {
// agentId may be null
// version + prefixed size + string + long + long
final byte[] agentIdBytes = BytesUtils.toBytes(agentId);
final int agentIdLength = ArrayUtils.getLength(agentIdBytes, Buffer.NULL);
final int agentIdLength = ArrayUtils.getLength(agentIdBytes, NULL);
final int zigZagAgentIdLength = BytesUtils.intToZigZag(agentIdLength);
final int agentIdPrefixSize = BytesUtils.computeVar32Size(zigZagAgentIdLength);
final int agentStartTimeSize = BytesUtils.computeVar64Size(agentStartTime);
Expand All @@ -88,27 +81,6 @@ private static byte[] writeTransactionId(String agentId, long agentStartTime, lo
return buffer;
}

public static TransactionId parseTransactionId(final byte[] transactionId, String defaultAgentId) {
Objects.requireNonNull(transactionId, "transactionId");

final Buffer buffer = new FixedBuffer(transactionId);
final byte version = buffer.readByte();
if (version != VERSION) {
throw new IllegalArgumentException("invalid Version");
}

String agentId = buffer.readPrefixedString();
agentId = StringUtils.defaultString(agentId, defaultAgentId);
if (!IdValidateUtils.validateId(agentId)) {
throw new IllegalArgumentException("invalid transactionId:" + Arrays.toString(transactionId));
}

final long agentStartTime = buffer.readVLong();
final long transactionSequence = buffer.readVLong();

return TransactionId.of(agentId, agentStartTime,transactionSequence);
}

public static TransactionId parseTransactionId(final String transactionId) {
Objects.requireNonNull(transactionId, "transactionId");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,10 @@
package com.navercorp.pinpoint.common.profiler.util;

import com.navercorp.pinpoint.common.PinpointConstants;
import com.navercorp.pinpoint.common.buffer.AutomaticBuffer;
import com.navercorp.pinpoint.common.buffer.Buffer;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.nio.ByteBuffer;

/**
* @author emeroad
*/
Expand Down Expand Up @@ -62,73 +58,6 @@ public void testParseTransactionId_RpcHeaderDuplicateAdd_BugReproduce() {
});
}


@Test
public void testParseTransactionIdByte1() {
long time = System.currentTimeMillis();
byte[] bytes = TransactionIdUtils.formatBytes(AGENT_ID, time, 2);
TransactionId transactionId = TransactionIdUtils.parseTransactionId(bytes, AGENT_ID);
Assertions.assertEquals(AGENT_ID, transactionId.getAgentId());
Assertions.assertEquals(time, transactionId.getAgentStartTime());
Assertions.assertEquals(2L, transactionId.getTransactionSequence());
}

@Test
public void testParseTransactionIdByte2() {
long time = Long.MAX_VALUE;
byte[] bytes = TransactionIdUtils.formatBytes(AGENT_ID, time, Long.MAX_VALUE);
TransactionId transactionId = TransactionIdUtils.parseTransactionId(bytes, AGENT_ID);
Assertions.assertEquals(AGENT_ID, transactionId.getAgentId());
Assertions.assertEquals(Long.MAX_VALUE, transactionId.getAgentStartTime());
Assertions.assertEquals(Long.MAX_VALUE, transactionId.getTransactionSequence());
}

@Test
public void testParseTransactionIdByte3() {
long time = Long.MIN_VALUE;
byte[] bytes = TransactionIdUtils.formatBytes(AGENT_ID, time, Long.MIN_VALUE);
TransactionId transactionId = TransactionIdUtils.parseTransactionId(bytes, AGENT_ID);
Assertions.assertEquals(AGENT_ID, transactionId.getAgentId());
Assertions.assertEquals(Long.MIN_VALUE, transactionId.getAgentStartTime());
Assertions.assertEquals(Long.MIN_VALUE, transactionId.getTransactionSequence());
}


@Test
public void testParseTransactionIdByte_AgentIdisNull() {
Assertions.assertThrows(NullPointerException.class, () -> {
long time = System.currentTimeMillis();
byte[] bytes = TransactionIdUtils.formatBytes(null, time, 1);
TransactionIdUtils.parseTransactionId(bytes, null);
});
}

@Test
public void testParseTransactionIdByte_compatibility1() {
long time = System.currentTimeMillis();
ByteBuffer byteBuffer1 = ByteBuffer.wrap(TransactionIdUtils.formatBytes(AGENT_ID, time, 2));
ByteBuffer byteBuffer2 = writeTransactionId_for_compatibility(AGENT_ID, time, 2);
Assertions.assertEquals(byteBuffer1, byteBuffer2);
}

@Test
public void testParseTransactionIdByte_compatibility2() {
long time = System.currentTimeMillis();
ByteBuffer byteBuffer1 = ByteBuffer.wrap(TransactionIdUtils.formatBytes(null, time, 2));
ByteBuffer byteBuffer2 = writeTransactionId_for_compatibility(null, time, 2);
Assertions.assertEquals(byteBuffer1, byteBuffer2);
}


private static ByteBuffer writeTransactionId_for_compatibility(String agentId, long agentStartTime, long transactionSequence) {
final Buffer buffer = new AutomaticBuffer(1 + 5 + 24 + 10 + 10);
buffer.putByte(TransactionIdUtils.VERSION);
buffer.putPrefixedString(agentId);
buffer.putVLong(agentStartTime);
buffer.putVLong(transactionSequence);
return buffer.wrapByteBuffer();
}

@Test
public void validateAgentId() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
Expand Down
6 changes: 4 additions & 2 deletions commons-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
<jdk.version>17</jdk.version>
<jdk.home>${env.JAVA_17_HOME}</jdk.home>
<test.jdk.home>${jdk.home}</test.jdk.home>

</properties>

<dependencies>
Expand All @@ -44,7 +43,10 @@
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-commons-buffer</artifactId>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.navercorp.pinpoint.common.server.util;

import com.navercorp.pinpoint.common.buffer.Buffer;
import com.navercorp.pinpoint.common.buffer.FixedBuffer;
import com.navercorp.pinpoint.common.profiler.util.TransactionId;
import com.navercorp.pinpoint.common.profiler.util.TransactionIdUtils;
import com.navercorp.pinpoint.common.util.IdValidateUtils;
import com.navercorp.pinpoint.common.util.StringUtils;

import java.util.Arrays;
import java.util.Objects;

public class TransactionIdParser {

public static TransactionId parse(final byte[] transactionId, String defaultAgentId) {
Objects.requireNonNull(transactionId, "transactionId");

final Buffer buffer = new FixedBuffer(transactionId);
final byte version = buffer.readByte();
if (version != TransactionIdUtils.VERSION) {
throw new IllegalArgumentException("invalid Version");
}

String agentId = buffer.readPrefixedString();
agentId = StringUtils.defaultString(agentId, defaultAgentId);
if (!IdValidateUtils.validateId(agentId)) {
throw new IllegalArgumentException("invalid transactionId:" + Arrays.toString(transactionId));
}

final long agentStartTime = buffer.readVLong();
final long transactionSequence = buffer.readVLong();

return TransactionId.of(agentId, agentStartTime,transactionSequence);
}

}
Loading

0 comments on commit 05038d9

Please sign in to comment.