public boolean isCompatible(DataTable dataset) {
        final List<String> sortedKeys = dataset.sortedKeys(new HeatMap.KeyComparator(true));
        long[] existedBuckets = new long[sortedKeys.size()];
        for (int i = 0; i < sortedKeys.size(); i++) {
            String key = sortedKeys.get(i);
            if (key.equals(Bucket.INFINITE_NEGATIVE)) {
                existedBuckets[i] = Long.MIN_VALUE;
            } else {
                // remove the label name
                if (key.contains(":")) {
                    key = StringUtils.substringAfterLast(key, ":");
                }
                existedBuckets[i] = Long.parseLong(key);
            }
        }

        return Arrays.equals(buckets, existedBuckets);
    }
@return true if the bucket is same.
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/BucketedValues.java