@@ -44,44 +44,44 @@ An authenticated client is required to query Logs or Metrics. The library includ
44
44
45
45
#### Synchronous clients
46
46
47
- <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L39-L41 -->
47
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L40-L42 -->
48
48
``` java
49
- public void createLogsClients() {
50
- LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ( )
51
- .credential( new DefaultAzureCredentialBuilder () . build())
49
+ LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
50
+ .credential( new DefaultAzureCredentialBuilder () . build() )
51
+ .buildClient();
52
52
```
53
53
54
54
### Create Logs query async client
55
55
56
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L43 - L45 -- >
56
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L44-L46 -->
57
57
``` java
58
-
59
58
LogsQueryAsyncClient logsQueryAsyncClient = new LogsQueryClientBuilder ()
60
59
.credential(new DefaultAzureCredentialBuilder (). build())
60
+ .buildAsyncClient();
61
61
```
62
62
### Create Metrics query client
63
63
64
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L52 - L54 -- >
64
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L53-L55 -->
65
65
``` java
66
- public void createMetricsClients() {
67
- MetricsQueryClient metricsQueryClient = new MetricsQueryClientBuilder ( )
68
- .credential( new DefaultAzureCredentialBuilder () . build())
66
+ MetricsQueryClient metricsQueryClient = new MetricsQueryClientBuilder ()
67
+ .credential( new DefaultAzureCredentialBuilder () . build() )
68
+ .buildClient();
69
69
```
70
70
71
71
#### Asynchronous clients
72
72
73
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L43 - L45 -- >
73
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L44-L46 -->
74
74
``` java
75
75
LogsQueryAsyncClient logsQueryAsyncClient = new LogsQueryClientBuilder ()
76
76
.credential(new DefaultAzureCredentialBuilder (). build())
77
77
.buildAsyncClient();
78
78
```
79
79
80
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L56 - L58 -- >
80
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L57-L59 -->
81
81
``` java
82
-
83
82
MetricsQueryAsyncClient metricsQueryAsyncClient = new MetricsQueryClientBuilder ()
84
83
.credential(new DefaultAzureCredentialBuilder (). build())
84
+ .buildAsyncClient();
85
85
```
86
86
87
87
### Execute the query
@@ -120,50 +120,50 @@ Each set of metric values is a time series with the following characteristics:
120
120
121
121
### Logs query
122
122
123
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L65 - L74 -- >
123
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L66-L75 -->
124
124
``` java
125
- ic void queryLogs() {
126
125
LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
127
126
.credential(new DefaultAzureCredentialBuilder (). build())
128
127
.buildClient();
129
128
130
- LogsQueryResult queryResults = logsQueryClient. query (" {workspace-id}" , " {kusto-query}" ,
129
+ LogsQueryResult queryResults = logsQueryClient. queryWorkspace (" {workspace-id}" , " {kusto-query}" ,
131
130
new QueryTimeInterval (Duration . ofDays(2 )));
132
131
133
132
for (LogsTableRow row : queryResults. getTable(). getRows()) {
134
133
System . out. println(row. getColumnValue(" OperationName" ) + " " + row. getColumnValue(" ResourceGroup" ));
134
+ }
135
135
```
136
136
137
137
#### Map logs query results to a model
138
138
139
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L80 - L91 -- >
139
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L81-L92 -->
140
140
``` java
141
+ public class CustomLogModel {
142
+ private String resourceGroup;
143
+ private String operationName;
141
144
142
- ic class CustomLogModel {
143
- private String resourceGroup;
144
- private String operationName;
145
-
146
- public String getResourceGroup () {
147
- return resourceGroup;
148
- }
145
+ public String getResourceGroup () {
146
+ return resourceGroup;
147
+ }
149
148
150
- public String getOperationName () {
151
- return operationName;
149
+ public String getOperationName () {
150
+ return operationName;
151
+ }
152
152
}
153
153
```
154
154
155
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L97 - L106 -- >
155
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L98-L107 -->
156
156
``` java
157
- ic void queryLogsAsModel () {
158
157
LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
159
158
.credential(new DefaultAzureCredentialBuilder (). build())
160
159
.buildClient();
161
160
162
- List<CustomLogModel > customLogModels = logsQueryClient. query (" {workspace-id}" , " {kusto-query}" ,
161
+ List<CustomLogModel > customLogModels = logsQueryClient. queryWorkspace (" {workspace-id}" , " {kusto-query}" ,
163
162
new QueryTimeInterval (Duration . ofDays(2 )), CustomLogModel . class);
164
163
165
164
for (CustomLogModel customLogModel : customLogModels) {
166
165
System . out. println(customLogModel. getOperationName() + " " + customLogModel. getResourceGroup());
166
+ }
167
167
```
168
168
169
169
#### Handle logs query response
@@ -189,17 +189,16 @@ LogsQueryResult / LogsBatchQueryResult
189
189
190
190
### Batch logs query
191
191
192
- <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L113-L138 -->
192
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L114-L139 -->
193
193
``` java
194
- ic void queryBatch() {
195
194
LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
196
195
.credential(new DefaultAzureCredentialBuilder (). build())
197
196
.buildClient();
198
197
199
198
LogsBatchQuery logsBatchQuery = new LogsBatchQuery ();
200
- String query1 = logsBatchQuery.addQuery ("{workspace-id}", "{query-1}", new QueryTimeInterval(Duration.ofDays(2)));
201
- String query2 = logsBatchQuery.addQuery ("{workspace-id}", "{query-2}", new QueryTimeInterval(Duration.ofDays(30)));
202
- String query3 = logsBatchQuery.addQuery ("{workspace-id}", "{query-3}", new QueryTimeInterval(Duration.ofDays(10)));
199
+ String query1 = logsBatchQuery. addWorkspaceQuery (" {workspace-id}" , " {query-1}" , new QueryTimeInterval (Duration . ofDays(2 )));
200
+ String query2 = logsBatchQuery. addWorkspaceQuery (" {workspace-id}" , " {query-2}" , new QueryTimeInterval (Duration . ofDays(30 )));
201
+ String query3 = logsBatchQuery. addWorkspaceQuery (" {workspace-id}" , " {query-3}" , new QueryTimeInterval (Duration . ofDays(10 )));
203
202
204
203
LogsBatchQueryResultCollection batchResults = logsQueryClient
205
204
.queryBatchWithResponse(logsBatchQuery, Context . NONE ). getValue();
@@ -217,15 +216,15 @@ for (CustomLogModel customLogModel : customLogModels) {
217
216
LogsBatchQueryResult query3Result = batchResults. getResult(query3);
218
217
if (query3Result. getQueryResultStatus() == LogsQueryResultStatus . FAILURE ) {
219
218
System . out. println(query3Result. getError(). getMessage());
219
+ }
220
220
```
221
221
222
222
### Advanced logs query scenarios
223
223
224
224
#### Set logs query timeout
225
225
226
- <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L146-L155 -->
226
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L147-L156 -->
227
227
``` java
228
- ic void getLogsWithServerTimeout() {
229
228
LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
230
229
.credential(new DefaultAzureCredentialBuilder (). build())
231
230
.buildClient();
@@ -234,7 +233,8 @@ LogsQueryClient logsQueryClient = new LogsQueryClientBuilder()
234
233
LogsQueryOptions options = new LogsQueryOptions ()
235
234
.setServerTimeout(Duration . ofMinutes(10 ));
236
235
237
- Response<LogsQueryResult> response = logsQueryClient.queryWithResponse("{workspace-id}",
236
+ Response<LogsQueryResult > response = logsQueryClient. queryWorkspaceWithResponse(" {workspace-id}" ,
237
+ " {kusto-query}" , new QueryTimeInterval (Duration . ofDays(2 )), options, Context . NONE );
238
238
```
239
239
240
240
#### Query multiple workspaces
@@ -246,17 +246,17 @@ workspace from which it was retrieved. To identify the workspace of a row in the
246
246
"TenantId" column in the result table. If this column is not in the table, then you may have to update your query string
247
247
to include this column.
248
248
249
- <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L162-L170 -->
249
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L163-L171 -->
250
250
``` java
251
- ic void getLogsQueryFromMultipleWorkspaces() {
252
251
LogsQueryClient logsQueryClient = new LogsQueryClientBuilder ()
253
252
.credential(new DefaultAzureCredentialBuilder (). build())
254
253
.buildClient();
255
254
256
- Response<LogsQueryResult> response = logsQueryClient.queryWithResponse ("{workspace-id}", "{kusto-query}",
255
+ Response<LogsQueryResult > response = logsQueryClient. queryWorkspaceWithResponse (" {workspace-id}" , " {kusto-query}" ,
257
256
new QueryTimeInterval (Duration . ofDays(2 )), new LogsQueryOptions ()
258
257
.setAdditionalWorkspaces(Arrays . asList(" {additional-workspace-identifiers}" )),
259
258
Context . NONE );
259
+ LogsQueryResult result = response. getValue();
260
260
```
261
261
262
262
### Metrics query
@@ -267,14 +267,13 @@ A resource ID, as denoted by the `{resource-id}` placeholder in the sample below
267
267
2 . From the ** Overview** blade, select the ** JSON View** link.
268
268
3 . In the resulting JSON, copy the value of the ` id ` property.
269
269
270
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L178 - L193 -- >
270
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L179-L194 -->
271
271
``` java
272
- ic void getMetrics() {
273
272
MetricsQueryClient metricsQueryClient = new MetricsQueryClientBuilder ()
274
273
.credential(new DefaultAzureCredentialBuilder (). build())
275
274
.buildClient();
276
275
277
- MetricsQueryResult metricsQueryResult = metricsQueryClient. query (" {resource-uri}" ,
276
+ MetricsQueryResult metricsQueryResult = metricsQueryClient. queryResource (" {resource-uri}" ,
278
277
Arrays . asList(" SuccessfulCalls" , " TotalCalls" ));
279
278
280
279
for (MetricResult metric : metricsQueryResult. getMetrics()) {
@@ -285,6 +284,7 @@ for (MetricResult metric : metricsQueryResult.getMetrics()) {
285
284
System . out. println(metricValue. getTimeStamp() + " " + metricValue. getTotal());
286
285
}
287
286
}
287
+ }
288
288
```
289
289
290
290
#### Handle metrics query response
@@ -316,15 +316,14 @@ MetricsQueryResult
316
316
317
317
#### Get average and count metrics
318
318
319
- < ! -- embedme . / src/ samples/ java/ com/ azure/ monitor/ query/ ReadmeSamples . java#L200 - L221 -- >
319
+ <!-- embedme ./src/samples/java/com/azure/monitor/query/ReadmeSamples.java#L201-L222 -->
320
320
``` java
321
- ic void getMetricsWithOptions() {
322
321
MetricsQueryClient metricsQueryClient = new MetricsQueryClientBuilder ()
323
322
.credential(new DefaultAzureCredentialBuilder (). build())
324
323
.buildClient();
325
324
326
325
Response<MetricsQueryResult > metricsResponse = metricsQueryClient
327
- .queryWithResponse (" {resource-id}" , Arrays . asList(" SuccessfulCalls" , " TotalCalls" ),
326
+ .queryResourceWithResponse (" {resource-id}" , Arrays . asList(" SuccessfulCalls" , " TotalCalls" ),
328
327
new MetricsQueryOptions ()
329
328
.setGranularity(Duration . ofHours(1 ))
330
329
.setAggregations(Arrays . asList(AggregationType . AVERAGE , AggregationType . COUNT )),
@@ -340,6 +339,7 @@ for (MetricResult metric : metricsQueryResult.getMetrics()) {
340
339
System . out. println(metricValue. getTimeStamp() + " " + metricValue. getTotal());
341
340
}
342
341
}
342
+ }
343
343
```
344
344
345
345
## Troubleshooting
0 commit comments