public static SinglePointMetric sum(MetricKey metricKey, double value, boolean monotonic, Instant timestamp, Set<String> excludeLabels) {
        return sum(metricKey, value, monotonic, timestamp, null, excludeLabels);
    }
@Test
    public void testSum() {
        SinglePointMetric sum = SinglePointMetric.sum(metricKey, 1.0, false, now, null, Collections.emptySet());

        MetricKey key = sum.key();
        assertEquals("name", key.name());

        Metric metric = sum.builder().build();
        assertFalse(metric.getSum().getIsMonotonic());
        assertEquals(AggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE, metric.getSum().getAggregationTemporality());
        assertEquals(1, metric.getSum().getDataPointsCount());

        NumberDataPoint point = metric.getSum().getDataPoints(0);
        assertEquals(now.getEpochSecond() * Math.pow(10, 9) + now.getNano(), point.getTimeUnixNano());
        assertEquals(0, point.getStartTimeUnixNano());
        assertEquals(1.0, point.getAsDouble());
        assertEquals(0, point.getAttributesCount());
    }