Skip to content

Commit cd4d50f

Browse files
Add runtime stats for normalizeIdentifier
1 parent c4db3c8 commit cd4d50f

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

presto-common/src/main/java/com/facebook/presto/common/RuntimeMetricName.java

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ private RuntimeMetricName()
5858
public static final String GET_CANONICAL_INFO_TIME_NANOS = "getCanonicalInfoTimeNanos";
5959
public static final String FRAGMENT_PLAN_TIME_NANOS = "fragmentPlanTimeNanos";
6060
public static final String GET_LAYOUT_TIME_NANOS = "getLayoutTimeNanos";
61+
public static final String GET_IDENTIFIER_NORMALIZATION_TIME_NANOS = "getIdentifierNormalizationTimeNanos";
6162
public static final String REWRITE_AGGREGATION_IF_TO_FILTER_APPLIED = "rewriteAggregationIfToFilterApplied";
6263
// Time between task creation and start.
6364
public static final String TASK_QUEUED_TIME_NANOS = "taskQueuedTimeNanos";

presto-main-base/src/main/java/com/facebook/presto/metadata/MetadataManager.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108

109109
import static com.facebook.airlift.concurrent.MoreFutures.toListenableFuture;
110110
import static com.facebook.presto.SystemSessionProperties.isIgnoreStatsCalculatorFailures;
111+
import static com.facebook.presto.common.RuntimeMetricName.GET_IDENTIFIER_NORMALIZATION_TIME_NANOS;
111112
import static com.facebook.presto.common.RuntimeMetricName.GET_LAYOUT_TIME_NANOS;
112113
import static com.facebook.presto.common.RuntimeMetricName.GET_MATERIALIZED_VIEW_STATUS_TIME_NANOS;
113114
import static com.facebook.presto.common.RuntimeUnit.NANO;
@@ -1491,13 +1492,18 @@ public void addConstraint(Session session, TableHandle tableHandle, TableConstra
14911492
@Override
14921493
public String normalizeIdentifier(Session session, String catalogName, String identifier)
14931494
{
1495+
long startTime = System.nanoTime();
1496+
String normalizedString = identifier.toLowerCase(ENGLISH);
14941497
Optional<CatalogMetadata> catalogMetadata = getOptionalCatalogMetadata(session, transactionManager, catalogName);
14951498
if (catalogMetadata.isPresent()) {
14961499
ConnectorId connectorId = catalogMetadata.get().getConnectorId();
14971500
ConnectorMetadata metadata = catalogMetadata.get().getMetadataFor(connectorId);
1498-
return metadata.normalizeIdentifier(session.toConnectorSession(connectorId), identifier);
1501+
normalizedString = metadata.normalizeIdentifier(session.toConnectorSession(connectorId), identifier);
1502+
session.getRuntimeStats().addMetricValue(GET_IDENTIFIER_NORMALIZATION_TIME_NANOS, NANO, System.nanoTime() - startTime);
1503+
return normalizedString;
14991504
}
1500-
return identifier.toLowerCase(ENGLISH);
1505+
session.getRuntimeStats().addMetricValue(GET_IDENTIFIER_NORMALIZATION_TIME_NANOS, NANO, System.nanoTime() - startTime);
1506+
return normalizedString;
15011507
}
15021508

15031509
private ViewDefinition deserializeView(String data)

0 commit comments

Comments
 (0)