Skip to content

Commit db3f606

Browse files
authored
Include information on whether a query is using SSQE or MSQE in QueryLogger (apache#14938)
1 parent e9ee474 commit db3f606

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

pinot-broker/src/main/java/org/apache/pinot/broker/querylog/QueryLogger.java

+24-1
Original file line numberDiff line numberDiff line change
@@ -120,20 +120,37 @@ public static class QueryLogParams {
120120
private final RequestContext _requestContext;
121121
private final String _table;
122122
private final BrokerResponse _response;
123+
private final QueryEngine _queryEngine;
123124
@Nullable
124125
private final RequesterIdentity _identity;
125126
@Nullable
126127
private final ServerStats _serverStats;
127128

128129
public QueryLogParams(RequestContext requestContext, String table, BrokerResponse response,
129-
@Nullable RequesterIdentity identity, @Nullable ServerStats serverStats) {
130+
QueryEngine queryEngine, @Nullable RequesterIdentity identity, @Nullable ServerStats serverStats) {
130131
_requestContext = requestContext;
131132
// NOTE: Passing table name separately because table name within request context is always raw table name.
132133
_table = table;
133134
_response = response;
135+
_queryEngine = queryEngine;
134136
_identity = identity;
135137
_serverStats = serverStats;
136138
}
139+
140+
public enum QueryEngine {
141+
SINGLE_STAGE("singleStage"),
142+
MULTI_STAGE("multiStage");
143+
144+
private final String _name;
145+
146+
QueryEngine(String name) {
147+
_name = name;
148+
}
149+
150+
private String getName() {
151+
return _name;
152+
}
153+
}
137154
}
138155

139156
/**
@@ -255,6 +272,12 @@ void doFormat(StringBuilder builder, QueryLogger logger, QueryLogParams params)
255272
builder.append(CommonConstants.UNKNOWN);
256273
}
257274
}
275+
},
276+
QUERY_ENGINE("queryEngine") {
277+
@Override
278+
void doFormat(StringBuilder builder, QueryLogger logger, QueryLogParams params) {
279+
builder.append(params._queryEngine.getName());
280+
}
258281
};
259282

260283
public final String _entryName;

pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseSingleStageBrokerRequestHandler.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,8 @@ protected BrokerResponse handleRequest(long requestId, String query, SqlNodeAndO
882882

883883
// Log query and stats
884884
_queryLogger.log(
885-
new QueryLogger.QueryLogParams(requestContext, tableName, brokerResponse, requesterIdentity, serverStats));
885+
new QueryLogger.QueryLogParams(requestContext, tableName, brokerResponse,
886+
QueryLogger.QueryLogParams.QueryEngine.SINGLE_STAGE, requesterIdentity, serverStats));
886887

887888
return brokerResponse;
888889
} finally {
@@ -931,7 +932,8 @@ private BrokerResponseNative getEmptyBrokerOnlyResponse(PinotQuery pinotQuery, R
931932
ParserUtils.fillEmptyResponseSchema(brokerResponse, _tableCache, schema, database, query);
932933
brokerResponse.setTimeUsedMs(System.currentTimeMillis() - requestContext.getRequestArrivalTimeMillis());
933934
_queryLogger.log(
934-
new QueryLogger.QueryLogParams(requestContext, tableName, brokerResponse, requesterIdentity, null));
935+
new QueryLogger.QueryLogParams(requestContext, tableName, brokerResponse,
936+
QueryLogger.QueryLogParams.QueryEngine.SINGLE_STAGE, requesterIdentity, null));
935937
return brokerResponse;
936938
}
937939

pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,8 @@ protected BrokerResponse handleRequest(long requestId, String query, SqlNodeAndO
328328

329329
// Log query and stats
330330
_queryLogger.log(
331-
new QueryLogger.QueryLogParams(requestContext, tableNames.toString(), brokerResponse, requesterIdentity,
332-
null));
331+
new QueryLogger.QueryLogParams(requestContext, tableNames.toString(), brokerResponse,
332+
QueryLogger.QueryLogParams.QueryEngine.MULTI_STAGE, requesterIdentity, null));
333333

334334
return brokerResponse;
335335
} finally {

pinot-broker/src/test/java/org/apache/pinot/broker/querylog/QueryLoggerTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public void shouldFormatLogLineProperly() {
110110
+ "offlineThreadCpuTimeNs(total/thread/sysActivity/resSer):45/14/15/16,"
111111
+ "realtimeThreadCpuTimeNs(total/thread/sysActivity/resSer):54/17/18/19,"
112112
+ "clientIp=ip,"
113+
+ "queryEngine=singleStage,"
113114
+ "query=SELECT * FROM foo");
114115
//@formatter:on
115116
}
@@ -281,6 +282,7 @@ public String getClientIp() {
281282
ServerStats serverStats = new ServerStats();
282283
serverStats.setServerStats("serverStats");
283284

284-
return new QueryLogger.QueryLogParams(requestContext, "table", response, identity, serverStats);
285+
return new QueryLogger.QueryLogParams(requestContext, "table", response,
286+
QueryLogger.QueryLogParams.QueryEngine.SINGLE_STAGE, identity, serverStats);
285287
}
286288
}

0 commit comments

Comments
 (0)