Struct datadog_api_client::datadogV1::model::model_timeseries_widget_request::TimeseriesWidgetRequest
source · #[non_exhaustive]pub struct TimeseriesWidgetRequest {Show 18 fields
pub apm_query: Option<LogQueryDefinition>,
pub audit_query: Option<LogQueryDefinition>,
pub display_type: Option<WidgetDisplayType>,
pub event_query: Option<LogQueryDefinition>,
pub formulas: Option<Vec<WidgetFormula>>,
pub log_query: Option<LogQueryDefinition>,
pub metadata: Option<Vec<TimeseriesWidgetExpressionAlias>>,
pub network_query: Option<LogQueryDefinition>,
pub on_right_yaxis: Option<bool>,
pub process_query: Option<ProcessQueryDefinition>,
pub profile_metrics_query: Option<LogQueryDefinition>,
pub q: Option<String>,
pub queries: Option<Vec<FormulaAndFunctionQueryDefinition>>,
pub response_format: Option<FormulaAndFunctionResponseFormat>,
pub rum_query: Option<LogQueryDefinition>,
pub security_query: Option<LogQueryDefinition>,
pub style: Option<WidgetRequestStyle>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}Expand description
Updated timeseries widget.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.apm_query: Option<LogQueryDefinition>The log query.
audit_query: Option<LogQueryDefinition>The log query.
display_type: Option<WidgetDisplayType>Type of display to use for the request.
event_query: Option<LogQueryDefinition>The log query.
formulas: Option<Vec<WidgetFormula>>List of formulas that operate on queries.
log_query: Option<LogQueryDefinition>The log query.
metadata: Option<Vec<TimeseriesWidgetExpressionAlias>>Used to define expression aliases.
network_query: Option<LogQueryDefinition>The log query.
on_right_yaxis: Option<bool>Whether or not to display a second y-axis on the right.
process_query: Option<ProcessQueryDefinition>The process query to use in the widget.
profile_metrics_query: Option<LogQueryDefinition>The log query.
q: Option<String>Widget query.
queries: Option<Vec<FormulaAndFunctionQueryDefinition>>List of queries that can be returned directly or used in formulas.
response_format: Option<FormulaAndFunctionResponseFormat>Timeseries, scalar, or event list response. Event list response formats are supported by Geomap widgets.
rum_query: Option<LogQueryDefinition>The log query.
security_query: Option<LogQueryDefinition>The log query.
style: Option<WidgetRequestStyle>Define request widget style.
additional_properties: BTreeMap<String, Value>Implementations§
source§impl TimeseriesWidgetRequest
impl TimeseriesWidgetRequest
sourcepub fn new() -> TimeseriesWidgetRequest
pub fn new() -> TimeseriesWidgetRequest
Examples found in repository?
examples/v1_dashboards_CreateDashboard.rs (line 25)
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
async fn main() {
let body = Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with Profile Metrics Query".to_string(),
vec![Widget::new(WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new().profile_metrics_query(
LogQueryDefinition::new()
.compute(
LogsQueryCompute::new("sum".to_string())
.facet("@prof_core_cpu_cores".to_string()),
)
.group_by(vec![LogQueryDefinitionGroupBy::new("service".to_string())
.limit(10)
.sort(
LogQueryDefinitionGroupBySort::new(
"sum".to_string(),
WidgetSort::DESCENDING,
)
.facet("@prof_core_cpu_cores".to_string()),
)])
.search(LogQueryDefinitionSearch::new("runtime:jvm".to_string())),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)),
))],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_3982498788.rs (line 28)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with timeseries widget".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.on_right_yaxis(false)
.q(
"sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()".to_string(),
)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("warm".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2490110261.rs (line 32)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with Audit Logs Query".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::AUDIT,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
).layout(WidgetLayout::new(2, 4, 2, 0))
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_notebooks_CreateNotebook.rs (line 56)
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
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1284514532.rs (line 38)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_notebooks_UpdateNotebook.rs (line 64)
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
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}Additional examples can be found in:
- examples/v1_dashboards_CreateDashboard_2261785072.rs
- examples/v1_dashboards_CreateDashboard_41622531.rs
- examples/v1_dashboards_CreateDashboard_1307120899.rs
- examples/v1_dashboards_CreateDashboard_985012506.rs
- examples/v1_dashboards_CreateDashboard_2800096921.rs
- examples/v1_dashboards_CreateDashboard_4262729673.rs
- examples/v1_dashboards_CreateDashboard_3451918078.rs
- examples/v1_dashboards_CreateDashboard_3066042014.rs
- examples/v1_dashboards_CreateDashboard_2278756614.rs
pub fn apm_query(self, value: LogQueryDefinition) -> Self
pub fn audit_query(self, value: LogQueryDefinition) -> Self
sourcepub fn display_type(self, value: WidgetDisplayType) -> Self
pub fn display_type(self, value: WidgetDisplayType) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_3982498788.rs (line 29)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with timeseries widget".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.on_right_yaxis(false)
.q(
"sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()".to_string(),
)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("warm".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_notebooks_CreateNotebook.rs (line 57)
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
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1284514532.rs (line 39)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_notebooks_UpdateNotebook.rs (line 65)
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
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2261785072.rs (line 33)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.on_right_yaxis(false)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetric".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES),
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::OVERLAY)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetricoverlay".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("purple".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_41622531.rs (line 40)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with formula style".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(
vec![
WidgetFormula::new(
"query1".to_string(),
).style(
WidgetFormulaStyle::new()
.palette("classic".to_string())
.palette_index(4),
)
],
)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("styled timeseries".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}Additional examples can be found in:
- examples/v1_dashboards_CreateDashboard_1307120899.rs
- examples/v1_dashboards_CreateDashboard_985012506.rs
- examples/v1_dashboards_CreateDashboard_2800096921.rs
- examples/v1_dashboards_CreateDashboard_4262729673.rs
- examples/v1_dashboards_CreateDashboard_3451918078.rs
- examples/v1_dashboards_CreateDashboard_3066042014.rs
- examples/v1_dashboards_CreateDashboard_2278756614.rs
pub fn event_query(self, value: LogQueryDefinition) -> Self
sourcepub fn formulas(self, value: Vec<WidgetFormula>) -> Self
pub fn formulas(self, value: Vec<WidgetFormula>) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_1284514532.rs (line 40)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_41622531.rs (lines 41-51)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with formula style".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(
vec![
WidgetFormula::new(
"query1".to_string(),
).style(
WidgetFormulaStyle::new()
.palette("classic".to_string())
.palette_index(4),
)
],
)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("styled timeseries".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1307120899.rs (line 43)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with ci_tests datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::CI_TESTS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_985012506.rs (line 43)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with incident_analytics datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::INCIDENT_ANALYTICS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2800096921.rs (line 43)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with ci_pipelines datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
).metric("@ci.queue_time".to_string()),
FormulaAndFunctionEventsDataSource::CI_PIPELINES,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"ci_level:job".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_4262729673.rs (line 44)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with legacy live span time".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
).metric("@ci.queue_time".to_string()),
FormulaAndFunctionEventsDataSource::CI_PIPELINES,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"ci_level:job".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(
WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::PAST_FIVE_MINUTES),
),
),
)
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}Additional examples can be found in:
pub fn log_query(self, value: LogQueryDefinition) -> Self
pub fn metadata(self, value: Vec<TimeseriesWidgetExpressionAlias>) -> Self
pub fn network_query(self, value: LogQueryDefinition) -> Self
sourcepub fn on_right_yaxis(self, value: bool) -> Self
pub fn on_right_yaxis(self, value: bool) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_3982498788.rs (line 30)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with timeseries widget".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.on_right_yaxis(false)
.q(
"sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()".to_string(),
)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("warm".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_2261785072.rs (line 34)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.on_right_yaxis(false)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetric".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES),
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::OVERLAY)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetricoverlay".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("purple".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}pub fn process_query(self, value: ProcessQueryDefinition) -> Self
sourcepub fn profile_metrics_query(self, value: LogQueryDefinition) -> Self
pub fn profile_metrics_query(self, value: LogQueryDefinition) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard.rs (lines 25-41)
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
async fn main() {
let body = Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with Profile Metrics Query".to_string(),
vec![Widget::new(WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new().profile_metrics_query(
LogQueryDefinition::new()
.compute(
LogsQueryCompute::new("sum".to_string())
.facet("@prof_core_cpu_cores".to_string()),
)
.group_by(vec![LogQueryDefinitionGroupBy::new("service".to_string())
.limit(10)
.sort(
LogQueryDefinitionGroupBySort::new(
"sum".to_string(),
WidgetSort::DESCENDING,
)
.facet("@prof_core_cpu_cores".to_string()),
)])
.search(LogQueryDefinitionSearch::new("runtime:jvm".to_string())),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)),
))],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}sourcepub fn q(self, value: String) -> Self
pub fn q(self, value: String) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_3982498788.rs (lines 31-33)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with timeseries widget".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.on_right_yaxis(false)
.q(
"sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()".to_string(),
)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("warm".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_notebooks_CreateNotebook.rs (line 58)
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
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_notebooks_UpdateNotebook.rs (line 66)
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
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}sourcepub fn queries(self, value: Vec<FormulaAndFunctionQueryDefinition>) -> Self
pub fn queries(self, value: Vec<FormulaAndFunctionQueryDefinition>) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_2490110261.rs (lines 33-55)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with Audit Logs Query".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::AUDIT,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
).layout(WidgetLayout::new(2, 4, 2, 0))
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_1284514532.rs (lines 41-54)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2261785072.rs (lines 35-48)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.on_right_yaxis(false)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetric".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES),
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::OVERLAY)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetricoverlay".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("purple".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_41622531.rs (lines 52-65)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with formula style".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(
vec![
WidgetFormula::new(
"query1".to_string(),
).style(
WidgetFormulaStyle::new()
.palette("classic".to_string())
.palette_index(4),
)
],
)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("styled timeseries".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1307120899.rs (lines 44-66)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with ci_tests datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::CI_TESTS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_985012506.rs (lines 44-66)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with incident_analytics datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::INCIDENT_ANALYTICS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}sourcepub fn response_format(self, value: FormulaAndFunctionResponseFormat) -> Self
pub fn response_format(self, value: FormulaAndFunctionResponseFormat) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_2490110261.rs (line 56)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with Audit Logs Query".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::AUDIT,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
).layout(WidgetLayout::new(2, 4, 2, 0))
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_1284514532.rs (line 55)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2261785072.rs (line 49)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.on_right_yaxis(false)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetric".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES),
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::OVERLAY)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetricoverlay".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("purple".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_41622531.rs (line 66)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with formula style".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(
vec![
WidgetFormula::new(
"query1".to_string(),
).style(
WidgetFormulaStyle::new()
.palette("classic".to_string())
.palette_index(4),
)
],
)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("styled timeseries".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1307120899.rs (line 67)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with ci_tests datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::CI_TESTS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_985012506.rs (line 67)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with incident_analytics datasource".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionEventQueryDefinition(
Box::new(
FormulaAndFunctionEventQueryDefinition::new(
FormulaAndFunctionEventQueryDefinitionCompute::new(
FormulaAndFunctionEventAggregation::COUNT,
),
FormulaAndFunctionEventsDataSource::INCIDENT_ANALYTICS,
"query1".to_string(),
)
.group_by(vec![])
.indexes(vec!["*".to_string()])
.search(
FormulaAndFunctionEventQueryDefinitionSearch::new(
"test_level:test".to_string(),
),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}pub fn rum_query(self, value: LogQueryDefinition) -> Self
pub fn security_query(self, value: LogQueryDefinition) -> Self
sourcepub fn style(self, value: WidgetRequestStyle) -> Self
pub fn style(self, value: WidgetRequestStyle) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_3982498788.rs (lines 34-39)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with timeseries widget".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.on_right_yaxis(false)
.q(
"sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()".to_string(),
)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("warm".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_notebooks_CreateNotebook.rs (lines 59-64)
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
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_1284514532.rs (lines 56-61)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::BARS)
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionCloudCostQueryDefinition(
Box::new(
FormulaAndFunctionCloudCostQueryDefinition::new(
FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
"query1".to_string(),
"sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.time(
WidgetTime::WidgetLegacyLiveSpan(
Box::new(WidgetLegacyLiveSpan::new().live_span(WidgetLiveSpan::WEEK_TO_DATE)),
),
)
.title("Example Cloud Cost Query".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_notebooks_UpdateNotebook.rs (lines 67-72)
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
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2261785072.rs (lines 67-72)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.on_right_yaxis(false)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetric".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES),
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::OVERLAY)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"mymetricoverlay".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("purple".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
),
),
),
)
],
);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_41622531.rs (lines 67-72)
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
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with formula style".to_string(),
vec![
Widget::new(
WidgetDefinition::TimeseriesWidgetDefinition(
Box::new(
TimeseriesWidgetDefinition::new(
vec![
TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.formulas(
vec![
WidgetFormula::new(
"query1".to_string(),
).style(
WidgetFormulaStyle::new()
.palette("classic".to_string())
.palette_index(4),
)
],
)
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*}".to_string(),
),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::TIMESERIES)
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)
],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.legend_columns(
vec![
TimeseriesWidgetLegendColumn::AVG,
TimeseriesWidgetLegendColumn::MIN,
TimeseriesWidgetLegendColumn::MAX,
TimeseriesWidgetLegendColumn::VALUE,
TimeseriesWidgetLegendColumn::SUM
],
)
.legend_layout(TimeseriesWidgetLegendLayout::AUTO)
.show_legend(true)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("styled timeseries".to_string()),
),
),
)
],
).reflow_type(DashboardReflowType::AUTO);
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}Additional examples can be found in:
- examples/v1_dashboards_CreateDashboard_1307120899.rs
- examples/v1_dashboards_CreateDashboard_985012506.rs
- examples/v1_dashboards_CreateDashboard_2800096921.rs
- examples/v1_dashboards_CreateDashboard_4262729673.rs
- examples/v1_dashboards_CreateDashboard_3451918078.rs
- examples/v1_dashboards_CreateDashboard_3066042014.rs
- examples/v1_dashboards_CreateDashboard_2278756614.rs
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
source§impl Clone for TimeseriesWidgetRequest
impl Clone for TimeseriesWidgetRequest
source§fn clone(&self) -> TimeseriesWidgetRequest
fn clone(&self) -> TimeseriesWidgetRequest
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for TimeseriesWidgetRequest
impl Debug for TimeseriesWidgetRequest
source§impl Default for TimeseriesWidgetRequest
impl Default for TimeseriesWidgetRequest
source§impl<'de> Deserialize<'de> for TimeseriesWidgetRequest
impl<'de> Deserialize<'de> for TimeseriesWidgetRequest
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for TimeseriesWidgetRequest
impl PartialEq for TimeseriesWidgetRequest
source§impl Serialize for TimeseriesWidgetRequest
impl Serialize for TimeseriesWidgetRequest
impl StructuralPartialEq for TimeseriesWidgetRequest
Auto Trait Implementations§
impl Freeze for TimeseriesWidgetRequest
impl RefUnwindSafe for TimeseriesWidgetRequest
impl Send for TimeseriesWidgetRequest
impl Sync for TimeseriesWidgetRequest
impl Unpin for TimeseriesWidgetRequest
impl UnwindSafe for TimeseriesWidgetRequest
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)