wip
This commit is contained in:
parent
066157577d
commit
3da32c9540
4 changed files with 9 additions and 14 deletions
|
@ -1,7 +1,6 @@
|
|||
package com.provectus.kafka.ui.service.graphs;
|
||||
|
||||
import com.provectus.kafka.ui.exception.ValidationException;
|
||||
import com.provectus.kafka.ui.service.metrics.prometheus.PromQueryTemplate;
|
||||
import java.time.Duration;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
|
@ -4,7 +4,6 @@ import com.google.common.base.Preconditions;
|
|||
import com.provectus.kafka.ui.exception.NotFoundException;
|
||||
import com.provectus.kafka.ui.exception.ValidationException;
|
||||
import com.provectus.kafka.ui.model.KafkaCluster;
|
||||
import com.provectus.kafka.ui.service.metrics.prometheus.PromQueryTemplate;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.Map;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.provectus.kafka.ui.service.metrics.prometheus;
|
||||
package com.provectus.kafka.ui.service.graphs;
|
||||
|
||||
import java.util.Optional;
|
||||
import org.antlr.v4.runtime.BailErrorStrategy;
|
||||
|
@ -26,9 +26,7 @@ class PromQueryLangGrammar {
|
|||
}
|
||||
|
||||
private static PromQLParser createParser(String str) {
|
||||
PromQLLexer lexer = new PromQLLexer(CharStreams.fromString(str));
|
||||
CommonTokenStream tokenStream = new CommonTokenStream(lexer);
|
||||
var parser = new PromQLParser(tokenStream);
|
||||
var parser = new PromQLParser(new CommonTokenStream(new PromQLLexer(CharStreams.fromString(str))));
|
||||
parser.removeErrorListeners();
|
||||
parser.setErrorHandler(new BailErrorStrategy());
|
||||
return parser;
|
|
@ -1,29 +1,28 @@
|
|||
package com.provectus.kafka.ui.service.metrics.prometheus;
|
||||
package com.provectus.kafka.ui.service.graphs;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.provectus.kafka.ui.exception.ValidationException;
|
||||
import com.provectus.kafka.ui.service.graphs.GraphDescription;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import org.apache.commons.lang3.text.StrSubstitutor;
|
||||
|
||||
public class PromQueryTemplate {
|
||||
class PromQueryTemplate {
|
||||
|
||||
private final String queryTemplate;
|
||||
private final Set<String> paramsNames;
|
||||
|
||||
public PromQueryTemplate(GraphDescription d) {
|
||||
PromQueryTemplate(GraphDescription d) {
|
||||
this(d.prometheusQuery(), d.params());
|
||||
}
|
||||
|
||||
public PromQueryTemplate(String templateQueryString, Set<String> paramsNames) {
|
||||
PromQueryTemplate(String templateQueryString, Set<String> paramsNames) {
|
||||
this.queryTemplate = templateQueryString;
|
||||
this.paramsNames = paramsNames;
|
||||
}
|
||||
|
||||
public String getQuery(String clusterName, Map<String, String> paramValues) {
|
||||
String getQuery(String clusterName, Map<String, String> paramValues) {
|
||||
var missingParams = Sets.difference(paramsNames, paramValues.keySet());
|
||||
if (!missingParams.isEmpty()) {
|
||||
throw new ValidationException("Not all params set for query, missing: " + missingParams);
|
||||
|
@ -33,7 +32,7 @@ public class PromQueryTemplate {
|
|||
return replaceParams(replacements);
|
||||
}
|
||||
|
||||
public Optional<String> validateSyntax() {
|
||||
Optional<String> validateSyntax() {
|
||||
Map<String, String> fakeReplacements = new HashMap<>();
|
||||
fakeReplacements.put("cluster", "1");
|
||||
paramsNames.forEach(paramName -> fakeReplacements.put(paramName, "1"));
|
Loading…
Add table
Reference in a new issue