public void updateMetrics(String stepName, List<MonitoringInfo> monitoringInfos) {
        getMetricsContainer(stepName).update(monitoringInfos);
        updateMetrics(stepName);
    }
@Test
    void testDistributionMonitoringInfoUpdate() {
        MonitoringInfo userMonitoringInfo =
                new SimpleMonitoringInfoBuilder()
                        .setUrn(MonitoringInfoConstants.Urns.USER_DISTRIBUTION_INT64)
                        .setLabel(MonitoringInfoConstants.Labels.NAMESPACE, DEFAULT_NAMESPACE)
                        .setLabel(MonitoringInfoConstants.Labels.NAME, "myDistribution")
                        .setLabel(MonitoringInfoConstants.Labels.PTRANSFORM, "anyPTransform")
                        .setInt64DistributionValue(DistributionData.create(30, 10, 1, 5))
                        .build();

        container.updateMetrics("step", ImmutableList.of(userMonitoringInfo));
        // The one Flink distribution that gets created is a FlinkDistributionGauge; here we verify
        // its initial (and in this test, final) value
        FlinkMetricContainer.FlinkDistributionGauge myGauge =
                (FlinkMetricContainer.FlinkDistributionGauge) metricGroup.get("myDistribution");

        assertThat(myGauge.getValue()).isEqualTo(DistributionResult.create(30, 10, 1, 5));
    }