Mettre à jour une métrique basée sur RUM
https://api.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.us3.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.us5.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.datadoghq.eu/api/v2/rum/config/metrics/{metric_id}https://api.ap1.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.ap2.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.uk1.datadoghq.com/api/v2/rum/config/metrics/{metric_id}https://api.ddog-gov.com/api/v2/rum/config/metrics/{metric_id}https://api.us2.ddog-gov.com/api/v2/rum/config/metrics/{metric_id}Présentation
Mettre à jour une métrique basée sur RUM spécifique de votre organisation. Renvoie l'objet de métrique basée sur RUM du corps de la requête lorsque la requête est réussie.
Arguments
Paramètres du chemin
metric_id [required]The name of the RUM-based metric.
Requête
Body Data (required)
Nouvelle définition de la métrique basée sur RUM.
data [required]Corps de la nouvelle métrique basée sur RUM.
attributes [required]The RUM-based metric properties that will be updated.
computeThe compute rule to compute the RUM-based metric.
include_percentilesToggle to include or exclude percentile aggregations for distribution metrics.
Only present when aggregation_type is distribution.
filterThe RUM-based metric filter. Events matching this filter will be aggregated in this metric.
query [required]The search query - following the RUM search syntax.
*group_byThe rules for the group by.
path [required]The path to the value the RUM-based metric will be aggregated over.
tag_nameEventual name of the tag that gets created. By default, path is used as the tag name.
idThe name of the RUM-based metric.
type [required]The type of the resource. The value should always be rum_metrics.
rum_metricsrum_metrics{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}Réponse
OK
The RUM-based metric object.
dataThe RUM-based metric properties.
attributesThe object describing a Datadog RUM-based metric.
computeThe compute rule to compute the RUM-based metric.
aggregation_typeThe type of aggregation to use.
count, distributioninclude_percentilesToggle to include or exclude percentile aggregations for distribution metrics.
Only present when aggregation_type is distribution.
pathThe path to the value the RUM-based metric will aggregate on.
Only present when aggregation_type is distribution.
event_typeThe type of RUM events to filter on.
session, view, action, error, resource, long_task, vitalfilterThe RUM-based metric filter. RUM events matching this filter will be aggregated in this metric.
queryThe search query - following the RUM search syntax.
group_byThe rules for the group by.
pathThe path to the value the RUM-based metric will be aggregated over.
tag_nameEventual name of the tag that gets created. By default, path is used as the tag name.
uniquenessThe rule to count updatable events. Is only set if event_type is session or view.
whenWhen to count updatable events. match when the event is first seen, or end when the event is complete.
match, endidThe name of the RUM-based metric.
typeThe type of the resource. The value should always be rum_metrics.
rum_metricsrum_metrics{
"data": {
"attributes": {
"compute": {
"aggregation_type": "distribution",
"include_percentiles": true,
"path": "@duration"
},
"event_type": "session",
"filter": {
"query": "service:web* AND @http.status_code:[200 TO 299]"
},
"group_by": [
{
"path": "@http.status_code",
"tag_name": "status_code"
}
],
"uniqueness": {
"when": "match"
}
},
"id": "rum.sessions.webui.count",
"type": "rum_metrics"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Authorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Conflict
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Exemple de code
# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF# Path parameters
export metric_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/rum/config/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "rum.sessions.webui.count",
"type": "rum_metrics",
"attributes": {
"compute": {
"include_percentiles": false
},
"filter": {
"query": "@service:rum-config"
},
"group_by": [
{
"path": "@browser.version",
"tag_name": "browser_version"
}
]
}
}
}
EOF// Update a RUM-based metric 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 "rum_metric" in the system
RumMetricDataID := os.Getenv("RUM_METRIC_DATA_ID")
body := datadogV2.RumMetricUpdateRequest{
Data: datadogV2.RumMetricUpdateData{
Id: datadog.PtrString(RumMetricDataID),
Type: datadogV2.RUMMETRICTYPE_RUM_METRICS,
Attributes: datadogV2.RumMetricUpdateAttributes{
Compute: &datadogV2.RumMetricUpdateCompute{
IncludePercentiles: datadog.PtrBool(false),
},
Filter: &datadogV2.RumMetricFilter{
Query: "@service:rum-config",
},
GroupBy: []datadogV2.RumMetricGroupBy{
{
Path: "@browser.version",
TagName: datadog.PtrString("browser_version"),
},
},
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewRumMetricsApi(apiClient)
resp, r, err := api.UpdateRumMetric(ctx, RumMetricDataID, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `RumMetricsApi.UpdateRumMetric`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `RumMetricsApi.UpdateRumMetric`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update a RUM-based metric returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.RumMetricsApi;
import com.datadog.api.client.v2.model.RumMetricFilter;
import com.datadog.api.client.v2.model.RumMetricGroupBy;
import com.datadog.api.client.v2.model.RumMetricResponse;
import com.datadog.api.client.v2.model.RumMetricType;
import com.datadog.api.client.v2.model.RumMetricUpdateAttributes;
import com.datadog.api.client.v2.model.RumMetricUpdateCompute;
import com.datadog.api.client.v2.model.RumMetricUpdateData;
import com.datadog.api.client.v2.model.RumMetricUpdateRequest;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
RumMetricsApi apiInstance = new RumMetricsApi(defaultClient);
// there is a valid "rum_metric" in the system
String RUM_METRIC_DATA_ID = System.getenv("RUM_METRIC_DATA_ID");
RumMetricUpdateRequest body =
new RumMetricUpdateRequest()
.data(
new RumMetricUpdateData()
.id(RUM_METRIC_DATA_ID)
.type(RumMetricType.RUM_METRICS)
.attributes(
new RumMetricUpdateAttributes()
.compute(new RumMetricUpdateCompute().includePercentiles(false))
.filter(new RumMetricFilter().query("@service:rum-config"))
.groupBy(
Collections.singletonList(
new RumMetricGroupBy()
.path("@browser.version")
.tagName("browser_version")))));
try {
RumMetricResponse result = apiInstance.updateRumMetric(RUM_METRIC_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling RumMetricsApi#updateRumMetric");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update a RUM-based metric returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.rum_metrics_api import RumMetricsApi
from datadog_api_client.v2.model.rum_metric_filter import RumMetricFilter
from datadog_api_client.v2.model.rum_metric_group_by import RumMetricGroupBy
from datadog_api_client.v2.model.rum_metric_type import RumMetricType
from datadog_api_client.v2.model.rum_metric_update_attributes import RumMetricUpdateAttributes
from datadog_api_client.v2.model.rum_metric_update_compute import RumMetricUpdateCompute
from datadog_api_client.v2.model.rum_metric_update_data import RumMetricUpdateData
from datadog_api_client.v2.model.rum_metric_update_request import RumMetricUpdateRequest
# there is a valid "rum_metric" in the system
RUM_METRIC_DATA_ID = environ["RUM_METRIC_DATA_ID"]
body = RumMetricUpdateRequest(
data=RumMetricUpdateData(
id=RUM_METRIC_DATA_ID,
type=RumMetricType.RUM_METRICS,
attributes=RumMetricUpdateAttributes(
compute=RumMetricUpdateCompute(
include_percentiles=False,
),
filter=RumMetricFilter(
query="@service:rum-config",
),
group_by=[
RumMetricGroupBy(
path="@browser.version",
tag_name="browser_version",
),
],
),
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = RumMetricsApi(api_client)
response = api_instance.update_rum_metric(metric_id=RUM_METRIC_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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update a RUM-based metric returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::RumMetricsAPI.new
# there is a valid "rum_metric" in the system
RUM_METRIC_DATA_ID = ENV["RUM_METRIC_DATA_ID"]
body = DatadogAPIClient::V2::RumMetricUpdateRequest.new({
data: DatadogAPIClient::V2::RumMetricUpdateData.new({
id: RUM_METRIC_DATA_ID,
type: DatadogAPIClient::V2::RumMetricType::RUM_METRICS,
attributes: DatadogAPIClient::V2::RumMetricUpdateAttributes.new({
compute: DatadogAPIClient::V2::RumMetricUpdateCompute.new({
include_percentiles: false,
}),
filter: DatadogAPIClient::V2::RumMetricFilter.new({
query: "@service:rum-config",
}),
group_by: [
DatadogAPIClient::V2::RumMetricGroupBy.new({
path: "@browser.version",
tag_name: "browser_version",
}),
],
}),
}),
})
p api_instance.update_rum_metric(RUM_METRIC_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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update a RUM-based metric returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_rum_metrics::RumMetricsAPI;
use datadog_api_client::datadogV2::model::RumMetricFilter;
use datadog_api_client::datadogV2::model::RumMetricGroupBy;
use datadog_api_client::datadogV2::model::RumMetricType;
use datadog_api_client::datadogV2::model::RumMetricUpdateAttributes;
use datadog_api_client::datadogV2::model::RumMetricUpdateCompute;
use datadog_api_client::datadogV2::model::RumMetricUpdateData;
use datadog_api_client::datadogV2::model::RumMetricUpdateRequest;
#[tokio::main]
async fn main() {
// there is a valid "rum_metric" in the system
let rum_metric_data_id = std::env::var("RUM_METRIC_DATA_ID").unwrap();
let body = RumMetricUpdateRequest::new(
RumMetricUpdateData::new(
RumMetricUpdateAttributes::new()
.compute(RumMetricUpdateCompute::new().include_percentiles(false))
.filter(RumMetricFilter::new("@service:rum-config".to_string()))
.group_by(vec![RumMetricGroupBy::new("@browser.version".to_string())
.tag_name("browser_version".to_string())]),
RumMetricType::RUM_METRICS,
)
.id(rum_metric_data_id.clone()),
);
let configuration = datadog::Configuration::new();
let api = RumMetricsAPI::with_config(configuration);
let resp = api
.update_rum_metric(rum_metric_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.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Update a RUM-based metric returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.RumMetricsApi(configuration);
// there is a valid "rum_metric" in the system
const RUM_METRIC_DATA_ID = process.env.RUM_METRIC_DATA_ID as string;
const params: v2.RumMetricsApiUpdateRumMetricRequest = {
body: {
data: {
id: RUM_METRIC_DATA_ID,
type: "rum_metrics",
attributes: {
compute: {
includePercentiles: false,
},
filter: {
query: "@service:rum-config",
},
groupBy: [
{
path: "@browser.version",
tagName: "browser_version",
},
],
},
},
},
metricId: RUM_METRIC_DATA_ID,
};
apiInstance
.updateRumMetric(params)
.then((data: v2.RumMetricResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"