Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 88 additions & 3 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1741,6 +1741,9 @@ components:
type: string
markers:
description: List of markers.
example:
- display_type: percentile
value: '90'
items:
$ref: '#/components/schemas/WidgetMarker'
type: array
Expand Down Expand Up @@ -1816,6 +1819,11 @@ components:
$ref: '#/components/schemas/ApmStatsQueryDefinition'
event_query:
$ref: '#/components/schemas/LogQueryDefinition'
formulas:
description: List of formulas that operate on queries.
items:
$ref: '#/components/schemas/WidgetFormula'
type: array
log_query:
$ref: '#/components/schemas/LogQueryDefinition'
network_query:
Expand All @@ -1827,10 +1835,17 @@ components:
q:
description: Widget query.
type: string
queries:
description: List of queries that can be returned directly or used in formulas.
items:
$ref: '#/components/schemas/FormulaAndFunctionQueryDefinition'
type: array
query:
$ref: '#/components/schemas/DistributionWidgetHistogramRequestQuery'
request_type:
$ref: '#/components/schemas/DistributionWidgetHistogramRequestType'
response_format:
$ref: '#/components/schemas/FormulaAndFunctionResponseFormat'
rum_query:
$ref: '#/components/schemas/LogQueryDefinition'
security_query:
Expand All @@ -1854,6 +1869,12 @@ components:
description: Specifies minimum value to show on the x-axis. It takes a number,
percentile (p90 === 90th percentile), or auto for default behavior.
type: string
num_buckets:
description: Number of value buckets to target, aka the resolution of the
value bins.
example: 100
format: int64
type: integer
scale:
default: linear
description: Specifies the scale type. Possible values are `linear`.
Expand Down Expand Up @@ -3714,6 +3735,14 @@ components:
type: array
legend_size:
$ref: '#/components/schemas/WidgetLegendSize'
markers:
description: List of markers.
example:
- display_type: percentile
value: '90'
items:
$ref: '#/components/schemas/WidgetMarker'
type: array
requests:
description: List of widget types.
example:
Expand All @@ -3738,8 +3767,10 @@ components:
type: string
type:
$ref: '#/components/schemas/HeatMapWidgetDefinitionType'
xaxis:
$ref: '#/components/schemas/HeatMapWidgetXAxis'
yaxis:
$ref: '#/components/schemas/WidgetAxis'
$ref: '#/components/schemas/HeatMapWidgetDefinitionYaxis'
required:
- type
- requests
Expand All @@ -3753,6 +3784,10 @@ components:
type: string
x-enum-varnames:
- HEATMAP
HeatMapWidgetDefinitionYaxis:
oneOf:
- $ref: '#/components/schemas/WidgetAxis'
- $ref: '#/components/schemas/HeatMapWidgetYAxis'
HeatMapWidgetRequest:
description: Updated heat map widget.
properties:
Expand Down Expand Up @@ -3781,6 +3816,10 @@ components:
items:
$ref: '#/components/schemas/FormulaAndFunctionQueryDefinition'
type: array
query:
$ref: '#/components/schemas/DistributionWidgetHistogramRequestQuery'
request_type:
$ref: '#/components/schemas/DistributionWidgetHistogramRequestType'
response_format:
$ref: '#/components/schemas/FormulaAndFunctionResponseFormat'
rum_query:
Expand All @@ -3790,6 +3829,49 @@ components:
style:
$ref: '#/components/schemas/WidgetStyle'
type: object
HeatMapWidgetXAxis:
description: X Axis controls for the heat map widget.
properties:
num_buckets:
description: Number of time buckets to target, aka the resolution of the
time bins. This is only applicable for distribution of points (group distributions
use the roll-up modifier).
example: 50
format: int64
type: integer
type: object
HeatMapWidgetYAxis:
description: Y Axis controls for the heat map widget.
properties:
include_zero:
description: Set to `true` to include zero.
type: boolean
label:
description: The label of the axis to display on the graph. Only usable
on Scatterplot Widgets.
type: string
max:
default: auto
description: Specifies maximum numeric value to show on the axis. Defaults
to `auto`.
type: string
min:
default: auto
description: Specifies minimum numeric value to show on the axis. Defaults
to `auto`.
type: string
num_buckets:
description: Number of value buckets to target, aka the resolution of the
value bins.
example: 50
format: int64
type: integer
scale:
default: linear
description: Specifies the scale type. Possible values are `linear`, `log`,
`sqrt`, and `pow##` (for example `pow2` or `pow0.5`).
type: string
type: object
Host:
description: Object representing a host.
properties:
Expand Down Expand Up @@ -25147,7 +25229,7 @@ components:
display_type:
description: "Combination of:\n - A severity error, warning, ok, or info\n
\ - A line type: dashed, solid, or bold\nIn this case of a Distribution
widget, this can be set to be `x_axis_percentile`."
widget, this can be set to be `percentile`."
example: error dashed
type: string
label:
Expand All @@ -25158,8 +25240,11 @@ components:
description: Timestamp for the widget.
type: string
value:
description: Value to apply. Can be a single value y = 15 or a range of
description: 'Value to apply. Can be a single value y = 15 or a range of
values 0 < y < 10.

For Distribution widgets with `display_type` set to `percentile`, this
should be a numeric percentile value (e.g., "90" for P90).'
example: y = 15
type: string
required:
Expand Down
21 changes: 21 additions & 0 deletions docs/datadog_api_client.v1.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1131,13 +1131,34 @@ datadog\_api\_client.v1.model.heat\_map\_widget\_definition\_type module
:members:
:show-inheritance:

datadog\_api\_client.v1.model.heat\_map\_widget\_definition\_yaxis module
-------------------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.heat_map_widget_definition_yaxis
:members:
:show-inheritance:

datadog\_api\_client.v1.model.heat\_map\_widget\_request module
---------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.heat_map_widget_request
:members:
:show-inheritance:

datadog\_api\_client.v1.model.heat\_map\_widget\_x\_axis module
---------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.heat_map_widget_x_axis
:members:
:show-inheritance:

datadog\_api\_client.v1.model.heat\_map\_widget\_y\_axis module
---------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.heat_map_widget_y_axis
:members:
:show-inheritance:

datadog\_api\_client.v1.model.host module
-----------------------------------------

Expand Down
91 changes: 91 additions & 0 deletions examples/v1/dashboards/CreateDashboard_1093147852.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
"""
Create a new dashboard with distribution widget with markers and num_buckets
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
from datadog_api_client.v1.model.dashboard import Dashboard
from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType
from datadog_api_client.v1.model.distribution_widget_definition import DistributionWidgetDefinition
from datadog_api_client.v1.model.distribution_widget_definition_type import DistributionWidgetDefinitionType
from datadog_api_client.v1.model.distribution_widget_request import DistributionWidgetRequest
from datadog_api_client.v1.model.distribution_widget_x_axis import DistributionWidgetXAxis
from datadog_api_client.v1.model.distribution_widget_y_axis import DistributionWidgetYAxis
from datadog_api_client.v1.model.formula_and_function_metric_aggregation import FormulaAndFunctionMetricAggregation
from datadog_api_client.v1.model.formula_and_function_metric_data_source import FormulaAndFunctionMetricDataSource
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
FormulaAndFunctionMetricQueryDefinition,
)
from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat
from datadog_api_client.v1.model.widget import Widget
from datadog_api_client.v1.model.widget_layout import WidgetLayout
from datadog_api_client.v1.model.widget_marker import WidgetMarker
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign

body = Dashboard(
title="Example-Dashboard",
widgets=[
Widget(
definition=DistributionWidgetDefinition(
title="",
title_size="16",
title_align=WidgetTextAlign.LEFT,
type=DistributionWidgetDefinitionType.DISTRIBUTION,
xaxis=DistributionWidgetXAxis(
scale="linear",
min="auto",
max="auto",
include_zero=True,
num_buckets=55,
),
yaxis=DistributionWidgetYAxis(
scale="linear",
min="auto",
max="auto",
include_zero=True,
),
markers=[
WidgetMarker(
display_type="percentile",
value="50",
),
WidgetMarker(
display_type="percentile",
value="99",
),
WidgetMarker(
display_type="percentile",
value="90",
),
],
requests=[
DistributionWidgetRequest(
response_format=FormulaAndFunctionResponseFormat.SCALAR,
queries=[
FormulaAndFunctionMetricQueryDefinition(
data_source=FormulaAndFunctionMetricDataSource.METRICS,
name="query1",
query="avg:system.cpu.user{*} by {service}",
aggregator=FormulaAndFunctionMetricAggregation.AVG,
),
],
),
],
),
layout=WidgetLayout(
x=0,
y=0,
width=4,
height=4,
),
),
],
layout_type=DashboardLayoutType.ORDERED,
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
82 changes: 82 additions & 0 deletions examples/v1/dashboards/CreateDashboard_2823363212.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
"""
Create a new dashboard with heatmap widget with markers and num_buckets
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
from datadog_api_client.v1.model.dashboard import Dashboard
from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType
from datadog_api_client.v1.model.distribution_widget_histogram_request_type import (
DistributionWidgetHistogramRequestType,
)
from datadog_api_client.v1.model.formula_and_function_metric_data_source import FormulaAndFunctionMetricDataSource
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
FormulaAndFunctionMetricQueryDefinition,
)
from datadog_api_client.v1.model.heat_map_widget_definition import HeatMapWidgetDefinition
from datadog_api_client.v1.model.heat_map_widget_definition_type import HeatMapWidgetDefinitionType
from datadog_api_client.v1.model.heat_map_widget_request import HeatMapWidgetRequest
from datadog_api_client.v1.model.heat_map_widget_x_axis import HeatMapWidgetXAxis
from datadog_api_client.v1.model.heat_map_widget_y_axis import HeatMapWidgetYAxis
from datadog_api_client.v1.model.widget import Widget
from datadog_api_client.v1.model.widget_layout import WidgetLayout
from datadog_api_client.v1.model.widget_marker import WidgetMarker
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign

body = Dashboard(
title="Example-Dashboard",
widgets=[
Widget(
definition=HeatMapWidgetDefinition(
title="",
title_size="16",
title_align=WidgetTextAlign.LEFT,
type=HeatMapWidgetDefinitionType.HEATMAP,
xaxis=HeatMapWidgetXAxis(
num_buckets=75,
),
yaxis=HeatMapWidgetYAxis(
scale="linear",
min="auto",
max="auto",
include_zero=True,
num_buckets=55,
),
markers=[
WidgetMarker(
display_type="percentile",
value="50",
),
WidgetMarker(
display_type="percentile",
value="99",
),
],
requests=[
HeatMapWidgetRequest(
request_type=DistributionWidgetHistogramRequestType.HISTOGRAM,
query=FormulaAndFunctionMetricQueryDefinition(
data_source=FormulaAndFunctionMetricDataSource.METRICS,
name="query1",
query="histogram:trace.servlet.request{*}",
),
),
],
),
layout=WidgetLayout(
x=0,
y=0,
width=4,
height=4,
),
),
],
layout_type=DashboardLayoutType.ORDERED,
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
Loading
Loading