-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathCreateDashboard_1712853070.java
More file actions
113 lines (109 loc) · 6.67 KB
/
CreateDashboard_1712853070.java
File metadata and controls
113 lines (109 loc) · 6.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// Create a new dashboard with bar_chart widget
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.DashboardsApi;
import com.datadog.api.client.v1.model.BarChartWidgetDefinition;
import com.datadog.api.client.v1.model.BarChartWidgetDefinitionType;
import com.datadog.api.client.v1.model.BarChartWidgetDisplay;
import com.datadog.api.client.v1.model.BarChartWidgetLegend;
import com.datadog.api.client.v1.model.BarChartWidgetRequest;
import com.datadog.api.client.v1.model.BarChartWidgetScaling;
import com.datadog.api.client.v1.model.BarChartWidgetStacked;
import com.datadog.api.client.v1.model.BarChartWidgetStackedType;
import com.datadog.api.client.v1.model.BarChartWidgetStyle;
import com.datadog.api.client.v1.model.Dashboard;
import com.datadog.api.client.v1.model.DashboardLayoutType;
import com.datadog.api.client.v1.model.FormulaAndFunctionMetricAggregation;
import com.datadog.api.client.v1.model.FormulaAndFunctionMetricDataSource;
import com.datadog.api.client.v1.model.FormulaAndFunctionMetricQueryDefinition;
import com.datadog.api.client.v1.model.FormulaAndFunctionQueryDefinition;
import com.datadog.api.client.v1.model.FormulaAndFunctionResponseFormat;
import com.datadog.api.client.v1.model.FormulaType;
import com.datadog.api.client.v1.model.Widget;
import com.datadog.api.client.v1.model.WidgetDefinition;
import com.datadog.api.client.v1.model.WidgetFormula;
import com.datadog.api.client.v1.model.WidgetFormulaSort;
import com.datadog.api.client.v1.model.WidgetLayout;
import com.datadog.api.client.v1.model.WidgetLegacyLiveSpan;
import com.datadog.api.client.v1.model.WidgetSort;
import com.datadog.api.client.v1.model.WidgetSortBy;
import com.datadog.api.client.v1.model.WidgetSortOrderBy;
import com.datadog.api.client.v1.model.WidgetTextAlign;
import com.datadog.api.client.v1.model.WidgetTime;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
DashboardsApi apiInstance = new DashboardsApi(defaultClient);
Dashboard body =
new Dashboard()
.title("Example-Dashboard")
.description("")
.widgets(
Collections.singletonList(
new Widget()
.layout(new WidgetLayout().x(0L).y(0L).width(47L).height(15L))
.definition(
new WidgetDefinition(
new BarChartWidgetDefinition()
.title("")
.titleSize("16")
.titleAlign(WidgetTextAlign.LEFT)
.time(new WidgetTime(new WidgetLegacyLiveSpan()))
.style(
new BarChartWidgetStyle()
.display(
new BarChartWidgetDisplay(
new BarChartWidgetStacked()
.type(BarChartWidgetStackedType.STACKED)
.legend(BarChartWidgetLegend.INLINE)))
.scaling(BarChartWidgetScaling.RELATIVE)
.palette("dog_classic"))
.type(BarChartWidgetDefinitionType.BAR_CHART)
.requests(
Collections.singletonList(
new BarChartWidgetRequest()
.queries(
Collections.singletonList(
new FormulaAndFunctionQueryDefinition(
new FormulaAndFunctionMetricQueryDefinition()
.dataSource(
FormulaAndFunctionMetricDataSource
.METRICS)
.name("query1")
.query(
"avg:system.cpu.user{*} by"
+ " {service}")
.aggregator(
FormulaAndFunctionMetricAggregation
.AVG))))
.formulas(
Collections.singletonList(
new WidgetFormula().formula("query1")))
.sort(
new WidgetSortBy()
.count(10L)
.orderBy(
Collections.singletonList(
new WidgetSortOrderBy(
new WidgetFormulaSort()
.type(FormulaType.FORMULA)
.index(0L)
.order(
WidgetSort
.DESCENDING)))))
.responseFormat(
FormulaAndFunctionResponseFormat.SCALAR)))))))
.layoutType(DashboardLayoutType.FREE);
try {
Dashboard result = apiInstance.createDashboard(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling DashboardsApi#createDashboard");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}