Skip to content

Commit a8f8de0

Browse files
committed
Add catalogMetadataMetrics to event listener QueryStatistics
1 parent 70b1ddb commit a8f8de0

File tree

9 files changed

+32
-3
lines changed

9 files changed

+32
-3
lines changed

core/trino-main/src/main/java/io/trino/event/QueryMonitor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ public void queryImmediateFailureEvent(BasicQueryInfo queryInfo, ExecutionFailur
241241
ImmutableList.of(),
242242
ImmutableList.of(),
243243
ImmutableList.of(),
244+
ImmutableMap.of(),
244245
Optional.empty()),
245246
createQueryContext(
246247
queryInfo.getSession(),
@@ -357,6 +358,7 @@ private QueryStatistics createQueryStatistics(QueryInfo queryInfo)
357358
getDynamicFilterDomainStats(queryInfo),
358359
memoize(() -> operatorStats.stream().map(operatorStatsCodec::toJson).toList()),
359360
ImmutableList.copyOf(queryInfo.getQueryStats().getOptimizerRulesSummaries()),
361+
ImmutableMap.copyOf(queryInfo.getQueryStats().getCatalogMetadataMetrics()),
360362
serializedPlanNodeStatsAndCosts);
361363
}
362364

core/trino-spi/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,11 @@
327327
<code>java.method.addedToInterface</code>
328328
<new>method double[] io.trino.spi.metrics.Distribution&lt;T&gt;::getPercentiles(double[])</new>
329329
</item>
330+
<item>
331+
<code>java.method.numberOfParametersChanged</code>
332+
<old>method void io.trino.spi.eventlistener.QueryStatistics::&lt;init&gt;(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List&lt;io.trino.spi.eventlistener.StageGcStatistics&gt;, int, boolean, java.util.List&lt;io.trino.spi.eventlistener.StageCpuDistribution&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageOutputBufferUtilization&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageOutputBufferMetrics&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageTaskStatistics&gt;, java.util.List&lt;io.trino.spi.eventlistener.DynamicFilterDomainStatistics&gt;, java.util.function.Supplier&lt;java.util.List&lt;java.lang.String&gt;&gt;, java.util.List&lt;io.trino.spi.eventlistener.QueryPlanOptimizerStatistics&gt;, java.util.Optional&lt;java.lang.String&gt;)</old>
333+
<new>method void io.trino.spi.eventlistener.QueryStatistics::&lt;init&gt;(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, java.util.Optional&lt;java.time.Duration&gt;, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List&lt;io.trino.spi.eventlistener.StageGcStatistics&gt;, int, boolean, java.util.List&lt;io.trino.spi.eventlistener.StageCpuDistribution&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageOutputBufferUtilization&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageOutputBufferMetrics&gt;, java.util.List&lt;io.trino.spi.eventlistener.StageTaskStatistics&gt;, java.util.List&lt;io.trino.spi.eventlistener.DynamicFilterDomainStatistics&gt;, java.util.function.Supplier&lt;java.util.List&lt;java.lang.String&gt;&gt;, java.util.List&lt;io.trino.spi.eventlistener.QueryPlanOptimizerStatistics&gt;, java.util.Map&lt;java.lang.String, io.trino.spi.metrics.Metrics&gt;, java.util.Optional&lt;java.lang.String&gt;)</new>
334+
</item>
330335
</differences>
331336
</revapi.differences>
332337
</analysisConfiguration>

core/trino-spi/src/main/java/io/trino/spi/eventlistener/QueryStatistics.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
import com.fasterxml.jackson.annotation.JsonCreator;
1717
import com.fasterxml.jackson.annotation.JsonProperty;
1818
import io.trino.spi.Unstable;
19+
import io.trino.spi.metrics.Metrics;
1920

2021
import java.time.Duration;
2122
import java.util.List;
23+
import java.util.Map;
2224
import java.util.Optional;
2325
import java.util.function.Supplier;
2426

@@ -82,6 +84,7 @@ public class QueryStatistics
8284
*/
8385
private final Supplier<List<String>> operatorSummariesProvider;
8486
private final List<QueryPlanOptimizerStatistics> optimizerRulesSummaries;
87+
private final Map<String, Metrics> catalogMetadataMetrics;
8588
/**
8689
* Plan node stats and costs serialized to JSON. Serialization format and structure
8790
* can change without preserving backward compatibility.
@@ -134,6 +137,7 @@ public QueryStatistics(
134137
List<DynamicFilterDomainStatistics> dynamicFilterDomainStatistics,
135138
List<String> operatorSummaries,
136139
List<QueryPlanOptimizerStatistics> optimizerRulesSummaries,
140+
Map<String, Metrics> catalogMetadataMetrics,
137141
Optional<String> planNodeStatsAndCosts)
138142
{
139143
this(
@@ -180,6 +184,7 @@ public QueryStatistics(
180184
dynamicFilterDomainStatistics,
181185
() -> operatorSummaries,
182186
optimizerRulesSummaries,
187+
catalogMetadataMetrics,
183188
planNodeStatsAndCosts);
184189
}
185190

@@ -227,6 +232,7 @@ public QueryStatistics(
227232
List<DynamicFilterDomainStatistics> dynamicFilterDomainStatistics,
228233
Supplier<List<String>> operatorSummariesProvider,
229234
List<QueryPlanOptimizerStatistics> optimizerRulesSummaries,
235+
Map<String, Metrics> catalogMetadataMetrics,
230236
Optional<String> planNodeStatsAndCosts)
231237
{
232238
this.cpuTime = requireNonNull(cpuTime, "cpuTime is null");
@@ -272,6 +278,7 @@ public QueryStatistics(
272278
this.dynamicFilterDomainStatistics = requireNonNull(dynamicFilterDomainStatistics, "dynamicFilterDomainStatistics is null");
273279
this.operatorSummariesProvider = requireNonNull(operatorSummariesProvider, "operatorSummariesProvider is null");
274280
this.optimizerRulesSummaries = requireNonNull(optimizerRulesSummaries, "optimizerRulesSummaries is null");
281+
this.catalogMetadataMetrics = requireNonNull(catalogMetadataMetrics, "catalogMetadataMetrics is null");
275282
this.planNodeStatsAndCosts = requireNonNull(planNodeStatsAndCosts, "planNodeStatsAndCosts is null");
276283
}
277284

@@ -533,6 +540,12 @@ public List<QueryPlanOptimizerStatistics> getOptimizerRulesSummaries()
533540
return optimizerRulesSummaries;
534541
}
535542

543+
@JsonProperty
544+
public Map<String, Metrics> getCatalogMetadataMetrics()
545+
{
546+
return catalogMetadataMetrics;
547+
}
548+
536549
@JsonProperty
537550
public Optional<String> getPlanNodeStatsAndCosts()
538551
{

plugin/trino-http-event-listener/src/test/java/io/trino/plugin/httpquery/TestHttpEventListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ final class TestHttpEventListener
179179
Collections.emptyList(),
180180
Collections.emptyList(),
181181
Collections.emptyList(),
182+
ImmutableMap.of(),
182183
Optional.empty());
183184

184185
queryCreatedEvent = new QueryCreatedEvent(

plugin/trino-http-server-event-listener/src/test/java/io/trino/plugin/httpquery/TestHttpServerEventListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ final class TestHttpServerEventListener
167167
Collections.emptyList(),
168168
Collections.emptyList(),
169169
Collections.emptyList(),
170+
ImmutableMap.of(),
170171
Optional.empty());
171172

172173
queryCompleteEvent = new QueryCompletedEvent(

plugin/trino-kafka-event-listener/src/test/java/io/trino/plugin/eventlistener/kafka/TestUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package io.trino.plugin.eventlistener.kafka;
1616

17+
import com.google.common.collect.ImmutableMap;
1718
import io.trino.operator.RetryPolicy;
1819
import io.trino.spi.ErrorCode;
1920
import io.trino.spi.ErrorType;
@@ -144,6 +145,7 @@ private TestUtils() {}
144145
Collections.emptyList(),
145146
Collections.emptyList(),
146147
Collections.emptyList(),
148+
ImmutableMap.of(),
147149
Optional.empty());
148150

149151
queryFailureInfo = Optional.of(

plugin/trino-mysql-event-listener/src/test/java/io/trino/plugin/eventlistener/mysql/TestMysqlEventListener.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ final class TestMysqlEventListener
141141
// not stored
142142
Collections.emptyList(),
143143
// not stored
144+
ImmutableMap.of(),
145+
// not stored
144146
Optional.empty());
145147

146148
private static final QueryContext FULL_QUERY_CONTEXT = new QueryContext(
@@ -304,6 +306,7 @@ final class TestMysqlEventListener
304306
Collections.emptyList(),
305307
Collections.emptyList(),
306308
Collections.emptyList(),
309+
ImmutableMap.of(),
307310
// not stored
308311
Optional.empty());
309312

plugin/trino-openlineage/src/test/java/io/trino/plugin/openlineage/BaseTestOpenLineageQueries.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -504,19 +504,19 @@ public enum LineageTestTableType
504504
"TABLE",
505505
QueryType.INSERT,
506506
true,
507-
44,
507+
45,
508508
true),
509509
VIEW(
510510
"VIEW",
511511
QueryType.DATA_DEFINITION,
512512
false,
513-
43,
513+
44,
514514
false),
515515
MATERIALIZED_VIEW(
516516
"MATERIALIZED VIEW",
517517
QueryType.DATA_DEFINITION,
518518
false,
519-
43,
519+
44,
520520
false);
521521

522522
private final String queryReplacement;

plugin/trino-openlineage/src/test/java/io/trino/plugin/openlineage/TrinoEventData.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414
package io.trino.plugin.openlineage;
1515

16+
import com.google.common.collect.ImmutableMap;
1617
import io.trino.operator.RetryPolicy;
1718
import io.trino.spi.eventlistener.QueryCompletedEvent;
1819
import io.trino.spi.eventlistener.QueryContext;
@@ -137,6 +138,7 @@ private TrinoEventData()
137138
Collections.emptyList(),
138139
Collections.emptyList(),
139140
Collections.emptyList(),
141+
ImmutableMap.of(),
140142
Optional.empty());
141143

142144
queryCompleteEvent = new QueryCompletedEvent(

0 commit comments

Comments
 (0)