时间:2021-07-01 10:21:17 帮助过:4人阅读
源码下载地址:https://github.com/kairosdb/kairosdb-client/
将源码集成到你的java项目中
红色部分就是源码部分。
我们建立一个class来测试操作
package kairosdb.client.demo;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import org.kairosdb.client.HttpClient;
import org.kairosdb.client.builder.AggregatorFactory;
import org.kairosdb.client.builder.MetricBuilder;
import org.kairosdb.client.builder.QueryBuilder;
import org.kairosdb.client.builder.TimeUnit;
import org.kairosdb.client.response.GetResponse;
import org.kairosdb.client.response.QueryResponse;
import org.kairosdb.client.response.Response;
public class Metric {
// 获取metric的name集合
public static void getMetricNames() {
HttpClient client;
GetResponse response;
try {
client = new HttpClient("http://10.20.0.10:9090");
response = client.getMetricNames();
System.out.println("*********************MetricNames**********************");
System.out.println("Response Code =" + response.getStatusCode());
for (String name : response.getResults()) {
System.out.println(name);
}
client.shutdown();
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取Tag的name集合
public static void getTagNames() {
HttpClient client;
GetResponse response;
try {
client = new HttpClient("http://10.20.0.10:9090");
response = client.getTagNames();
System.out.println("*********************TagNames**********************");
System.out.println("Response Code =" + response.getStatusCode());
for (String name : response.getResults()) {
System.out.println(name);
}
client.shutdown();
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取Tag的值集合
public static void getTagValues() {
HttpClient client;
GetResponse response;
try {
client = new HttpClient("http://10.20.0.10:9090");
response = client.getTagValues();
System.out.println("*********************TagValues**********************");
System.out.println("Response Code =" + response.getStatusCode());
for (String name : response.getResults()) {
System.out.println(name);
}
client.shutdown();
} catch (IOException e) {
e.printStackTrace();
}
}
// pushMetric
public static void pushMetric() throws URISyntaxException, IOException {
MetricBuilder builder = MetricBuilder.getInstance();
builder.addMetric("proc.loadavg.1m").addTag("host", "kairosdb")
.addDataPoint(System.currentTimeMillis(), 10)
.addDataPoint(System.currentTimeMillis(), 30L);
HttpClient client = new HttpClient("http://10.20.0.10:9090");
Response response = client.pushMetrics(builder);
System.out.println("*********************Push Metric**********************");
System.out.println("Response Code =" + response.getStatusCode());
client.shutdown();
}
// 查询数据节点
public static void queryDataPoint() throws IOException, URISyntaxException {
QueryBuilder builder = QueryBuilder.getInstance();
builder.setStart(5, TimeUnit.MINUTES).setEnd(1, TimeUnit.MINUTES).addMetric("kairosdb.http.query_time")
.addAggregator(AggregatorFactory.createSumAggregator(1, TimeUnit.MINUTES));
HttpClient client = new HttpClient("http://10.20.0.10:9090");
QueryResponse response = client.query(builder);
String body = response.getBody();
System.out.println("*********************Query DataPoint**********************");
System.out.println("Response Code =" + response.getStatusCode());
System.out.println(body);
client.shutdown();
}
// 删除Metric中的数据点
public static void deleteMetric() throws IOException {
// MetricBuilder builder = MetricBuilder.getInstance();
HttpClient client = new HttpClient("http://10.20.0.10:9090");
Response response = client.deleteMetric("proc.loadavg.1m");
System.out.println("*********************Delete Metric**********************");
System.out.println("Response Code =" + response.getStatusCode());
client.shutdown();
}
/**
* 类描述:
*
* @author: blank
* @date: 日期:2016-5-9 时间:上午10:30:14
* @param args
* @version 1.0
* @throws IOException
* @throws URISyntaxException
*/
public static void main(String[] args) throws URISyntaxException, IOException {
getMetricNames();
getTagNames();
getTagValues();
pushMetric();
deleteMetric();
queryDataPoint();
}
}
*********************MetricNames**********************
Response Code =200
kairosdb.datastore.query_time
kairosdb.protocol.telnet_request_count
kairosdb.http.ingest_count
kairosdb.datastore.query_row_count
kairosdb.http.ingest_time
kairosdb.protocol.http_request_count
kairosdb.jvm.thread_count
kairosdb.jvm.total_memory
kairosdb.jvm.max_memory
kairosdb.http.request_time
kairosdb.jvm.free_memory
kairosdb.datastore.query_sample_size
kairosdb.datastore.query_collisions
kairosdb.http.query_time
kairosdb.metric_counters
proc.loadavg.1m
*********************TagNames**********************
Response Code =200
method
metric_name
query_index
request
host
*********************TagValues**********************
Response Code =200
kairosdb
tagvalues
proc.loadavg.1m
query
kairosdb.datastore.query_time
kairosdb.protocol.telnet_request_count
datapoints
tagnames
put
tagsnames
1
2
controller0
/datapoints/query
kairosdb.http.request_time
kairosdb.jvm.total_memory
metricnames
version
kairosdb.jvm.free_memory
kairosdb.datastore.query_sample_size
tags
kairosdb.http.query_time
kairosdb.jvm.thread_count
kairosdb.datastore.query_collisions
kairosdb.jvm.max_memory
*********************Push Metric**********************
Response Code =204
*********************Delete Metric**********************
Response Code =204
*********************Query DataPoint**********************
Response Code =200
{"queries":[{"sample_size":0,"results":[{"name":"kairosdb.http.query_time","group_by":[{"name":"type","type":"number"}],"tags":{"host":["controller0","kairosdb"],"metric_name":["kairosdb.datastore.query_collisions","kairosdb.datastore.query_sample_size","kairosdb.datastore.query_time","kairosdb.http.query_time","kairosdb.http.request_time","kairosdb.jvm.free_memory","kairosdb.jvm.max_memory","kairosdb.jvm.thread_count","kairosdb.jvm.total_memory","kairosdb.protocol.telnet_request_count","proc.loadavg.1m"],"query_index":["1","2"],"request":["/datapoints/query"]},"values":[]}]}]}
kairosdb client库
标签: