Create a retention filter

POST https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filtershttps://api.ap2.datadoghq.com/api/v2/apm/config/retention-filtershttps://api.datadoghq.eu/api/v2/apm/config/retention-filtershttps://api.ddog-gov.com/api/v2/apm/config/retention-filtershttps://api.us2.ddog-gov.com/api/v2/apm/config/retention-filtershttps://api.uk1.datadoghq.com/api/v2/apm/config/retention-filtershttps://api.datadoghq.com/api/v2/apm/config/retention-filtershttps://api.us3.datadoghq.com/api/v2/apm/config/retention-filtershttps://api.us5.datadoghq.com/api/v2/apm/config/retention-filters

Présentation

Créez un filtre de rétention pour indexer les spans dans votre organisation. Renvoyez la définition du filtre de rétention lorsque la requête aboutit.

Les filtres par défaut de type spans-errors-sampling-processor et spans-appsec-sampling-processor ne peuvent pas être créés.

This endpoint requires the apm_retention_filter_write permission.

Requête

Body Data (required)

La définition du nouveau filtre de rétention.

Expand All

Champ

Type

Description

data [required]

object

The body of the retention filter to be created.

attributes [required]

object

The object describing the configuration of the retention filter to create/update.

enabled [required]

boolean

Enable/Disable the retention filter.

filter [required]

object

The spans filter. Spans matching this filter will be indexed and stored.

query [required]

string

The search query - following the span search syntax.

filter_type [required]

enum

The type of retention filter. The value should always be spans-sampling-processor. Allowed enum values: spans-sampling-processor

default: spans-sampling-processor

name [required]

string

The name of the retention filter.

rate [required]

double

Sample rate to apply to spans going through this retention filter. A value of 1.0 keeps all spans matching the query.

trace_rate

double

Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query.

type [required]

enum

The type of the resource. Allowed enum values: apm_retention_filter

default: apm_retention_filter

{
  "data": {
    "attributes": {
      "enabled": true,
      "filter": {
        "query": "@http.status_code:200 service:my-service"
      },
      "filter_type": "spans-sampling-processor",
      "name": "my retention filter",
      "rate": 1.0
    },
    "type": "apm_retention_filter"
  }
}
{
  "data": {
    "attributes": {
      "enabled": true,
      "filter": {
        "query": "@http.status_code:200 service:my-service"
      },
      "filter_type": "spans-sampling-processor",
      "name": "my retention filter",
      "rate": 1.0,
      "trace_rate": 1.0
    },
    "type": "apm_retention_filter"
  }
}

Réponse

OK

The retention filters definition.

Expand All

Champ

Type

Description

data

object

The definition of the retention filter.

attributes [required]

object

The attributes of the retention filter.

created_at

int64

The creation timestamp of the retention filter.

created_by

string

The creator of the retention filter.

editable

boolean

Shows whether the filter can be edited.

enabled

boolean

The status of the retention filter (Enabled/Disabled).

execution_order

int64

The execution order of the retention filter.

filter

object

The spans filter used to index spans.

query

string

The search query - following the span search syntax.

filter_type

enum

The type of retention filter. The value should always be spans-sampling-processor. Allowed enum values: spans-sampling-processor

default: spans-sampling-processor

modified_at

int64

The modification timestamp of the retention filter.

modified_by

string

The modifier of the retention filter.

name

string

The name of the retention filter.

rate

double

Sample rate to apply to spans going through this retention filter. A value of 1.0 keeps all spans matching the query.

trace_rate

double

Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query.

id [required]

string

The ID of the retention filter.

type [required]

enum

The type of the resource. Allowed enum values: apm_retention_filter

default: apm_retention_filter

{
  "data": {
    "attributes": {
      "created_at": "integer",
      "created_by": "string",
      "editable": true,
      "enabled": true,
      "execution_order": "integer",
      "filter": {
        "query": "@http.status_code:200 service:my-service"
      },
      "filter_type": "spans-sampling-processor",
      "modified_at": "integer",
      "modified_by": "string",
      "name": "my retention filter",
      "rate": 1,
      "trace_rate": 1
    },
    "id": "7RBOb7dLSYWI01yc3pIH8w",
    "type": "apm_retention_filter"
  }
}

Bad Request

API error response.

Expand All

Champ

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Not Authorized

API error response.

Expand All

Champ

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Conflict

API error response.

Expand All

Champ

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Too many requests

API error response.

Expand All

Champ

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Exemple de code

                          ## default
# 

# Curl command
curl -X POST "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.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "enabled": true, "filter": { "query": "@http.status_code:200 service:my-service" }, "filter_type": "spans-sampling-processor", "name": "my retention filter", "rate": 1, "trace_rate": 1 }, "type": "apm_retention_filter" } } EOF
                          ## default
# 

# Curl command
curl -X POST "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.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "enabled": true, "filter": { "query": "@http.status_code:200 service:my-service" }, "filter_type": "spans-sampling-processor", "name": "my retention filter", "rate": 1, "trace_rate": 1 }, "type": "apm_retention_filter" } } EOF
// Create a retention filter returns "OK" 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.RetentionFilterCreateRequest{
		Data: datadogV2.RetentionFilterCreateData{
			Attributes: datadogV2.RetentionFilterCreateAttributes{
				Enabled: true,
				Filter: datadogV2.SpansFilterCreate{
					Query: "@http.status_code:200 service:my-service",
				},
				FilterType: datadogV2.RETENTIONFILTERTYPE_SPANS_SAMPLING_PROCESSOR,
				Name:       "my retention filter",
				Rate:       1.0,
			},
			Type: datadogV2.APMRETENTIONFILTERTYPE_apm_retention_filter,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
	resp, r, err := api.CreateApmRetentionFilter(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.CreateApmRetentionFilter`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `APMRetentionFiltersApi.CreateApmRetentionFilter`:\n%s\n", responseContent)
}
// Create a retention filter with trace rate returns "OK" 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.RetentionFilterCreateRequest{
		Data: datadogV2.RetentionFilterCreateData{
			Attributes: datadogV2.RetentionFilterCreateAttributes{
				Enabled: true,
				Filter: datadogV2.SpansFilterCreate{
					Query: "@http.status_code:200 service:my-service",
				},
				FilterType: datadogV2.RETENTIONFILTERTYPE_SPANS_SAMPLING_PROCESSOR,
				Name:       "my retention filter",
				Rate:       1.0,
				TraceRate:  datadog.PtrFloat64(1.0),
			},
			Type: datadogV2.APMRETENTIONFILTERTYPE_apm_retention_filter,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
	resp, r, err := api.CreateApmRetentionFilter(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.CreateApmRetentionFilter`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `APMRetentionFiltersApi.CreateApmRetentionFilter`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Create a retention filter returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ApmRetentionFiltersApi;
import com.datadog.api.client.v2.model.ApmRetentionFilterType;
import com.datadog.api.client.v2.model.RetentionFilterCreateAttributes;
import com.datadog.api.client.v2.model.RetentionFilterCreateData;
import com.datadog.api.client.v2.model.RetentionFilterCreateRequest;
import com.datadog.api.client.v2.model.RetentionFilterCreateResponse;
import com.datadog.api.client.v2.model.RetentionFilterType;
import com.datadog.api.client.v2.model.SpansFilterCreate;

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

    RetentionFilterCreateRequest body =
        new RetentionFilterCreateRequest()
            .data(
                new RetentionFilterCreateData()
                    .attributes(
                        new RetentionFilterCreateAttributes()
                            .enabled(true)
                            .filter(
                                new SpansFilterCreate()
                                    .query("@http.status_code:200 service:my-service"))
                            .filterType(RetentionFilterType.SPANS_SAMPLING_PROCESSOR)
                            .name("my retention filter")
                            .rate(1.0))
                    .type(ApmRetentionFilterType.apm_retention_filter));

    try {
      RetentionFilterCreateResponse result = apiInstance.createApmRetentionFilter(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling ApmRetentionFiltersApi#createApmRetentionFilter");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
// Create a retention filter with trace rate returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ApmRetentionFiltersApi;
import com.datadog.api.client.v2.model.ApmRetentionFilterType;
import com.datadog.api.client.v2.model.RetentionFilterCreateAttributes;
import com.datadog.api.client.v2.model.RetentionFilterCreateData;
import com.datadog.api.client.v2.model.RetentionFilterCreateRequest;
import com.datadog.api.client.v2.model.RetentionFilterCreateResponse;
import com.datadog.api.client.v2.model.RetentionFilterType;
import com.datadog.api.client.v2.model.SpansFilterCreate;

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

    RetentionFilterCreateRequest body =
        new RetentionFilterCreateRequest()
            .data(
                new RetentionFilterCreateData()
                    .attributes(
                        new RetentionFilterCreateAttributes()
                            .enabled(true)
                            .filter(
                                new SpansFilterCreate()
                                    .query("@http.status_code:200 service:my-service"))
                            .filterType(RetentionFilterType.SPANS_SAMPLING_PROCESSOR)
                            .name("my retention filter")
                            .rate(1.0)
                            .traceRate(1.0))
                    .type(ApmRetentionFilterType.apm_retention_filter));

    try {
      RetentionFilterCreateResponse result = apiInstance.createApmRetentionFilter(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling ApmRetentionFiltersApi#createApmRetentionFilter");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
"""
Create a retention filter returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.apm_retention_filters_api import APMRetentionFiltersApi
from datadog_api_client.v2.model.apm_retention_filter_type import ApmRetentionFilterType
from datadog_api_client.v2.model.retention_filter_create_attributes import RetentionFilterCreateAttributes
from datadog_api_client.v2.model.retention_filter_create_data import RetentionFilterCreateData
from datadog_api_client.v2.model.retention_filter_create_request import RetentionFilterCreateRequest
from datadog_api_client.v2.model.retention_filter_type import RetentionFilterType
from datadog_api_client.v2.model.spans_filter_create import SpansFilterCreate

body = RetentionFilterCreateRequest(
    data=RetentionFilterCreateData(
        attributes=RetentionFilterCreateAttributes(
            enabled=True,
            filter=SpansFilterCreate(
                query="@http.status_code:200 service:my-service",
            ),
            filter_type=RetentionFilterType.SPANS_SAMPLING_PROCESSOR,
            name="my retention filter",
            rate=1.0,
        ),
        type=ApmRetentionFilterType.apm_retention_filter,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = APMRetentionFiltersApi(api_client)
    response = api_instance.create_apm_retention_filter(body=body)

    print(response)
"""
Create a retention filter with trace rate returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.apm_retention_filters_api import APMRetentionFiltersApi
from datadog_api_client.v2.model.apm_retention_filter_type import ApmRetentionFilterType
from datadog_api_client.v2.model.retention_filter_create_attributes import RetentionFilterCreateAttributes
from datadog_api_client.v2.model.retention_filter_create_data import RetentionFilterCreateData
from datadog_api_client.v2.model.retention_filter_create_request import RetentionFilterCreateRequest
from datadog_api_client.v2.model.retention_filter_type import RetentionFilterType
from datadog_api_client.v2.model.spans_filter_create import SpansFilterCreate

body = RetentionFilterCreateRequest(
    data=RetentionFilterCreateData(
        attributes=RetentionFilterCreateAttributes(
            enabled=True,
            filter=SpansFilterCreate(
                query="@http.status_code:200 service:my-service",
            ),
            filter_type=RetentionFilterType.SPANS_SAMPLING_PROCESSOR,
            name="my retention filter",
            rate=1.0,
            trace_rate=1.0,
        ),
        type=ApmRetentionFilterType.apm_retention_filter,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = APMRetentionFiltersApi(api_client)
    response = api_instance.create_apm_retention_filter(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Create a retention filter returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new

body = DatadogAPIClient::V2::RetentionFilterCreateRequest.new({
  data: DatadogAPIClient::V2::RetentionFilterCreateData.new({
    attributes: DatadogAPIClient::V2::RetentionFilterCreateAttributes.new({
      enabled: true,
      filter: DatadogAPIClient::V2::SpansFilterCreate.new({
        query: "@http.status_code:200 service:my-service",
      }),
      filter_type: DatadogAPIClient::V2::RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
      name: "my retention filter",
      rate: 1.0,
    }),
    type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
  }),
})
p api_instance.create_apm_retention_filter(body)
# Create a retention filter with trace rate returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new

body = DatadogAPIClient::V2::RetentionFilterCreateRequest.new({
  data: DatadogAPIClient::V2::RetentionFilterCreateData.new({
    attributes: DatadogAPIClient::V2::RetentionFilterCreateAttributes.new({
      enabled: true,
      filter: DatadogAPIClient::V2::SpansFilterCreate.new({
        query: "@http.status_code:200 service:my-service",
      }),
      filter_type: DatadogAPIClient::V2::RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
      name: "my retention filter",
      rate: 1.0,
      trace_rate: 1.0,
    }),
    type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
  }),
})
p api_instance.create_apm_retention_filter(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Create a retention filter returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_apm_retention_filters::APMRetentionFiltersAPI;
use datadog_api_client::datadogV2::model::ApmRetentionFilterType;
use datadog_api_client::datadogV2::model::RetentionFilterCreateAttributes;
use datadog_api_client::datadogV2::model::RetentionFilterCreateData;
use datadog_api_client::datadogV2::model::RetentionFilterCreateRequest;
use datadog_api_client::datadogV2::model::RetentionFilterType;
use datadog_api_client::datadogV2::model::SpansFilterCreate;

#[tokio::main]
async fn main() {
    let body = RetentionFilterCreateRequest::new(RetentionFilterCreateData::new(
        RetentionFilterCreateAttributes::new(
            true,
            SpansFilterCreate::new("@http.status_code:200 service:my-service".to_string()),
            RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
            "my retention filter".to_string(),
            1.0,
        ),
        ApmRetentionFilterType::apm_retention_filter,
    ));
    let configuration = datadog::Configuration::new();
    let api = APMRetentionFiltersAPI::with_config(configuration);
    let resp = api.create_apm_retention_filter(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
// Create a retention filter with trace rate returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_apm_retention_filters::APMRetentionFiltersAPI;
use datadog_api_client::datadogV2::model::ApmRetentionFilterType;
use datadog_api_client::datadogV2::model::RetentionFilterCreateAttributes;
use datadog_api_client::datadogV2::model::RetentionFilterCreateData;
use datadog_api_client::datadogV2::model::RetentionFilterCreateRequest;
use datadog_api_client::datadogV2::model::RetentionFilterType;
use datadog_api_client::datadogV2::model::SpansFilterCreate;

#[tokio::main]
async fn main() {
    let body = RetentionFilterCreateRequest::new(RetentionFilterCreateData::new(
        RetentionFilterCreateAttributes::new(
            true,
            SpansFilterCreate::new("@http.status_code:200 service:my-service".to_string()),
            RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
            "my retention filter".to_string(),
            1.0,
        )
        .trace_rate(1.0 as f64),
        ApmRetentionFilterType::apm_retention_filter,
    ));
    let configuration = datadog::Configuration::new();
    let api = APMRetentionFiltersAPI::with_config(configuration);
    let resp = api.create_apm_retention_filter(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * Create a retention filter returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.APMRetentionFiltersApi(configuration);

const params: v2.APMRetentionFiltersApiCreateApmRetentionFilterRequest = {
  body: {
    data: {
      attributes: {
        enabled: true,
        filter: {
          query: "@http.status_code:200 service:my-service",
        },
        filterType: "spans-sampling-processor",
        name: "my retention filter",
        rate: 1.0,
      },
      type: "apm_retention_filter",
    },
  },
};

apiInstance
  .createApmRetentionFilter(params)
  .then((data: v2.RetentionFilterCreateResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
/**
 * Create a retention filter with trace rate returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.APMRetentionFiltersApi(configuration);

const params: v2.APMRetentionFiltersApiCreateApmRetentionFilterRequest = {
  body: {
    data: {
      attributes: {
        enabled: true,
        filter: {
          query: "@http.status_code:200 service:my-service",
        },
        filterType: "spans-sampling-processor",
        name: "my retention filter",
        rate: 1.0,
        traceRate: 1.0,
      },
      type: "apm_retention_filter",
    },
  },
};

apiInstance
  .createApmRetentionFilter(params)
  .then((data: v2.RetentionFilterCreateResponse) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"