Add UseCase
This commit is contained in:
@ -2,6 +2,8 @@ package com.bdwise.prometheus.client;
|
|||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
import org.apache.http.impl.client.HttpClientBuilder;
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
@ -20,6 +22,7 @@ import com.bdwise.prometheus.client.converter.am.DefaultAlertManagerResult;
|
|||||||
import com.bdwise.prometheus.client.converter.label.DefaultLabelResult;
|
import com.bdwise.prometheus.client.converter.label.DefaultLabelResult;
|
||||||
import com.bdwise.prometheus.client.converter.query.DefaultQueryResult;
|
import com.bdwise.prometheus.client.converter.query.DefaultQueryResult;
|
||||||
import com.bdwise.prometheus.client.converter.query.MatrixData;
|
import com.bdwise.prometheus.client.converter.query.MatrixData;
|
||||||
|
import com.bdwise.prometheus.client.converter.query.QueryResultItemValue;
|
||||||
import com.bdwise.prometheus.client.converter.query.VectorData;
|
import com.bdwise.prometheus.client.converter.query.VectorData;
|
||||||
import com.bdwise.prometheus.client.converter.status.DefaultConfigResult;
|
import com.bdwise.prometheus.client.converter.status.DefaultConfigResult;
|
||||||
import com.bdwise.prometheus.client.converter.target.DefaultTargetResult;
|
import com.bdwise.prometheus.client.converter.target.DefaultTargetResult;
|
||||||
@ -27,7 +30,7 @@ import com.bdwise.prometheus.client.converter.target.DefaultTargetResult;
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
public class PromqlTest extends TestCase {
|
public class PromqlTest extends TestCase {
|
||||||
private final static String TARGET_SERVER = "http://52.192.4.59:30900";
|
private final static String TARGET_SERVER = "http://192.168.66.60:9090";
|
||||||
|
|
||||||
private RestTemplate template = null;
|
private RestTemplate template = null;
|
||||||
|
|
||||||
@ -45,9 +48,14 @@ public class PromqlTest extends TestCase {
|
|||||||
template = new RestTemplate(httpRequestFactory);
|
template = new RestTemplate(httpRequestFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String ConvertEpocToFormattedDate(String format, double epocTime) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat(format);
|
||||||
|
return formatter.format(new Date(Math.round(epocTime*1000)));
|
||||||
|
}
|
||||||
|
|
||||||
public void testSimpleRangeQuery() throws MalformedURLException {
|
public void testSimpleRangeQuery() throws MalformedURLException {
|
||||||
RangeQueryBuilder rangeQueryBuilder = QueryBuilderType.RangeQuery.newInstance(TARGET_SERVER);
|
RangeQueryBuilder rangeQueryBuilder = QueryBuilderType.RangeQuery.newInstance(TARGET_SERVER);
|
||||||
URI targetUri = rangeQueryBuilder.withQuery("irate(received_api_call_total[60s])")
|
URI targetUri = rangeQueryBuilder.withQuery("100 - avg(rate(node_cpu{application=\"node_exporter\", mode=\"idle\"}[1m])) by (instance)*100")
|
||||||
.withStartEpochTime(System.currentTimeMillis() / 1000 - 60*10)
|
.withStartEpochTime(System.currentTimeMillis() / 1000 - 60*10)
|
||||||
.withEndEpochTime(System.currentTimeMillis() / 1000)
|
.withEndEpochTime(System.currentTimeMillis() / 1000)
|
||||||
.withStepTime("60s")
|
.withStepTime("60s")
|
||||||
@ -62,13 +70,21 @@ public class PromqlTest extends TestCase {
|
|||||||
|
|
||||||
DefaultQueryResult<MatrixData> result = ConvertUtil.convertQueryResultString(rtVal);
|
DefaultQueryResult<MatrixData> result = ConvertUtil.convertQueryResultString(rtVal);
|
||||||
|
|
||||||
|
for(MatrixData matrixData : result.getResult()) {
|
||||||
|
System.out.println(String.format("%s", matrixData.getMetric().get("instance")));
|
||||||
|
for(QueryResultItemValue itemValue : matrixData.getDataValues()) {
|
||||||
|
System.out.println(String.format("%s %10.2f ",
|
||||||
|
ConvertEpocToFormattedDate("yyyy-MM-dd hh:mm:ss", itemValue.getTimestamp()),
|
||||||
|
itemValue.getValue()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSimpleInstantQuery() throws MalformedURLException {
|
public void testSimpleInstantQuery() throws MalformedURLException {
|
||||||
InstantQueryBuilder iqb = QueryBuilderType.InstantQuery.newInstance(TARGET_SERVER);
|
InstantQueryBuilder iqb = QueryBuilderType.InstantQuery.newInstance(TARGET_SERVER);
|
||||||
URI targetUri = iqb.withQuery("irate(received_api_call_total[60s])").build();
|
URI targetUri = iqb.withQuery("100 - avg(rate(node_cpu{application=\"node_exporter\", mode=\"idle\"}[1m])) by (instance)*100").build();
|
||||||
System.out.println(targetUri.toURL().toString());
|
System.out.println(targetUri.toURL().toString());
|
||||||
|
|
||||||
|
|
||||||
@ -78,6 +94,13 @@ public class PromqlTest extends TestCase {
|
|||||||
DefaultQueryResult<VectorData> result = ConvertUtil.convertQueryResultString(rtVal);
|
DefaultQueryResult<VectorData> result = ConvertUtil.convertQueryResultString(rtVal);
|
||||||
|
|
||||||
|
|
||||||
|
for(VectorData vectorData : result.getResult()) {
|
||||||
|
System.out.println(String.format("%s %s %10.2f",
|
||||||
|
vectorData.getMetric().get("instance"),
|
||||||
|
vectorData.getFormattedTimestamps("yyyy-MM-dd hh:mm:ss"),
|
||||||
|
vectorData.getValue() ));
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println(result);
|
System.out.println(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user