时间: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库
标签: