Skip to content

Commit 267a81e

Browse files
committed
[#noissue] Cleanup GrpcSqlMetaDataHandler
1 parent c43f848 commit 267a81e

File tree

2 files changed

+79
-50
lines changed

2 files changed

+79
-50
lines changed

‎collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcSqlMetaDataHandler.java‎

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,12 @@
1919
import com.google.protobuf.GeneratedMessageV3;
2020
import com.navercorp.pinpoint.collector.handler.RequestResponseHandler;
2121
import com.navercorp.pinpoint.collector.service.SqlMetaDataService;
22-
import com.navercorp.pinpoint.collector.service.SqlUidMetaDataService;
2322
import com.navercorp.pinpoint.common.server.bo.SqlMetaDataBo;
24-
import com.navercorp.pinpoint.common.server.bo.SqlUidMetaDataBo;
2523
import com.navercorp.pinpoint.grpc.Header;
2624
import com.navercorp.pinpoint.grpc.MessageFormatUtils;
2725
import com.navercorp.pinpoint.grpc.server.ServerContext;
2826
import com.navercorp.pinpoint.grpc.trace.PResult;
2927
import com.navercorp.pinpoint.grpc.trace.PSqlMetaData;
30-
import com.navercorp.pinpoint.grpc.trace.PSqlUidMetaData;
3128
import com.navercorp.pinpoint.io.request.ServerRequest;
3229
import com.navercorp.pinpoint.io.request.ServerResponse;
3330
import com.navercorp.pinpoint.thrift.io.DefaultTBaseLocator;
@@ -48,16 +45,12 @@ public class GrpcSqlMetaDataHandler implements RequestResponseHandler<GeneratedM
4845
private final boolean isDebug = logger.isDebugEnabled();
4946

5047
private final SqlMetaDataService[] sqlMetaDataServices;
51-
private final SqlUidMetaDataService[] sqlUidMetaDataServices;
5248

53-
public GrpcSqlMetaDataHandler(SqlMetaDataService[] sqlMetaDataServices, SqlUidMetaDataService[] sqlUidMetaDataServices) {
49+
public GrpcSqlMetaDataHandler(SqlMetaDataService[] sqlMetaDataServices) {
5450
this.sqlMetaDataServices = Objects.requireNonNull(sqlMetaDataServices, "sqlMetaDataServices");
55-
this.sqlUidMetaDataServices = Objects.requireNonNull(sqlUidMetaDataServices, "sqlUidMetaDataServices");
5651
logger.info("SqlMetaDataServices {}", Arrays.toString(sqlMetaDataServices));
57-
logger.info("SqlUidMetaDataServices {}", Arrays.toString(sqlUidMetaDataServices));
5852
}
5953

60-
6154
@Override
6255
public int type() {
6356
return DefaultTBaseLocator.SQLMETADATA;
@@ -69,9 +62,6 @@ public void handleRequest(ServerRequest<GeneratedMessageV3> serverRequest, Serve
6962
if (data instanceof PSqlMetaData sqlMetaData) {
7063
PResult result = handleSqlMetaData(sqlMetaData);
7164
serverResponse.write(result);
72-
} else if (data instanceof PSqlUidMetaData sqlUidMetaData) {
73-
PResult result = handleSqlUidMetaData(sqlUidMetaData);
74-
serverResponse.write(result);
7565
} else {
7666
logger.warn("Invalid request type. serverRequest={}", serverRequest);
7767
throw Status.INTERNAL.withDescription("Bad Request(invalid request type)").asRuntimeException();
@@ -100,28 +90,6 @@ private PResult handleSqlMetaData(PSqlMetaData sqlMetaData) {
10090
return newResult(result);
10191
}
10292

103-
private PResult handleSqlUidMetaData(PSqlUidMetaData sqlUidMetaData) {
104-
if (isDebug) {
105-
logger.debug("Handle PSqlUidMetaData={}", MessageFormatUtils.debugLog(sqlUidMetaData));
106-
}
107-
108-
final Header agentInfo = ServerContext.getAgentInfo();
109-
SqlUidMetaDataBo sqlUidMetaDataBo = mapSqlUidMetaDataBo(agentInfo, sqlUidMetaData);
110-
111-
boolean result = true;
112-
for (SqlUidMetaDataService sqlUidMetaDataService : sqlUidMetaDataServices) {
113-
try {
114-
sqlUidMetaDataService.insert(sqlUidMetaDataBo);
115-
} catch (Throwable e) {
116-
// Avoid detailed error messages.
117-
logger.warn("Failed to handle sqlUidMetaData={}", MessageFormatUtils.debugLog(sqlUidMetaData), e);
118-
result = false;
119-
}
120-
}
121-
122-
return newResult(result);
123-
}
124-
12593
private static SqlMetaDataBo mapSqlMetaDataBo(Header agentInfo, PSqlMetaData sqlMetaData) {
12694
final String agentId = agentInfo.getAgentId();
12795
final long agentStartTime = agentInfo.getAgentStartTime();
@@ -131,16 +99,6 @@ private static SqlMetaDataBo mapSqlMetaDataBo(Header agentInfo, PSqlMetaData sql
13199
return new SqlMetaDataBo(agentId, agentStartTime, sqlId, sql);
132100
}
133101

134-
private static SqlUidMetaDataBo mapSqlUidMetaDataBo(Header agentInfo, PSqlUidMetaData sqlUidMetaData) {
135-
final String agentId = agentInfo.getAgentId();
136-
final long agentStartTime = agentInfo.getAgentStartTime();
137-
final String applicationName = agentInfo.getApplicationName();
138-
final byte[] sqlUid = sqlUidMetaData.getSqlUid().toByteArray();
139-
final String sql = sqlUidMetaData.getSql();
140-
141-
return new SqlUidMetaDataBo(agentId, agentStartTime, applicationName, sqlUid, sql);
142-
}
143-
144102
private static PResult newResult(boolean success) {
145103
final PResult.Builder builder = PResult.newBuilder();
146104
if (success) {

‎collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcSqlUidMetaDataHandler.java‎

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,94 @@
1616

1717
package com.navercorp.pinpoint.collector.handler.grpc;
1818

19-
import com.navercorp.pinpoint.collector.service.SqlMetaDataService;
19+
import com.google.protobuf.GeneratedMessageV3;
20+
import com.navercorp.pinpoint.collector.handler.RequestResponseHandler;
2021
import com.navercorp.pinpoint.collector.service.SqlUidMetaDataService;
22+
import com.navercorp.pinpoint.common.server.bo.SqlUidMetaDataBo;
23+
import com.navercorp.pinpoint.grpc.Header;
24+
import com.navercorp.pinpoint.grpc.MessageFormatUtils;
25+
import com.navercorp.pinpoint.grpc.server.ServerContext;
26+
import com.navercorp.pinpoint.grpc.trace.PResult;
27+
import com.navercorp.pinpoint.grpc.trace.PSqlUidMetaData;
28+
import com.navercorp.pinpoint.io.request.ServerRequest;
29+
import com.navercorp.pinpoint.io.request.ServerResponse;
2130
import com.navercorp.pinpoint.thrift.io.DefaultTBaseLocator;
31+
import io.grpc.Status;
32+
import org.apache.logging.log4j.LogManager;
33+
import org.apache.logging.log4j.Logger;
2234
import org.springframework.stereotype.Service;
2335

24-
/**
25-
* @author emeroad
26-
*/
36+
import java.util.Arrays;
37+
import java.util.Objects;
38+
2739
@Service
28-
public class GrpcSqlUidMetaDataHandler extends GrpcSqlMetaDataHandler {
40+
public class GrpcSqlUidMetaDataHandler implements RequestResponseHandler<GeneratedMessageV3, GeneratedMessageV3> {
41+
private final Logger logger = LogManager.getLogger(getClass());
42+
private final boolean isDebug = logger.isDebugEnabled();
2943

30-
public GrpcSqlUidMetaDataHandler(SqlMetaDataService[] sqlMetaDataServices, SqlUidMetaDataService[] sqlUidMetaDataServices) {
31-
super(sqlMetaDataServices, sqlUidMetaDataServices);
44+
private final SqlUidMetaDataService[] sqlUidMetaDataServices;
45+
46+
public GrpcSqlUidMetaDataHandler(SqlUidMetaDataService[] sqlUidMetaDataServices) {
47+
this.sqlUidMetaDataServices = Objects.requireNonNull(sqlUidMetaDataServices, "sqlUidMetaDataServices");
48+
logger.info("SqlUidMetaDataServices {}", Arrays.toString(sqlUidMetaDataServices));
3249
}
3350

3451
@Override
3552
public int type() {
3653
return DefaultTBaseLocator.SQLUIDMETADATA;
3754
}
55+
56+
@Override
57+
public void handleRequest(ServerRequest<GeneratedMessageV3> serverRequest, ServerResponse<GeneratedMessageV3> serverResponse) {
58+
final GeneratedMessageV3 data = serverRequest.getData();
59+
if (data instanceof PSqlUidMetaData sqlUidMetaData) {
60+
PResult result = handleSqlUidMetaData(sqlUidMetaData);
61+
serverResponse.write(result);
62+
} else {
63+
logger.warn("Invalid request type. serverRequest={}", serverRequest);
64+
throw Status.INTERNAL.withDescription("Bad Request(invalid request type)").asRuntimeException();
65+
}
66+
}
67+
68+
private PResult handleSqlUidMetaData(PSqlUidMetaData sqlUidMetaData) {
69+
if (isDebug) {
70+
logger.debug("Handle PSqlUidMetaData={}", MessageFormatUtils.debugLog(sqlUidMetaData));
71+
}
72+
73+
final Header agentInfo = ServerContext.getAgentInfo();
74+
SqlUidMetaDataBo sqlUidMetaDataBo = mapSqlUidMetaDataBo(agentInfo, sqlUidMetaData);
75+
76+
boolean result = true;
77+
for (SqlUidMetaDataService sqlUidMetaDataService : sqlUidMetaDataServices) {
78+
try {
79+
sqlUidMetaDataService.insert(sqlUidMetaDataBo);
80+
} catch (Throwable e) {
81+
// Avoid detailed error messages.
82+
logger.warn("Failed to handle sqlUidMetaData={}", MessageFormatUtils.debugLog(sqlUidMetaData), e);
83+
result = false;
84+
}
85+
}
86+
87+
return newResult(result);
88+
}
89+
90+
private static SqlUidMetaDataBo mapSqlUidMetaDataBo(Header agentInfo, PSqlUidMetaData sqlUidMetaData) {
91+
final String agentId = agentInfo.getAgentId();
92+
final long agentStartTime = agentInfo.getAgentStartTime();
93+
final String applicationName = agentInfo.getApplicationName();
94+
final byte[] sqlUid = sqlUidMetaData.getSqlUid().toByteArray();
95+
final String sql = sqlUidMetaData.getSql();
96+
97+
return new SqlUidMetaDataBo(agentId, agentStartTime, applicationName, sqlUid, sql);
98+
}
99+
100+
private static PResult newResult(boolean success) {
101+
final PResult.Builder builder = PResult.newBuilder();
102+
if (success) {
103+
builder.setSuccess(true);
104+
} else {
105+
builder.setSuccess(false).setMessage("Internal Server Error");
106+
}
107+
return builder.build();
108+
}
38109
}

0 commit comments

Comments
 (0)