diff --git a/presto-main-base/src/main/java/com/facebook/presto/metadata/MetadataManagerStats.java b/presto-main-base/src/main/java/com/facebook/presto/metadata/MetadataManagerStats.java index 589bfb025d827..0e7b409f34796 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/metadata/MetadataManagerStats.java +++ b/presto-main-base/src/main/java/com/facebook/presto/metadata/MetadataManagerStats.java @@ -117,6 +117,7 @@ public class MetadataManagerStats private final AtomicLong getMetadataResolverCalls = new AtomicLong(); private final AtomicLong getConnectorCapabilitiesCalls = new AtomicLong(); private final AtomicLong dropBranchCalls = new AtomicLong(); + private final AtomicLong createBranchCalls = new AtomicLong(); private final AtomicLong dropTagCalls = new AtomicLong(); private final AtomicLong dropConstraintCalls = new AtomicLong(); private final AtomicLong addConstraintCalls = new AtomicLong(); @@ -225,6 +226,7 @@ public class MetadataManagerStats private final TimeStat getMetadataResolverTime = new TimeStat(TimeUnit.NANOSECONDS); private final TimeStat getConnectorCapabilitiesTime = new TimeStat(TimeUnit.NANOSECONDS); private final TimeStat dropBranchTime = new TimeStat(TimeUnit.NANOSECONDS); + private final TimeStat createBranchTime = new TimeStat(TimeUnit.NANOSECONDS); private final TimeStat dropTagTime = new TimeStat(TimeUnit.NANOSECONDS); private final TimeStat dropConstraintTime = new TimeStat(TimeUnit.NANOSECONDS); private final TimeStat addConstraintTime = new TimeStat(TimeUnit.NANOSECONDS); @@ -1725,6 +1727,12 @@ public void recordDropBranchCall(long duration) dropBranchTime.add(duration, TimeUnit.NANOSECONDS); } + public void recordCreateBranchCall(long duration) + { + createBranchCalls.incrementAndGet(); + createBranchTime.add(duration, TimeUnit.NANOSECONDS); + } + public void recordDropTagCall(long duration) { dropTagCalls.incrementAndGet(); diff --git a/presto-main-base/src/main/java/com/facebook/presto/metadata/StatsRecordingMetadataManager.java b/presto-main-base/src/main/java/com/facebook/presto/metadata/StatsRecordingMetadataManager.java index 36cad0d77a4b6..0d678294b80ee 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/metadata/StatsRecordingMetadataManager.java +++ b/presto-main-base/src/main/java/com/facebook/presto/metadata/StatsRecordingMetadataManager.java @@ -999,6 +999,26 @@ public void dropBranch(Session session, TableHandle tableHandle, String branchNa } } + @Override + public void createBranch(Session session, + TableHandle tableHandle, + String branchName, + boolean replace, + boolean ifNotExists, + Optional tableVersion, + Optional retainDays, + Optional minSnapshotsToKeep, + Optional maxSnapshotAgeDays) + { + long startTime = System.nanoTime(); + try { + delegate.createBranch(session, tableHandle, branchName, replace, ifNotExists, tableVersion, retainDays, minSnapshotsToKeep, maxSnapshotAgeDays); + } + finally { + stats.recordCreateBranchCall(System.nanoTime() - startTime); + } + } + @Override public void dropTag(Session session, TableHandle tableHandle, String tagName, boolean tagExists) {