private List<ServiceInstance> queryInstanceTraffic(MatcherSetResult parseResult,
                                                       Duration duration,
                                                       String layer,
                                                       String serviceName,
                                                       int limitNum) throws IllegalExpressionException {
        if (StringUtil.isBlank(layer)) {
            throw new IllegalExpressionException("label {layer} should not be empty.");
        }
        if (StringUtil.isBlank(serviceName)) {
            throw new IllegalExpressionException("label {service} should not be empty.");
        }
        List<ServiceInstance> result = new ArrayList<>();
        MatcherSetResult.NameMatcher matcher = parseResult.getNameMatcher();
        List<ServiceInstance> instances = metadataQuery.listInstances(
            duration, IDManager.ServiceID.buildId(serviceName, Layer.valueOf(layer).isNormal())).join();
        if (matcher != null) {
            String instanceName = matcher.getMatchString();
            if (matcher.getMatchOp() == PromQLParser.EQ) {
                instances.stream().filter(n -> n.getName().equals(instanceName)).findFirst().ifPresent(result::add);
            } else if (matcher.getMatchOp() == PromQLParser.NEQ) {
                instances.stream().filter(n -> !n.getName().equals(instanceName)).limit(limitNum).forEach(result::add);
            } else if (matcher.getMatchOp() == PromQLParser.RM) {
                instances.stream().filter(n -> n.getName().matches(instanceName)).limit(limitNum).forEach(result::add);
            } else if (matcher.getMatchOp() == PromQLParser.NRM) {
                instances.stream().filter(n -> !n.getName().matches(instanceName)).limit(limitNum).forEach(result::add);
            }
        } else {
            instances.stream().limit(limitNum).forEach(result::add);
        }
        return result;
    }
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