@Test public void testGetMetricsTableHandlesNotRegisteredMetrics() { OperatorProfile op = OperatorProfile .newBuilder().addMetric( UserBitShared.MetricValue.newBuilder() .setMetricId(1) .setDoubleValue(200)) .addMetric( UserBitShared.MetricValue.newBuilder() .setMetricId(3) .setDoubleValue(21)) .setOperatorId(UserBitShared.CoreOperatorType.PARQUET_ROW_GROUP_SCAN.getNumber()) .build(); ImmutablePair<OperatorProfile, Integer> pair = new ImmutablePair<>(op, 1); OperatorWrapper ow = new OperatorWrapper(1, ImmutableList.of(pair), OperatorMetricRegistry.getCoreOperatorTypeMetricsMap()); String html = ow.getMetricsTable(); Pattern columnPattern = Pattern.compile("<td>.*?</td>"); Matcher matcher = columnPattern.matcher(html); int count = 0; while (matcher.find()){ count++; } // Unregistered metrics should not appear on profiles screen assertEquals(2, count); }
break; case 4: builder.addOperatorProfile(input.mergeObject(com.dremio.exec.proto.UserBitShared.OperatorProfile.newBuilder(), com.dremio.exec.proto.SchemaUserBitShared.OperatorProfile.MERGE));
public Builder toBuilder() { return newBuilder(this); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.dremio.exec.proto.UserBitShared.OperatorProfile prototype) {
public static Builder newBuilder(com.dremio.exec.proto.UserBitShared.OperatorProfile prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
public OperatorProfile getProfile() { final OperatorProfile.Builder b = OperatorProfile // .newBuilder() // .setOperatorType(operatorType) // .setOperatorId(operatorId) // .setSetupNanos(getSetupNanos()) // .setProcessNanos(getProcessingNanos()) .setWaitNanos(getWaitNanos()); if(allocator != null){ b.setPeakLocalMemoryAllocated(allocator.getPeakMemoryAllocation()); } addAllMetrics(b); return b.build(); }
public com.dremio.exec.proto.UserBitShared.OperatorProfile.Builder newMessage() { return com.dremio.exec.proto.UserBitShared.OperatorProfile.newBuilder(); } public java.lang.String getFieldName(int number)