private MetricInfo buildMetaMetricInfo(String metricName,
                                           Scope scope,
                                           Column.ValueDataType dataType) {
        MetricInfo metricInfo = new MetricInfo(metricName);
        metricInfo.getLabels().add(new LabelValuePair(LabelName.LAYER.getLabel(), ""));
        metricInfo.getLabels().add(new LabelValuePair(LabelName.TOP_N.getLabel(), ""));
        metricInfo.getLabels().add(new LabelValuePair(LabelName.ORDER.getLabel(), ""));

        if (Column.ValueDataType.LABELED_VALUE == dataType) {
            metricInfo.getLabels().add(new LabelValuePair(LabelName.LABELS.getLabel(), ""));
            metricInfo.getLabels().add(new LabelValuePair(LabelName.RELABELS.getLabel(), ""));
        }
        switch (scope) {
            case Service:
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SCOPE.getLabel(), Scope.Service.name()));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SERVICE.getLabel(), ""));
                break;
            case ServiceInstance:
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SCOPE.getLabel(), Scope.ServiceInstance.name()));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SERVICE.getLabel(), ""));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SERVICE_INSTANCE.getLabel(), ""));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.PARENT_SERVICE.getLabel(), ""));
                break;
            case Endpoint:
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SCOPE.getLabel(), Scope.Endpoint.name()));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.SERVICE.getLabel(), ""));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.ENDPOINT.getLabel(), ""));
                metricInfo.getLabels().add(new LabelValuePair(LabelName.PARENT_SERVICE.getLabel(), ""));
                break;
        }
        return metricInfo;
    }
OAP adopt time step by start/end,
reserve step/timeout param to keep consistent with API protocol.
oap-server/server-query-plugin/promql-plugin/src/main/java/org/apache/skywalking/oap/query/promql/handler/PromQLApiHandler.java