Create metric
https://api.datadoghq.com/api/v2/experiments/metricshttps://api.us3.datadoghq.com/api/v2/experiments/metricshttps://api.us5.datadoghq.com/api/v2/experiments/metricshttps://api.datadoghq.eu/api/v2/experiments/metricshttps://api.ap1.datadoghq.com/api/v2/experiments/metricshttps://api.ap2.datadoghq.com/api/v2/experiments/metricshttps://api.uk1.datadoghq.com/api/v2/experiments/metricshttps://api.ddog-gov.com/api/v2/experiments/metricshttps://api.us2.ddog-gov.com/api/v2/experiments/metrics概要
Create a metric. The metric's type is derived from the aggregation shape: a numerator alone is SIMPLE, a numerator with a denominator is RATIO, and a percentile aggregation is PERCENTILE. Warehouse aggregations reference measures by UUID. Property filters use property_id or measure_id UUIDs returned by the same metric SQL model; every reference must belong to the aggregation's data source. The is_certified attribute is rejected. Certification cannot be changed through this endpoint.
OAuth apps require the product_analytics_metrics_write authorization scope to access this endpoint.
リクエスト
Body Data (required)
data [required]Metric resource to create.
attributes [required]Configuration for the new metric. Supply either numerator_aggregation or percentile_aggregation. A denominator_aggregation requires numerator_aggregation. Omit unused aggregation fields; do not send them as null.
Object 1Configuration for a metric calculated from a numerator and an optional denominator. Omit percentile_aggregation. Omit denominator_aggregation when unused.
data_source_type [required]Source of the data backing this metric.
DATADOG, DATADOG_REFERENCE_TABLE, CUSTOMER_WAREHOUSEdenominator_aggregationMeasure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.
Object 1Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureOptional Datadog measure. Use null when the other measure is selected.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
Object 2Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measure [required]Datadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
descriptionDescription of the metric. Send null to leave it unset.
desired_change [required]Direction of change that represents an improvement for this metric.
METRIC_INCREASES, METRIC_DECREASESformat_as_percentWhether results render as a percentage. Defaults to false when omitted.
guardrail_cutoff_thresholdGuardrail cutoff threshold. Send null to leave it unset.
migration_metadataMetadata associated with migration of this resource.
name [required]Name of the metric.
numerator_aggregation [required]Measure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.
Object 1Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureOptional Datadog measure. Use null when the other measure is selected.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
Object 2Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measure [required]Datadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
Object 2Configuration for a percentile metric. Omit numerator_aggregation and denominator_aggregation.
data_source_type [required]Source of the data backing this metric.
DATADOG, DATADOG_REFERENCE_TABLE, CUSTOMER_WAREHOUSEdescriptionDescription of the metric. Send null to leave it unset.
desired_change [required]Direction of change that represents an improvement for this metric.
METRIC_INCREASES, METRIC_DECREASESformat_as_percentWhether results render as a percentage. Defaults to false when omitted.
guardrail_cutoff_thresholdGuardrail cutoff threshold. Send null to leave it unset.
migration_metadataMetadata associated with migration of this resource.
name [required]Name of the metric.
percentile_aggregation [required]Measure and percentile to calculate for the metric. Supply exactly one non-null measure.
Object 1Settings for a percentile aggregation that uses a Warehouse measure. The other measure must be omitted or null.
datadog_metric_measureOptional Datadog percentile measure. Use null when the warehouse measure is selected.
column_name [required]Name of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
percentile [required]Percentile to calculate from the measure values.
property_filtersProperty filters that select data for the percentile calculation.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
Object 2Settings for a percentile aggregation that uses a Datadog measure. The other measure must be omitted or null.
datadog_metric_measure [required]Datadog measure used to calculate a percentile.
column_name [required]Name of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
percentile [required]Percentile to calculate from the measure values.
property_filtersProperty filters that select data for the percentile calculation.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
type [required]The metric resource type.
metricsmetrics{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}応答
Created
Response containing the metric.
data [required]JSON:API resource containing the metric identity and fields.
attributesDetails of the metric.
certified_atTime when this resource was certified.
created_atTime when this resource was created.
data_source_typeSource of the data used to calculate the metric.
DATADOG, DATADOG_REFERENCE_TABLE, CUSTOMER_WAREHOUSE, IMPORTED, UNKNOWNdenominator_aggregationSource measure and aggregation settings for a metric value.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operationAggregation applied to the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
threshold_aggregation_typeAggregation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorComparison applied between the aggregated value and the threshold.
threshold_timeframe_dimensionTime unit used for the threshold evaluation window.
threshold_timeframe_valueSize of the threshold evaluation window.
timeframe_end_valueEnd of the aggregation window in the specified time unit.
timeframe_start_valueStart of the aggregation window in the specified time unit.
timeframe_unitTime unit used for the aggregation window.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
winsor_lower_fixed_valueFixed lower bound used to cap metric values.
winsor_lower_percentilePercentile used to determine the lower bound for capped metric values.
winsor_upper_fixed_valueFixed upper bound used to cap metric values.
winsor_upper_percentilePercentile used to determine the upper bound for capped metric values.
winsorization_strategyMethod used to cap extreme metric values.
descriptionText that explains the metric.
desired_changeDirection of metric change considered desirable.
METRIC_INCREASES, METRIC_DECREASES, UNKNOWNexperiment_countNumber of experiments that reference this resource.
format_as_percentWhether to display the metric value as a percentage.
guardrail_cutoff_thresholdThreshold used when evaluating this metric as a guardrail.
metric_typeType of metric calculation.
SIMPLE, RATIO, PERCENTILE, UNKNOWNmigration_metadataMetadata retained for resources imported from another system.
nameDisplay name of the metric.
numerator_aggregationSource measure and aggregation settings for a metric value.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operationAggregation applied to the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
threshold_aggregation_typeAggregation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorComparison applied between the aggregated value and the threshold.
threshold_timeframe_dimensionTime unit used for the threshold evaluation window.
threshold_timeframe_valueSize of the threshold evaluation window.
timeframe_end_valueEnd of the aggregation window in the specified time unit.
timeframe_start_valueStart of the aggregation window in the specified time unit.
timeframe_unitTime unit used for the aggregation window.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
winsor_lower_fixed_valueFixed lower bound used to cap metric values.
winsor_lower_percentilePercentile used to determine the lower bound for capped metric values.
winsor_upper_fixed_valueFixed upper bound used to cap metric values.
winsor_upper_percentilePercentile used to determine the upper bound for capped metric values.
winsorization_strategyMethod used to cap extreme metric values.
percentile_aggregationSource measure and settings for a percentile metric.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
percentilePercentile calculated from the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
reference_urlURL with supporting information about the metric.
updated_atTime when this resource was last updated.
id [required]ID of the metric.
type [required]The metric resource type.
metricsmetrics{
"data": {
"attributes": {
"created_at": "2024-01-01T12:00:00Z",
"data_source_type": "CUSTOMER_WAREHOUSE",
"description": "Share of sessions that reach the order confirmation page",
"desired_change": "METRIC_INCREASES",
"format_as_percent": true,
"metric_type": "SIMPLE",
"name": "Checkout conversion",
"numerator_aggregation": {
"operation": "sum",
"pipeline_column_suffix": "agg001",
"timeframe_start_value": 0,
"warehouse_metric_measure": {
"id": "550e8400-e29b-41d4-a716-446655440021",
"pipeline_column_suffix": "rev001"
}
},
"reference_url": "",
"updated_at": "2024-01-01T12:00:00Z"
},
"id": "550e8400-e29b-41d4-a716-446655440002",
"type": "metrics"
}
}Malformed body, validation failure, or an aggregation that does not match metric_type.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Missing or invalid authentication.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Caller lacks product_analytics_metrics_write.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Another metric in this organization already uses one of these values.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Request body sent with a media type other than application/json or application/vnd.api+json.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}コード例
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"attributes": {
"name": "ex-14bb9543f523edde",
"data_source_type": "DATADOG",
"desired_change": "METRIC_INCREASES",
"numerator_aggregation": {
"operation": "sum",
"datadog_metric_measure": {
"name": "ex-14bb9543f523edde view duration",
"source_type": "PRODUCT_ANALYTICS",
"source_subtype": "RUM_VIEWS",
"column_type": "double",
"column_name": "@view.time_spent"
}
}
}
}
}
EOF// Create metric returns "Created" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.ExperimentsCreateMetricV2Request{
Data: datadogV2.ExperimentsCreateMetricV2RequestData{
Type: datadogV2.METRICTYPE_METRICS,
Attributes: datadogV2.ExperimentsCreateMetricV2RequestDataAttributes{
ExperimentsCreateMetricNumeratorAttributes: &datadogV2.ExperimentsCreateMetricNumeratorAttributes{
Name: "ex-14bb9543f523edde",
DataSourceType: datadogV2.EXPERIMENTSCREATEMETRICV2REQUESTDATAATTRIBUTESDATASOURCETYPE_DATADOG,
DesiredChange: datadogV2.EXPERIMENTSCREATEMETRICV2REQUESTDATAATTRIBUTESDESIREDCHANGE_METRIC_INCREASES,
NumeratorAggregation: datadogV2.ExperimentsCreateMetricV2RequestDataAttributesNumeratorAggregation{
ExperimentsDatadogMetricAggregationInput: &datadogV2.ExperimentsDatadogMetricAggregationInput{
Operation: "sum",
DatadogMetricMeasure: datadogV2.ExperimentsDatadogMetricMeasureInput{
Name: "ex-14bb9543f523edde view duration",
SourceType: "PRODUCT_ANALYTICS",
SourceSubtype: "RUM_VIEWS",
ColumnType: "double",
ColumnName: datadog.PtrString("@view.time_spent"),
},
}},
}},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewExperimentsApi(apiClient)
resp, r, err := api.CreateMetric(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `ExperimentsApi.CreateMetric`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `ExperimentsApi.CreateMetric`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Create metric returns "Created" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ExperimentsApi;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricNumeratorAttributes;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2Request;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2RequestData;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2RequestDataAttributes;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2RequestDataAttributesDataSourceType;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2RequestDataAttributesDesiredChange;
import com.datadog.api.client.v2.model.ExperimentsCreateMetricV2RequestDataAttributesNumeratorAggregation;
import com.datadog.api.client.v2.model.ExperimentsDatadogMetricAggregationInput;
import com.datadog.api.client.v2.model.ExperimentsDatadogMetricMeasureInput;
import com.datadog.api.client.v2.model.ExperimentsMetricV2DTO;
import com.datadog.api.client.v2.model.MetricType;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
ExperimentsApi apiInstance = new ExperimentsApi(defaultClient);
ExperimentsCreateMetricV2Request body =
new ExperimentsCreateMetricV2Request()
.data(
new ExperimentsCreateMetricV2RequestData()
.type(MetricType.METRICS)
.attributes(
new ExperimentsCreateMetricV2RequestDataAttributes(
new ExperimentsCreateMetricNumeratorAttributes()
.name("ex-14bb9543f523edde")
.dataSourceType(
ExperimentsCreateMetricV2RequestDataAttributesDataSourceType
.DATADOG)
.desiredChange(
ExperimentsCreateMetricV2RequestDataAttributesDesiredChange
.METRIC_INCREASES)
.numeratorAggregation(
new ExperimentsCreateMetricV2RequestDataAttributesNumeratorAggregation(
new ExperimentsDatadogMetricAggregationInput()
.operation("sum")
.datadogMetricMeasure(
new ExperimentsDatadogMetricMeasureInput()
.name("ex-14bb9543f523edde view duration")
.sourceType("PRODUCT_ANALYTICS")
.sourceSubtype("RUM_VIEWS")
.columnType("double")
.columnName("@view.time_spent")))))));
try {
ExperimentsMetricV2DTO result = apiInstance.createMetric(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ExperimentsApi#createMetric");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Create metric returns "Created" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.experiments_api import ExperimentsApi
from datadog_api_client.v2.model.experiments_create_metric_numerator_attributes import (
ExperimentsCreateMetricNumeratorAttributes,
)
from datadog_api_client.v2.model.experiments_create_metric_v2_request import ExperimentsCreateMetricV2Request
from datadog_api_client.v2.model.experiments_create_metric_v2_request_data import ExperimentsCreateMetricV2RequestData
from datadog_api_client.v2.model.experiments_create_metric_v2_request_data_attributes_data_source_type import (
ExperimentsCreateMetricV2RequestDataAttributesDataSourceType,
)
from datadog_api_client.v2.model.experiments_create_metric_v2_request_data_attributes_desired_change import (
ExperimentsCreateMetricV2RequestDataAttributesDesiredChange,
)
from datadog_api_client.v2.model.experiments_datadog_metric_aggregation_input import (
ExperimentsDatadogMetricAggregationInput,
)
from datadog_api_client.v2.model.experiments_datadog_metric_measure_input import ExperimentsDatadogMetricMeasureInput
from datadog_api_client.v2.model.metric_type import MetricType
body = ExperimentsCreateMetricV2Request(
data=ExperimentsCreateMetricV2RequestData(
type=MetricType.METRICS,
attributes=ExperimentsCreateMetricNumeratorAttributes(
name="ex-14bb9543f523edde",
data_source_type=ExperimentsCreateMetricV2RequestDataAttributesDataSourceType.DATADOG,
desired_change=ExperimentsCreateMetricV2RequestDataAttributesDesiredChange.METRIC_INCREASES,
numerator_aggregation=ExperimentsDatadogMetricAggregationInput(
operation="sum",
datadog_metric_measure=ExperimentsDatadogMetricMeasureInput(
name="ex-14bb9543f523edde view duration",
source_type="PRODUCT_ANALYTICS",
source_subtype="RUM_VIEWS",
column_type="double",
column_name="@view.time_spent",
),
),
),
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = ExperimentsApi(api_client)
response = api_instance.create_metric(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Create metric returns "Created" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::ExperimentsAPI.new
body = DatadogAPIClient::V2::ExperimentsCreateMetricV2Request.new({
data: DatadogAPIClient::V2::ExperimentsCreateMetricV2RequestData.new({
type: DatadogAPIClient::V2::MetricType::METRICS,
attributes: DatadogAPIClient::V2::ExperimentsCreateMetricNumeratorAttributes.new({
name: "ex-14bb9543f523edde",
data_source_type: DatadogAPIClient::V2::ExperimentsCreateMetricV2RequestDataAttributesDataSourceType::DATADOG,
desired_change: DatadogAPIClient::V2::ExperimentsCreateMetricV2RequestDataAttributesDesiredChange::METRIC_INCREASES,
numerator_aggregation: DatadogAPIClient::V2::ExperimentsDatadogMetricAggregationInput.new({
operation: "sum",
datadog_metric_measure: DatadogAPIClient::V2::ExperimentsDatadogMetricMeasureInput.new({
name: "ex-14bb9543f523edde view duration",
source_type: "PRODUCT_ANALYTICS",
source_subtype: "RUM_VIEWS",
column_type: "double",
column_name: "@view.time_spent",
}),
}),
}),
}),
})
p api_instance.create_metric(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Create metric returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_experiments::ExperimentsAPI;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricNumeratorAttributes;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2Request;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2RequestData;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2RequestDataAttributes;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2RequestDataAttributesDataSourceType;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2RequestDataAttributesDesiredChange;
use datadog_api_client::datadogV2::model::ExperimentsCreateMetricV2RequestDataAttributesNumeratorAggregation;
use datadog_api_client::datadogV2::model::ExperimentsDatadogMetricAggregationInput;
use datadog_api_client::datadogV2::model::ExperimentsDatadogMetricMeasureInput;
use datadog_api_client::datadogV2::model::MetricType;
#[tokio::main]
async fn main() {
let body =
ExperimentsCreateMetricV2Request::new(
ExperimentsCreateMetricV2RequestData::new(
ExperimentsCreateMetricV2RequestDataAttributes::ExperimentsCreateMetricNumeratorAttributes(
Box::new(
ExperimentsCreateMetricNumeratorAttributes::new(
ExperimentsCreateMetricV2RequestDataAttributesDataSourceType::DATADOG,
ExperimentsCreateMetricV2RequestDataAttributesDesiredChange::METRIC_INCREASES,
"ex-14bb9543f523edde".to_string(),
ExperimentsCreateMetricV2RequestDataAttributesNumeratorAggregation
::ExperimentsDatadogMetricAggregationInput(
Box::new(
ExperimentsDatadogMetricAggregationInput::new(
ExperimentsDatadogMetricMeasureInput::new(
"double".to_string(),
"ex-14bb9543f523edde view duration".to_string(),
"RUM_VIEWS".to_string(),
"PRODUCT_ANALYTICS".to_string(),
).column_name("@view.time_spent".to_string()),
"sum".to_string(),
),
),
),
),
),
),
MetricType::METRICS,
),
);
let configuration = datadog::Configuration::new();
let api = ExperimentsAPI::with_config(configuration);
let resp = api.create_metric(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run