Skip to content

Commit 5cd034c

Browse files
committed
add wrapper for other Prometheus calls
Signed-off-by: Joshua Li <joshuali925@gmail.com>
1 parent 15b2c78 commit 5cd034c

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

direct-query-core/src/main/java/org/opensearch/sql/prometheus/client/PrometheusClientImpl.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public JSONObject queryRange(
9292
Request request = new Request.Builder().url(queryUrl).build();
9393

9494
logger.debug("Executing Prometheus request with headers: {}", request.headers().toString());
95-
Response response = this.prometheusHttpClient.newCall(request).execute();
95+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
9696

9797
logger.debug("Received Prometheus response for query_range: code={}", response);
9898

@@ -127,7 +127,7 @@ public JSONObject query(String query, Long time, Integer limit, Integer timeout)
127127
Request request = new Request.Builder().url(queryUrl).build();
128128

129129
logger.info("Executing Prometheus request with headers: {}", request.headers().toString());
130-
Response response = this.prometheusHttpClient.newCall(request).execute();
130+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
131131

132132
logger.info("Received Prometheus response for instant query: code={}", response);
133133
// Return the full response object, not just the data field
@@ -147,7 +147,7 @@ public List<String> getLabels(Map<String, String> queryParams) throws IOExceptio
147147
"%s/api/v1/labels%s", prometheusUri.toString().replaceAll("/$", ""), queryString);
148148
logger.debug("queryUrl: " + queryUrl);
149149
Request request = new Request.Builder().url(queryUrl).build();
150-
Response response = this.prometheusHttpClient.newCall(request).execute();
150+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
151151
JSONObject jsonObject = readResponse(response);
152152
return toListOfLabels(jsonObject.getJSONArray("data"));
153153
}
@@ -162,7 +162,7 @@ public List<String> getLabel(String labelName, Map<String, String> queryParams)
162162
prometheusUri.toString().replaceAll("/$", ""), labelName, queryString);
163163
logger.debug("queryUrl: " + queryUrl);
164164
Request request = new Request.Builder().url(queryUrl).build();
165-
Response response = this.prometheusHttpClient.newCall(request).execute();
165+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
166166
JSONObject jsonObject = readResponse(response);
167167
return toListOfLabels(jsonObject.getJSONArray("data"));
168168
}
@@ -195,7 +195,7 @@ public List<Map<String, String>> getSeries(Map<String, String> queryParams) thro
195195
"%s/api/v1/series%s", prometheusUri.toString().replaceAll("/$", ""), queryString);
196196
logger.debug("queryUrl: " + queryUrl);
197197
Request request = new Request.Builder().url(queryUrl).build();
198-
Response response = this.prometheusHttpClient.newCall(request).execute();
198+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
199199
JSONObject jsonObject = readResponse(response);
200200
JSONArray dataArray = jsonObject.getJSONArray("data");
201201
return toListOfSeries(dataArray);
@@ -212,7 +212,7 @@ public JSONArray queryExemplars(String query, Long start, Long end) throws IOExc
212212
end);
213213
logger.debug("queryUrl: " + queryUrl);
214214
Request request = new Request.Builder().url(queryUrl).build();
215-
Response response = this.prometheusHttpClient.newCall(request).execute();
215+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
216216
JSONObject jsonObject = readResponse(response);
217217
return jsonObject.getJSONArray("data");
218218
}
@@ -223,7 +223,7 @@ public JSONObject getAlerts() throws IOException {
223223
String.format("%s/api/v1/alerts", prometheusUri.toString().replaceAll("/$", ""));
224224
logger.debug("Making Prometheus alerts request: {}", queryUrl);
225225
Request request = new Request.Builder().url(queryUrl).build();
226-
Response response = this.prometheusHttpClient.newCall(request).execute();
226+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
227227
JSONObject jsonObject = readResponse(response);
228228
return jsonObject.getJSONObject("data");
229229
}
@@ -236,7 +236,7 @@ public JSONObject getRules(Map<String, String> queryParams) throws IOException {
236236
"%s/api/v1/rules%s", prometheusUri.toString().replaceAll("/$", ""), queryString);
237237
logger.debug("Making Prometheus rules request: {}", queryUrl);
238238
Request request = new Request.Builder().url(queryUrl).build();
239-
Response response = this.prometheusHttpClient.newCall(request).execute();
239+
Response response = AccessController.doPrivilegedChecked(() -> this.prometheusHttpClient.newCall(request).execute());
240240
JSONObject jsonObject = readResponse(response);
241241
return jsonObject.getJSONObject("data");
242242
}
@@ -249,7 +249,7 @@ public JSONArray getAlertmanagerAlerts(Map<String, String> queryParams) throws I
249249

250250
logger.debug("Making Alertmanager alerts request: {}", queryUrl);
251251
Request request = new Request.Builder().url(queryUrl).build();
252-
Response response = this.alertmanagerHttpClient.newCall(request).execute();
252+
Response response = AccessController.doPrivilegedChecked(() -> this.alertmanagerHttpClient.newCall(request).execute());
253253

254254
return readAlertmanagerResponse(response);
255255
}
@@ -262,7 +262,7 @@ public JSONArray getAlertmanagerAlertGroups(Map<String, String> queryParams) thr
262262

263263
logger.debug("Making Alertmanager alert groups request: {}", queryUrl);
264264
Request request = new Request.Builder().url(queryUrl).build();
265-
Response response = this.alertmanagerHttpClient.newCall(request).execute();
265+
Response response = AccessController.doPrivilegedChecked(() -> this.alertmanagerHttpClient.newCall(request).execute());
266266

267267
return readAlertmanagerResponse(response);
268268
}
@@ -274,7 +274,7 @@ public JSONArray getAlertmanagerReceivers() throws IOException {
274274

275275
logger.debug("Making Alertmanager receivers request: {}", queryUrl);
276276
Request request = new Request.Builder().url(queryUrl).build();
277-
Response response = this.alertmanagerHttpClient.newCall(request).execute();
277+
Response response = AccessController.doPrivilegedChecked(() -> this.alertmanagerHttpClient.newCall(request).execute());
278278

279279
return readAlertmanagerResponse(response);
280280
}
@@ -286,7 +286,7 @@ public JSONArray getAlertmanagerSilences() throws IOException {
286286

287287
logger.debug("Making Get Alertmanager silences request: {}", queryUrl);
288288
Request request = new Request.Builder().url(queryUrl).build();
289-
Response response = this.alertmanagerHttpClient.newCall(request).execute();
289+
Response response = AccessController.doPrivilegedChecked(() -> this.alertmanagerHttpClient.newCall(request).execute());
290290

291291
return readAlertmanagerResponse(response);
292292
}
@@ -302,7 +302,7 @@ public String createAlertmanagerSilences(String silenceJson) throws IOException
302302
.header("Content-Type", "application/json")
303303
.post(RequestBody.create(silenceJson.getBytes(StandardCharsets.UTF_8)))
304304
.build();
305-
Response response = this.alertmanagerHttpClient.newCall(request).execute();
305+
Response response = AccessController.doPrivilegedChecked(() -> this.alertmanagerHttpClient.newCall(request).execute());
306306

307307
if (response.isSuccessful()) {
308308
return Objects.requireNonNull(response.body()).string();

0 commit comments

Comments
 (0)