Deleting Data
Function Description
Add the delete parameter to the query API of OpenTSDB and set it to true. Function genQueryReq () generates a deletion request, and function delete() sends the deletion request to the OpenTSDB server.
Sample Code
private static String QUERY_URL = (securityMode ? "https://" : "http://") + OPENTSDB_IP + ":"
+ OPENTSDB_PORT + "/api/query";
static class Query {
public Long start;
public Long end;
public boolean delete = false;
public List<SubQuery> queries;
}
static class SubQuery {
public String metric;
public String aggregator;
public SubQuery(String metric, String aggregator) {
this.metric = metric;
this.aggregator = aggregator;
}
}
String genQueryReq() {
Query query = new Query();
query.start = 1498838400L;
query.end = 1498921200L;
query.queries = ImmutableList.of(new SubQuery("city.temp", "sum"), new SubQuery("city.hum", "sum"));
Gson gson = new Gson();
return gson.toJson(query);
}
String genDeleteReq() {
Query query = new Query();
query.start = 1498838400L;
query.end = 1498921200L;
query.queries = ImmutableList.of(new SubQuery("city.temp", "sum"), new SubQuery("city.hum", "sum"));
query.delete = true;
Gson gson = new Gson();
return gson.toJson(query);
}
public void delete() throws ClientProtocolException, IOException {
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost httpPost = new HttpPost(QUERY_URL);
// A timeout interval needs to be set for the request.
addTimeout(httpPost);
String deleteRequest = genDeleteReq();
StringEntity entity = new StringEntity(deleteRequest, "ISO-8859-1");
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("Status Code : " + statusCode);
if (statusCode != HttpStatus.SC_OK) {
System.out.println("Request failed! " + response.getStatusLine());
}
}
}
If query.delete is set to true, all queried data will be deleted. For details, see OpenTSDB API Introduction.
Last Article: Querying Data
Next Article: Tuning Performance
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.