GET https://api.ap1.datadoghq.com/api/v2/metrics/{metric_name}/estimate https://api.ap2.datadoghq.com/api/v2/metrics/{metric_name}/estimate https://api.datadoghq.eu/api/v2/metrics/{metric_name}/estimate https://api.ddog-gov.com/api/v2/metrics/{metric_name}/estimate https://api.us2.ddog-gov.com/api/v2/metrics/{metric_name}/estimate https://api.datadoghq.com/api/v2/metrics/{metric_name}/estimate https://api.us3.datadoghq.com/api/v2/metrics/{metric_name}/estimate https://api.us5.datadoghq.com/api/v2/metrics/{metric_name}/estimate
Overview Returns the estimated cardinality for a metric with a given tag, percentile and number of aggregations configuration using Metrics without Limits™.
Arguments Path Parameters Query Strings Comma-separated list of tag keys that the metric is configured to query with. For example: filter[groups]=app,host.
The number of hours of look back (from now) to estimate cardinality with. If unspecified, it defaults to 0 hours.
Deprecated. Number of aggregations has no impact on volume.
A boolean, for distribution metrics only, to estimate cardinality if the metric includes additional percentile aggregators.
A window, in hours, from the look back to estimate cardinality with. The minimum and default is 1 hour.
Response Success
Response object that includes metric cardinality estimates.
Expand All
Object for a metric cardinality estimate.
Object containing the definition of a metric estimate attribute.
Estimate type based on the queried configuration. By default, count_or_gauge is returned. distribution is returned for distribution metrics without percentiles enabled. Lastly, percentile is returned if filter[pct]=true is queried with a distribution metric.
Allowed enum values: count_or_gauge,distribution,percentile
default: count_or_gauge
Timestamp when the cardinality estimate was requested.
Estimated cardinality of the metric based on the queried configuration.
The metric name for this resource.
The metric estimate resource type.
Allowed enum values: metric_cardinality_estimate
default: metric_cardinality_estimate
{
"data" : {
"attributes" : {
"estimate_type" : "distribution" ,
"estimated_at" : "2022-04-27T09:48:37.463835Z" ,
"estimated_output_series" : 50
},
"id" : "test.metric.latency" ,
"type" : "metric_cardinality_estimate"
}
} API error response.
{
"errors" : [
"Bad Request"
]
} API error response.
{
"errors" : [
"Bad Request"
]
} API error response.
{
"errors" : [
"Bad Request"
]
} Too Many Requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
# Path parameters export metric_name = "dist.http.endpoint.request" # Curl command curl -X GET "https://api.ap1.datadoghq.com "https://api.ap2.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.us2.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v2/metrics/${metric_name}/estimate " \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} "
"""
Tag Configuration Cardinality Estimator returns "Success" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.metrics_api import MetricsApi
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = MetricsApi ( api_client )
response = api_instance . estimate_metrics_output_series (
metric_name = "system.cpu.idle" ,
filter_groups = "app,host" ,
filter_num_aggregations = 4 ,
)
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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
# Tag Configuration Cardinality Estimator returns "Success" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: MetricsAPI . new
opts = {
filter_groups : "app,host" ,
filter_num_aggregations : 4 ,
}
p api_instance . estimate_metrics_output_series ( "system.cpu.idle" , opts )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
// Tag Configuration Cardinality Estimator returns "Success" 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 () {
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewMetricsApi ( apiClient )
resp , r , err := api . EstimateMetricsOutputSeries ( ctx , "system.cpu.idle" , * datadogV2 . NewEstimateMetricsOutputSeriesOptionalParameters (). WithFilterGroups ( "app,host" ). WithFilterNumAggregations ( 4 ))
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `MetricsApi.EstimateMetricsOutputSeries`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `MetricsApi.EstimateMetricsOutputSeries`:\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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
// Tag Configuration Cardinality Estimator returns "Success" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.MetricsApi ;
import com.datadog.api.client.v2.api.MetricsApi.EstimateMetricsOutputSeriesOptionalParameters ;
import com.datadog.api.client.v2.model.MetricEstimateResponse ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
MetricsApi apiInstance = new MetricsApi ( defaultClient );
try {
MetricEstimateResponse result =
apiInstance . estimateMetricsOutputSeries (
"system.cpu.idle" ,
new EstimateMetricsOutputSeriesOptionalParameters ()
. filterGroups ( "app,host" )
. filterNumAggregations ( 4 ));
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling MetricsApi#estimateMetricsOutputSeries" );
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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
// Tag Configuration Cardinality Estimator returns "Success" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_metrics ::EstimateMetricsOutputSeriesOptionalParams ;
use datadog_api_client ::datadogV2 ::api_metrics ::MetricsAPI ;
#[tokio::main]
async fn main () {
let configuration = datadog ::Configuration ::new ();
let api = MetricsAPI ::with_config ( configuration );
let resp = api
. estimate_metrics_output_series (
"system.cpu.idle" . to_string (),
EstimateMetricsOutputSeriesOptionalParams ::default ()
. filter_groups ( "app,host" . to_string ())
. filter_num_aggregations ( 4 ),
)
. 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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" cargo run
/**
* Tag Configuration Cardinality Estimator returns "Success" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . MetricsApi ( configuration );
const params : v2.MetricsApiEstimateMetricsOutputSeriesRequest = {
metricName : "system.cpu.idle" ,
filterGroups : "app,host" ,
filterNumAggregations : 4 ,
};
apiInstance
. estimateMetricsOutputSeries ( params )
. then (( data : v2.MetricEstimateResponse ) => {
console . log (
"API called successfully. Returned data: " + JSON . stringify ( data )
);
})
. catch (( error : any ) => console . error ( error ));
Instructions First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"