Skip to content
Merged
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
101 changes: 101 additions & 0 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7534,6 +7534,104 @@ components:
- data_source
- query
type: object
MonitorFormulaAndFunctionDataQualityDataSource:
description: Data source for data quality queries.
enum:
- data_quality_metrics
example: data_quality_metrics
type: string
x-enum-varnames:
- DATA_QUALITY_METRICS
MonitorFormulaAndFunctionDataQualityMeasure:
description: 'The data quality measure to query. Common values include:

`bytes`, `cardinality`, `custom`, `freshness`, `max`, `mean`, `min`,

`nullness`, `percent_negative`, `percent_zero`, `row_count`, `stddev`,

`sum`, `uniqueness`. Additional values may be supported.'
example: row_count
type: string
MonitorFormulaAndFunctionDataQualityModelTypeOverride:
description: Override for the model type used in anomaly detection.
enum:
- freshness
- percentage
- any
type: string
x-enum-varnames:
- FRESHNESS
- PERCENTAGE
- ANY
MonitorFormulaAndFunctionDataQualityMonitorOptions:
description: Monitor configuration options for data quality queries.
properties:
crontab_override:
description: Crontab expression to override the default schedule.
example: '* * * 10'
type: string
custom_sql:
description: Custom SQL query for the monitor.
example: SELECT COUNT(*) FROM users AS dd_value
type: string
custom_where:
description: Custom WHERE clause for the query.
example: USER_ID = 123
type: string
group_by_columns:
description: Columns to group results by.
example:
- col1
- col2
items:
type: string
type: array
model_type_override:
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityModelTypeOverride'
type: object
MonitorFormulaAndFunctionDataQualityQueryDefinition:
description: A formula and functions data quality query.
properties:
data_source:
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityDataSource'
filter:
description: Filter expression used to match on data entities. Uses Aastra
query syntax.
example: search for column where `database:production AND table:users`
type: string
group_by:
description: Optional grouping fields for aggregation.
example:
- entity_id
items:
type: string
type: array
measure:
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMeasure'
monitor_options:
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMonitorOptions'
name:
description: Name of the query for use in formulas.
example: query1
type: string
schema_version:
description: Schema version for the data quality query.
example: 0.0.1
type: string
scope:
description: 'Optional scoping expression to further filter metrics. Uses
metrics filter syntax.

This is useful when an entity has been configured to emit metrics with
additional tags.'
example: env:production
type: string
required:
- name
- data_source
- measure
- filter
type: object
MonitorFormulaAndFunctionEventAggregation:
description: Aggregation methods for event platform queries.
enum:
Expand Down Expand Up @@ -7685,6 +7783,7 @@ components:
oneOf:
- $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinition'
- $ref: '#/components/schemas/MonitorFormulaAndFunctionCostQueryDefinition'
- $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityQueryDefinition'
MonitorGroupSearchResponse:
description: The response of a monitor group search.
example:
Expand Down Expand Up @@ -8523,6 +8622,7 @@ components:
- database-monitoring alert
- network-performance alert
- cost alert
- data-quality alert
example: query alert
type: string
x-enum-varnames:
Expand All @@ -8545,6 +8645,7 @@ components:
- DATABASE_MONITORING_ALERT
- NETWORK_PERFORMANCE_ALERT
- COST_ALERT
- DATA_QUALITY_ALERT
MonitorUpdateRequest:
description: Object describing a monitor update request.
properties:
Expand Down
59 changes: 59 additions & 0 deletions examples/v1/monitors/CreateMonitor_3626832481.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// Create a Data Quality monitor returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.MonitorsApi;
import com.datadog.api.client.v1.model.Monitor;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionDataQualityDataSource;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionDataQualityQueryDefinition;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionQueryDefinition;
import com.datadog.api.client.v1.model.MonitorOptions;
import com.datadog.api.client.v1.model.MonitorThresholds;
import com.datadog.api.client.v1.model.MonitorType;
import java.util.Arrays;
import java.util.Collections;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);

Monitor body =
new Monitor()
.name("Example-Monitor")
.type(MonitorType.DATA_QUALITY_ALERT)
.query("""
formula("query1").last("5m") > 100
""")
.message("Data quality alert triggered")
.tags(Arrays.asList("test:examplemonitor", "env:ci"))
.priority(3L)
.options(
new MonitorOptions()
.thresholds(new MonitorThresholds().critical(100.0))
.variables(
Collections.singletonList(
new MonitorFormulaAndFunctionQueryDefinition(
new MonitorFormulaAndFunctionDataQualityQueryDefinition()
.name("query1")
.dataSource(
MonitorFormulaAndFunctionDataQualityDataSource
.DATA_QUALITY_METRICS)
.measure("row_count")
.filter(
"search for column where `database:production AND"
+ " table:users`")
.groupBy(Collections.singletonList("entity_id"))))));

try {
Monitor result = apiInstance.createMonitor(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#createMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2019-Present Datadog, Inc.
*/

package com.datadog.api.client.v1.model;

import com.datadog.api.client.ModelEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

/** Data source for data quality queries. */
@JsonSerialize(
using =
MonitorFormulaAndFunctionDataQualityDataSource
.MonitorFormulaAndFunctionDataQualityDataSourceSerializer.class)
public class MonitorFormulaAndFunctionDataQualityDataSource extends ModelEnum<String> {

private static final Set<String> allowedValues =
new HashSet<String>(Arrays.asList("data_quality_metrics"));

public static final MonitorFormulaAndFunctionDataQualityDataSource DATA_QUALITY_METRICS =
new MonitorFormulaAndFunctionDataQualityDataSource("data_quality_metrics");

MonitorFormulaAndFunctionDataQualityDataSource(String value) {
super(value, allowedValues);
}

public static class MonitorFormulaAndFunctionDataQualityDataSourceSerializer
extends StdSerializer<MonitorFormulaAndFunctionDataQualityDataSource> {
public MonitorFormulaAndFunctionDataQualityDataSourceSerializer(
Class<MonitorFormulaAndFunctionDataQualityDataSource> t) {
super(t);
}

public MonitorFormulaAndFunctionDataQualityDataSourceSerializer() {
this(null);
}

@Override
public void serialize(
MonitorFormulaAndFunctionDataQualityDataSource value,
JsonGenerator jgen,
SerializerProvider provider)
throws IOException, JsonProcessingException {
jgen.writeObject(value.value);
}
}

@JsonCreator
public static MonitorFormulaAndFunctionDataQualityDataSource fromValue(String value) {
return new MonitorFormulaAndFunctionDataQualityDataSource(value);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2019-Present Datadog, Inc.
*/

package com.datadog.api.client.v1.model;

import com.datadog.api.client.ModelEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

/** Override for the model type used in anomaly detection. */
@JsonSerialize(
using =
MonitorFormulaAndFunctionDataQualityModelTypeOverride
.MonitorFormulaAndFunctionDataQualityModelTypeOverrideSerializer.class)
public class MonitorFormulaAndFunctionDataQualityModelTypeOverride extends ModelEnum<String> {

private static final Set<String> allowedValues =
new HashSet<String>(Arrays.asList("freshness", "percentage", "any"));

public static final MonitorFormulaAndFunctionDataQualityModelTypeOverride FRESHNESS =
new MonitorFormulaAndFunctionDataQualityModelTypeOverride("freshness");
public static final MonitorFormulaAndFunctionDataQualityModelTypeOverride PERCENTAGE =
new MonitorFormulaAndFunctionDataQualityModelTypeOverride("percentage");
public static final MonitorFormulaAndFunctionDataQualityModelTypeOverride ANY =
new MonitorFormulaAndFunctionDataQualityModelTypeOverride("any");

MonitorFormulaAndFunctionDataQualityModelTypeOverride(String value) {
super(value, allowedValues);
}

public static class MonitorFormulaAndFunctionDataQualityModelTypeOverrideSerializer
extends StdSerializer<MonitorFormulaAndFunctionDataQualityModelTypeOverride> {
public MonitorFormulaAndFunctionDataQualityModelTypeOverrideSerializer(
Class<MonitorFormulaAndFunctionDataQualityModelTypeOverride> t) {
super(t);
}

public MonitorFormulaAndFunctionDataQualityModelTypeOverrideSerializer() {
this(null);
}

@Override
public void serialize(
MonitorFormulaAndFunctionDataQualityModelTypeOverride value,
JsonGenerator jgen,
SerializerProvider provider)
throws IOException, JsonProcessingException {
jgen.writeObject(value.value);
}
}

@JsonCreator
public static MonitorFormulaAndFunctionDataQualityModelTypeOverride fromValue(String value) {
return new MonitorFormulaAndFunctionDataQualityModelTypeOverride(value);
}
}
Loading
Loading