APM Retention Filters

Manage configuration of APM retention filters for your organization. You need an API and application key with Admin rights to interact with this endpoint. See retention filters on the Trace Retention page for more information.

GET https://api.ap1.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.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

개요

Get the list of APM retention filters. This endpoint requires any of the following permissions:

  • apm_retention_filter_read
  • apm_pipelines_read

  • 응답

    OK

    An ordered list of retention filters.

    Expand All

    항목

    유형

    설명

    data [required]

    [object]

    A list of retention filters objects.

    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. Allowed enum values: spans-sampling-processor,spans-errors-sampling-processor,spans-appsec-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.

    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
          },
          "id": "7RBOb7dLSYWI01yc3pIH8w",
          "type": "apm_retention_filter"
        }
      ]
    }

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Curl command
    curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.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 "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    List all APM retention filters returns "OK" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.apm_retention_filters_api import APMRetentionFiltersApi
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = APMRetentionFiltersApi(api_client)
        response = api_instance.list_apm_retention_filters()
    
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # List all APM retention filters returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
    p api_instance.list_apm_retention_filters()
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // List all APM retention filters 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() {
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
    	resp, r, err := api.ListApmRetentionFilters(ctx)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.ListApmRetentionFilters`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `APMRetentionFiltersApi.ListApmRetentionFilters`:\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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // List all APM retention filters 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.RetentionFiltersResponse;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        ApmRetentionFiltersApi apiInstance = new ApmRetentionFiltersApi(defaultClient);
    
        try {
          RetentionFiltersResponse result = apiInstance.listApmRetentionFilters();
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling ApmRetentionFiltersApi#listApmRetentionFilters");
          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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    // List all APM retention filters returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_apm_retention_filters::APMRetentionFiltersAPI;
    
    #[tokio::main]
    async fn main() {
        let configuration = datadog::Configuration::new();
        let api = APMRetentionFiltersAPI::with_config(configuration);
        let resp = api.list_apm_retention_filters().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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * List all APM retention filters returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.APMRetentionFiltersApi(configuration);
    
    apiInstance
      .listApmRetentionFilters()
      .then((data: v2.RetentionFiltersResponse) => {
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    POST https://api.ap1.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.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

    개요

    Create a retention filter to index spans in your organization. Returns the retention filter definition when the request is successful.

    Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be created.

    This endpoint requires any of the following permissions:
  • apm_retention_filter_write
  • apm_pipelines_write

  • 요청

    Body Data (required)

    The definition of the new retention filter.

    Expand All

    항목

    유형

    설명

    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.

    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"
      }
    }

    응답

    OK

    The retention filters definition.

    Expand All

    항목

    유형

    설명

    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.

    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
        },
        "id": "7RBOb7dLSYWI01yc3pIH8w",
        "type": "apm_retention_filter"
      }
    }

    Bad Request

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Conflict

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                              # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.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.0 }, "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)
    }
    

    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.comddog-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();
        }
      }
    }
    

    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.comddog-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)
    

    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.comddog-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)
    

    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.comddog-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());
        }
    }
    

    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.comddog-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));
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    GET https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.eu/api/v2/apm/config/retention-filters/{filter_id}https://api.ddog-gov.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us3.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}

    개요

    Get an APM retention filter. This endpoint requires any of the following permissions:

  • apm_retention_filter_read
  • apm_pipelines_read

  • 인수

    경로 파라미터

    이름

    유형

    설명

    filter_id [required]

    string

    The ID of the retention filter.

    응답

    OK

    The retention filters definition.

    Expand All

    항목

    유형

    설명

    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. Allowed enum values: spans-sampling-processor,spans-errors-sampling-processor,spans-appsec-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.

    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
        },
        "id": "7RBOb7dLSYWI01yc3pIH8w",
        "type": "apm_retention_filter"
      }
    }

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Found

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Path parameters
    export filter_id="CHANGE_ME"
    # Curl command
    curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/${filter_id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Get a given APM retention filter returns "OK" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.apm_retention_filters_api import APMRetentionFiltersApi
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = environ["RETENTION_FILTER_DATA_ID"]
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = APMRetentionFiltersApi(api_client)
        response = api_instance.get_apm_retention_filter(
            filter_id=RETENTION_FILTER_DATA_ID,
        )
    
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # Get a given APM retention filter returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
    p api_instance.get_apm_retention_filter(RETENTION_FILTER_DATA_ID)
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // Get a given APM 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() {
    	// there is a valid "retention_filter" in the system
    	RetentionFilterDataID := os.Getenv("RETENTION_FILTER_DATA_ID")
    
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
    	resp, r, err := api.GetApmRetentionFilter(ctx, RetentionFilterDataID)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.GetApmRetentionFilter`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `APMRetentionFiltersApi.GetApmRetentionFilter`:\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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // Get a given APM 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.RetentionFilterResponse;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        ApmRetentionFiltersApi apiInstance = new ApmRetentionFiltersApi(defaultClient);
    
        // there is a valid "retention_filter" in the system
        String RETENTION_FILTER_DATA_ID = System.getenv("RETENTION_FILTER_DATA_ID");
    
        try {
          RetentionFilterResponse result = apiInstance.getApmRetentionFilter(RETENTION_FILTER_DATA_ID);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling ApmRetentionFiltersApi#getApmRetentionFilter");
          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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    // Get a given APM retention filter returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_apm_retention_filters::APMRetentionFiltersAPI;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "retention_filter" in the system
        let retention_filter_data_id = std::env::var("RETENTION_FILTER_DATA_ID").unwrap();
        let configuration = datadog::Configuration::new();
        let api = APMRetentionFiltersAPI::with_config(configuration);
        let resp = api
            .get_apm_retention_filter(retention_filter_data_id.clone())
            .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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * Get a given APM retention filter returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.APMRetentionFiltersApi(configuration);
    
    // there is a valid "retention_filter" in the system
    const RETENTION_FILTER_DATA_ID = process.env.RETENTION_FILTER_DATA_ID as string;
    
    const params: v2.APMRetentionFiltersApiGetApmRetentionFilterRequest = {
      filterId: RETENTION_FILTER_DATA_ID,
    };
    
    apiInstance
      .getApmRetentionFilter(params)
      .then((data: v2.RetentionFilterResponse) => {
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    PUT https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.eu/api/v2/apm/config/retention-filters/{filter_id}https://api.ddog-gov.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us3.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}

    개요

    Update a retention filter from your organization.

    Default filters (filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor) cannot be renamed or removed.

    This endpoint requires any of the following permissions:
  • apm_retention_filter_write
  • apm_pipelines_write

  • 인수

    경로 파라미터

    이름

    유형

    설명

    filter_id [required]

    string

    The ID of the retention filter.

    요청

    Body Data (required)

    The updated definition of the retention filter.

    Expand All

    항목

    유형

    설명

    data [required]

    object

    The body of the retention filter to be updated.

    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. Allowed enum values: spans-sampling-processor,spans-errors-sampling-processor,spans-appsec-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.

    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": {
          "name": "test",
          "rate": 0.9,
          "filter": {
            "query": "@_top_level:1 test:service-demo"
          },
          "enabled": true,
          "filter_type": "spans-sampling-processor"
        },
        "id": "test-id",
        "type": "apm_retention_filter"
      }
    }

    응답

    OK

    The retention filters definition.

    Expand All

    항목

    유형

    설명

    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. Allowed enum values: spans-sampling-processor,spans-errors-sampling-processor,spans-appsec-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.

    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
        },
        "id": "7RBOb7dLSYWI01yc3pIH8w",
        "type": "apm_retention_filter"
      }
    }

    Bad Request

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Found

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                              # Path parameters
    export filter_id="CHANGE_ME"
    # Curl command
    curl -X PUT "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/${filter_id}" \ -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": { "name": "test", "rate": 0.9, "filter": { "query": "@_top_level:1 test:service-demo" }, "enabled": true, "filter_type": "spans-sampling-processor" }, "id": "test-id", "type": "apm_retention_filter" } } EOF
    // Update 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() {
    	// there is a valid "retention_filter" in the system
    	RetentionFilterDataID := os.Getenv("RETENTION_FILTER_DATA_ID")
    
    	body := datadogV2.RetentionFilterUpdateRequest{
    		Data: datadogV2.RetentionFilterUpdateData{
    			Attributes: datadogV2.RetentionFilterUpdateAttributes{
    				Name: "test",
    				Rate: 0.9,
    				Filter: datadogV2.SpansFilterCreate{
    					Query: "@_top_level:1 test:service-demo",
    				},
    				Enabled:    true,
    				FilterType: datadogV2.RETENTIONFILTERALLTYPE_SPANS_SAMPLING_PROCESSOR,
    			},
    			Id:   "test-id",
    			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.UpdateApmRetentionFilter(ctx, RetentionFilterDataID, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.UpdateApmRetentionFilter`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `APMRetentionFiltersApi.UpdateApmRetentionFilter`:\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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // Update 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.RetentionFilterAllType;
    import com.datadog.api.client.v2.model.RetentionFilterResponse;
    import com.datadog.api.client.v2.model.RetentionFilterUpdateAttributes;
    import com.datadog.api.client.v2.model.RetentionFilterUpdateData;
    import com.datadog.api.client.v2.model.RetentionFilterUpdateRequest;
    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);
    
        // there is a valid "retention_filter" in the system
        String RETENTION_FILTER_DATA_ID = System.getenv("RETENTION_FILTER_DATA_ID");
    
        RetentionFilterUpdateRequest body =
            new RetentionFilterUpdateRequest()
                .data(
                    new RetentionFilterUpdateData()
                        .attributes(
                            new RetentionFilterUpdateAttributes()
                                .name("test")
                                .rate(0.9)
                                .filter(
                                    new SpansFilterCreate().query("@_top_level:1 test:service-demo"))
                                .enabled(true)
                                .filterType(RetentionFilterAllType.SPANS_SAMPLING_PROCESSOR))
                        .id("test-id")
                        .type(ApmRetentionFilterType.apm_retention_filter));
    
        try {
          RetentionFilterResponse result =
              apiInstance.updateApmRetentionFilter(RETENTION_FILTER_DATA_ID, body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling ApmRetentionFiltersApi#updateApmRetentionFilter");
          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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    """
    Update a retention filter returns "OK" response
    """
    
    from os import environ
    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_all_type import RetentionFilterAllType
    from datadog_api_client.v2.model.retention_filter_update_attributes import RetentionFilterUpdateAttributes
    from datadog_api_client.v2.model.retention_filter_update_data import RetentionFilterUpdateData
    from datadog_api_client.v2.model.retention_filter_update_request import RetentionFilterUpdateRequest
    from datadog_api_client.v2.model.spans_filter_create import SpansFilterCreate
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = environ["RETENTION_FILTER_DATA_ID"]
    
    body = RetentionFilterUpdateRequest(
        data=RetentionFilterUpdateData(
            attributes=RetentionFilterUpdateAttributes(
                name="test",
                rate=0.9,
                filter=SpansFilterCreate(
                    query="@_top_level:1 test:service-demo",
                ),
                enabled=True,
                filter_type=RetentionFilterAllType.SPANS_SAMPLING_PROCESSOR,
            ),
            id="test-id",
            type=ApmRetentionFilterType.apm_retention_filter,
        ),
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = APMRetentionFiltersApi(api_client)
        response = api_instance.update_apm_retention_filter(filter_id=RETENTION_FILTER_DATA_ID, 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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # Update a retention filter returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
    
    body = DatadogAPIClient::V2::RetentionFilterUpdateRequest.new({
      data: DatadogAPIClient::V2::RetentionFilterUpdateData.new({
        attributes: DatadogAPIClient::V2::RetentionFilterUpdateAttributes.new({
          name: "test",
          rate: 0.9,
          filter: DatadogAPIClient::V2::SpansFilterCreate.new({
            query: "@_top_level:1 test:service-demo",
          }),
          enabled: true,
          filter_type: DatadogAPIClient::V2::RetentionFilterAllType::SPANS_SAMPLING_PROCESSOR,
        }),
        id: "test-id",
        type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
      }),
    })
    p api_instance.update_apm_retention_filter(RETENTION_FILTER_DATA_ID, 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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // Update 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::RetentionFilterAllType;
    use datadog_api_client::datadogV2::model::RetentionFilterUpdateAttributes;
    use datadog_api_client::datadogV2::model::RetentionFilterUpdateData;
    use datadog_api_client::datadogV2::model::RetentionFilterUpdateRequest;
    use datadog_api_client::datadogV2::model::SpansFilterCreate;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "retention_filter" in the system
        let retention_filter_data_id = std::env::var("RETENTION_FILTER_DATA_ID").unwrap();
        let body = RetentionFilterUpdateRequest::new(RetentionFilterUpdateData::new(
            RetentionFilterUpdateAttributes::new(
                true,
                SpansFilterCreate::new("@_top_level:1 test:service-demo".to_string()),
                RetentionFilterAllType::SPANS_SAMPLING_PROCESSOR,
                "test".to_string(),
                0.9,
            ),
            "test-id".to_string(),
            ApmRetentionFilterType::apm_retention_filter,
        ));
        let configuration = datadog::Configuration::new();
        let api = APMRetentionFiltersAPI::with_config(configuration);
        let resp = api
            .update_apm_retention_filter(retention_filter_data_id.clone(), 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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * Update a retention filter returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.APMRetentionFiltersApi(configuration);
    
    // there is a valid "retention_filter" in the system
    const RETENTION_FILTER_DATA_ID = process.env.RETENTION_FILTER_DATA_ID as string;
    
    const params: v2.APMRetentionFiltersApiUpdateApmRetentionFilterRequest = {
      body: {
        data: {
          attributes: {
            name: "test",
            rate: 0.9,
            filter: {
              query: "@_top_level:1 test:service-demo",
            },
            enabled: true,
            filterType: "spans-sampling-processor",
          },
          id: "test-id",
          type: "apm_retention_filter",
        },
      },
      filterId: RETENTION_FILTER_DATA_ID,
    };
    
    apiInstance
      .updateApmRetentionFilter(params)
      .then((data: v2.RetentionFilterResponse) => {
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    DELETE https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.eu/api/v2/apm/config/retention-filters/{filter_id}https://api.ddog-gov.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us3.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}

    개요

    Delete a specific retention filter from your organization.

    Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be deleted.

    This endpoint requires any of the following permissions:
  • apm_retention_filter_write
  • apm_pipelines_write

  • 인수

    경로 파라미터

    이름

    유형

    설명

    filter_id [required]

    string

    The ID of the retention filter.

    응답

    OK

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Found

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Path parameters
    export filter_id="CHANGE_ME"
    # Curl command
    curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/${filter_id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Delete a retention filter returns "OK" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.apm_retention_filters_api import APMRetentionFiltersApi
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = environ["RETENTION_FILTER_DATA_ID"]
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = APMRetentionFiltersApi(api_client)
        api_instance.delete_apm_retention_filter(
            filter_id=RETENTION_FILTER_DATA_ID,
        )
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # Delete a retention filter returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
    
    # there is a valid "retention_filter" in the system
    RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
    p api_instance.delete_apm_retention_filter(RETENTION_FILTER_DATA_ID)
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // Delete a retention filter returns "OK" response
    
    package main
    
    import (
    	"context"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	// there is a valid "retention_filter" in the system
    	RetentionFilterDataID := os.Getenv("RETENTION_FILTER_DATA_ID")
    
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
    	r, err := api.DeleteApmRetentionFilter(ctx, RetentionFilterDataID)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.DeleteApmRetentionFilter`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    }
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // Delete 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;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        ApmRetentionFiltersApi apiInstance = new ApmRetentionFiltersApi(defaultClient);
    
        // there is a valid "retention_filter" in the system
        String RETENTION_FILTER_DATA_ID = System.getenv("RETENTION_FILTER_DATA_ID");
    
        try {
          apiInstance.deleteApmRetentionFilter(RETENTION_FILTER_DATA_ID);
        } catch (ApiException e) {
          System.err.println("Exception when calling ApmRetentionFiltersApi#deleteApmRetentionFilter");
          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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    // Delete a retention filter returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_apm_retention_filters::APMRetentionFiltersAPI;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "retention_filter" in the system
        let retention_filter_data_id = std::env::var("RETENTION_FILTER_DATA_ID").unwrap();
        let configuration = datadog::Configuration::new();
        let api = APMRetentionFiltersAPI::with_config(configuration);
        let resp = api
            .delete_apm_retention_filter(retention_filter_data_id.clone())
            .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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * Delete a retention filter returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.APMRetentionFiltersApi(configuration);
    
    // there is a valid "retention_filter" in the system
    const RETENTION_FILTER_DATA_ID = process.env.RETENTION_FILTER_DATA_ID as string;
    
    const params: v2.APMRetentionFiltersApiDeleteApmRetentionFilterRequest = {
      filterId: RETENTION_FILTER_DATA_ID,
    };
    
    apiInstance
      .deleteApmRetentionFilter(params)
      .then((data: any) => {
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    PUT https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filters-execution-orderhttps://api.datadoghq.eu/api/v2/apm/config/retention-filters-execution-orderhttps://api.ddog-gov.com/api/v2/apm/config/retention-filters-execution-orderhttps://api.datadoghq.com/api/v2/apm/config/retention-filters-execution-orderhttps://api.us3.datadoghq.com/api/v2/apm/config/retention-filters-execution-orderhttps://api.us5.datadoghq.com/api/v2/apm/config/retention-filters-execution-order

    개요

    Re-order the execution order of retention filters. This endpoint requires any of the following permissions:

  • apm_retention_filter_write
  • apm_pipelines_write

  • 요청

    Body Data (required)

    The list of retention filters in the new order.

    Expand All

    항목

    유형

    설명

    data [required]

    [object]

    A list of retention filters objects.

    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": [
        {
          "id": "jdZrilSJQLqzb6Cu7aub9Q",
          "type": "apm_retention_filter"
        },
        {
          "id": "7RBOb7dLSYWI01yc3pIH8w",
          "type": "apm_retention_filter"
        }
      ]
    }

    응답

    OK

    Bad Request

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Not Authorized

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                              # Curl command
    curl -X PUT "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters-execution-order" \ -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": [ { "id": "jdZrilSJQLqzb6Cu7aub9Q", "type": "apm_retention_filter" }, { "id": "7RBOb7dLSYWI01yc3pIH8w", "type": "apm_retention_filter" } ] } EOF
    // Re-order retention filters returns "OK" response
    
    package main
    
    import (
    	"context"
    	"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.ReorderRetentionFiltersRequest{
    		Data: []datadogV2.RetentionFilterWithoutAttributes{
    			{
    				Id:   "jdZrilSJQLqzb6Cu7aub9Q",
    				Type: datadogV2.APMRETENTIONFILTERTYPE_apm_retention_filter,
    			},
    			{
    				Id:   "7RBOb7dLSYWI01yc3pIH8w",
    				Type: datadogV2.APMRETENTIONFILTERTYPE_apm_retention_filter,
    			},
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewAPMRetentionFiltersApi(apiClient)
    	r, err := api.ReorderApmRetentionFilters(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `APMRetentionFiltersApi.ReorderApmRetentionFilters`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    }
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // Re-order retention filters 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.ReorderRetentionFiltersRequest;
    import com.datadog.api.client.v2.model.RetentionFilterWithoutAttributes;
    import java.util.Arrays;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        ApmRetentionFiltersApi apiInstance = new ApmRetentionFiltersApi(defaultClient);
    
        ReorderRetentionFiltersRequest body =
            new ReorderRetentionFiltersRequest()
                .data(
                    Arrays.asList(
                        new RetentionFilterWithoutAttributes()
                            .id("jdZrilSJQLqzb6Cu7aub9Q")
                            .type(ApmRetentionFilterType.apm_retention_filter),
                        new RetentionFilterWithoutAttributes()
                            .id("7RBOb7dLSYWI01yc3pIH8w")
                            .type(ApmRetentionFilterType.apm_retention_filter)));
    
        try {
          apiInstance.reorderApmRetentionFilters(body);
        } catch (ApiException e) {
          System.err.println(
              "Exception when calling ApmRetentionFiltersApi#reorderApmRetentionFilters");
          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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    """
    Re-order retention filters 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.reorder_retention_filters_request import ReorderRetentionFiltersRequest
    from datadog_api_client.v2.model.retention_filter_without_attributes import RetentionFilterWithoutAttributes
    
    body = ReorderRetentionFiltersRequest(
        data=[
            RetentionFilterWithoutAttributes(
                id="jdZrilSJQLqzb6Cu7aub9Q",
                type=ApmRetentionFilterType.apm_retention_filter,
            ),
            RetentionFilterWithoutAttributes(
                id="7RBOb7dLSYWI01yc3pIH8w",
                type=ApmRetentionFilterType.apm_retention_filter,
            ),
        ],
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = APMRetentionFiltersApi(api_client)
        api_instance.reorder_apm_retention_filters(body=body)
    

    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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # Re-order retention filters returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
    
    body = DatadogAPIClient::V2::ReorderRetentionFiltersRequest.new({
      data: [
        DatadogAPIClient::V2::RetentionFilterWithoutAttributes.new({
          id: "jdZrilSJQLqzb6Cu7aub9Q",
          type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
        }),
        DatadogAPIClient::V2::RetentionFilterWithoutAttributes.new({
          id: "7RBOb7dLSYWI01yc3pIH8w",
          type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
        }),
      ],
    })
    p api_instance.reorder_apm_retention_filters(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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // Re-order retention filters 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::ReorderRetentionFiltersRequest;
    use datadog_api_client::datadogV2::model::RetentionFilterWithoutAttributes;
    
    #[tokio::main]
    async fn main() {
        let body = ReorderRetentionFiltersRequest::new(vec![
            RetentionFilterWithoutAttributes::new(
                "jdZrilSJQLqzb6Cu7aub9Q".to_string(),
                ApmRetentionFilterType::apm_retention_filter,
            ),
            RetentionFilterWithoutAttributes::new(
                "7RBOb7dLSYWI01yc3pIH8w".to_string(),
                ApmRetentionFilterType::apm_retention_filter,
            ),
        ]);
        let configuration = datadog::Configuration::new();
        let api = APMRetentionFiltersAPI::with_config(configuration);
        let resp = api.reorder_apm_retention_filters(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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * Re-order retention filters returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.APMRetentionFiltersApi(configuration);
    
    const params: v2.APMRetentionFiltersApiReorderApmRetentionFiltersRequest = {
      body: {
        data: [
          {
            id: "jdZrilSJQLqzb6Cu7aub9Q",
            type: "apm_retention_filter",
          },
          {
            id: "7RBOb7dLSYWI01yc3pIH8w",
            type: "apm_retention_filter",
          },
        ],
      },
    };
    
    apiInstance
      .reorderApmRetentionFilters(params)
      .then((data: any) => {
        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.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"

    PREVIEWING: rtrieu/product-analytics-ui-changes