The usage metering API allows you to get hourly, daily, and monthly usage across multiple facets of Datadog. This API is available to all Pro and Enterprise customers. Usage is only accessible for parent-level organizations.
Note: Usage data is delayed by up to 72 hours from when it was incurred. It is retained for the past 15 months.
GET https://api.datadoghq.eu/api/v1/usage/billable-summaryhttps://api.ddog-gov.com/api/v1/usage/billable-summaryhttps://api.datadoghq.com/api/v1/usage/billable-summaryhttps://api.us3.datadoghq.com/api/v1/usage/billable-summary
Get billable usage across your account.
Name
Type
Description
month
string
Datetime in ISO-8601 format, UTC, precise to month: [YYYY-MM]
for usage starting this month.
OK
Response with monthly summary of data billed by Datadog.
Field
Type
Description
usage
[object]
An array of objects regarding usage of billable summary.
billing_plan
string
The billing plan.
end_date
date-time
Shows the last date of usage.
num_orgs
int64
The number of organizations.
org_name
string
The organization name.
public_id
string
The organization public ID.
ratio_in_month
int64
Shows usage aggregation for a billing period.
start_date
date-time
Shows the first date of usage.
usage
object
Response with aggregated usage types.
apm_host_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
apm_host_top99p
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
apm_trace_search_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
fargate_container_average
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
infra_container_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
infra_host_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
infra_host_top99p
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
iot_top99p
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
lambda_function_average
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
logs_indexed_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
logs_ingested_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
npm_flow_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
npm_host_top99p
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
rum_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
serverless_invocation_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
siem_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
synthetics_api_tests_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
synthetics_browser_checks_sum
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
timeseries_average
object
Response with properties for each aggregated usage type.
account_billable_usage
int64
The total account usage.
elapsed_usage_hours
int64
Elapsed usage hours for some billable product.
first_billable_usage_hour
date-time
The first billable hour for the org.
last_billable_usage_hour
date-time
The last billable hour for the org.
org_billable_usage
int64
The number of units used within the billable timeframe.
percentage_in_account
double
The percentage of account usage the org represents.
usage_unit
string
Units pertaining to the usage.
{
"usage": [
{
"billing_plan": "string",
"end_date": "2019-09-19T10:00:00.000Z",
"num_orgs": "integer",
"org_name": "string",
"public_id": "string",
"ratio_in_month": "integer",
"start_date": "2019-09-19T10:00:00.000Z",
"usage": {
"apm_host_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"apm_host_top99p": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"apm_trace_search_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"fargate_container_average": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"infra_container_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"infra_host_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"infra_host_top99p": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"iot_top99p": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"lambda_function_average": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"logs_indexed_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"logs_ingested_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"npm_flow_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"npm_host_top99p": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"rum_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"serverless_invocation_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"siem_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"synthetics_api_tests_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"synthetics_browser_checks_sum": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
},
"timeseries_average": {
"account_billable_usage": "integer",
"elapsed_usage_hours": "integer",
"first_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"last_billable_usage_hour": "2019-09-19T10:00:00.000Z",
"org_billable_usage": "integer",
"percentage_in_account": "number",
"usage_unit": "string"
}
}
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/billable-summary" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
month := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage starting this month. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageBillableSummary(ctx).Month(month).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageBillableSummary``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageBillableSummary`: UsageBillableSummaryResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageBillableSummary:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime month = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage starting this month.
try {
UsageBillableSummaryResponse result = apiInstance.getUsageBillableSummary()
.month(month)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageBillableSummary");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
month = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage starting this month. (optional)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get billable usage across your account
api_response = api_instance.get_usage_billable_summary(month=month)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_billable_summary: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
opts = {
month: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage starting this month.
}
begin
# Get billable usage across your account
result = api_instance.get_usage_billable_summary(opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_billable_summary: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/analyzed_logshttps://api.ddog-gov.com/api/v1/usage/analyzed_logshttps://api.datadoghq.com/api/v1/usage/analyzed_logshttps://api.us3.datadoghq.com/api/v1/usage/analyzed_logs
Get hourly usage for analyzed logs (Security Monitoring).
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
A response containing the number of analyzed logs for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for analyzed logs.
analyzed_logs
int64
Contains the number of analyzed logs.
hour
date-time
The hour for the usage.
{
"usage": [
{
"analyzed_logs": "integer",
"hour": "2019-09-19T10:00:00.000Z"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/analyzed_logs?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageAnalyzedLogs(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageAnalyzedLogs``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageAnalyzedLogs`: UsageAnalyzedLogsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageAnalyzedLogs:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageAnalyzedLogsResponse result = apiInstance.getUsageAnalyzedLogs()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageAnalyzedLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for analyzed logs
api_response = api_instance.get_usage_analyzed_logs(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_analyzed_logs: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for analyzed logs
api_response = api_instance.get_usage_analyzed_logs(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_analyzed_logs: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for analyzed logs
result = api_instance.get_usage_analyzed_logs(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_analyzed_logs: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/timeserieshttps://api.ddog-gov.com/api/v1/usage/timeserieshttps://api.datadoghq.com/api/v1/usage/timeserieshttps://api.us3.datadoghq.com/api/v1/usage/timeseries
Get hourly usage for custom metrics.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing hourly usage of timeseries.
Field
Type
Description
usage
[object]
An array of objects regarding hourly usage of timeseries.
hour
date-time
The hour for the usage.
num_custom_input_timeseries
int64
Contains the number of custom metrics that are inputs for aggregations (metric configured is custom).
num_custom_output_timeseries
int64
Contains the number of custom metrics that are outputs for aggregations (metric configured is custom).
num_custom_timeseries
int64
Contains the number of non-aggregation custom metrics.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"num_custom_input_timeseries": "integer",
"num_custom_output_timeseries": "integer",
"num_custom_timeseries": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/timeseries?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageTimeseries(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageTimeseries``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageTimeseries`: UsageTimeseriesResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageTimeseries:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageTimeseriesResponse result = apiInstance.getUsageTimeseries()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageTimeseries");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for custom metrics
api_response = api_instance.get_usage_timeseries(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_timeseries: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for custom metrics
api_response = api_instance.get_usage_timeseries(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_timeseries: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_custom_metrics_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for custom metrics
result = api_instance.get_usage_timeseries(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_timeseries: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/fargatehttps://api.ddog-gov.com/api/v1/usage/fargatehttps://api.datadoghq.com/api/v1/usage/fargatehttps://api.us3.datadoghq.com/api/v1/usage/fargate
Get hourly usage for Fargate.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing the number of Fargate tasks run and hourly usage.
Field
Type
Description
usage
[object]
Array with the number of hourly Fargate tasks recorded for a given organization.
hour
date-time
The hour for the usage.
tasks_count
int64
The number of Fargate tasks run.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"tasks_count": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/fargate?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageFargate(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageFargate``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageFargate`: UsageFargateResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageFargate:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageFargateResponse result = apiInstance.getUsageFargate()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageFargate");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Fargate
api_response = api_instance.get_usage_fargate(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_fargate: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Fargate
api_response = api_instance.get_usage_fargate(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_fargate: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_fargate_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for Fargate
result = api_instance.get_usage_fargate(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_fargate: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/hostshttps://api.ddog-gov.com/api/v1/usage/hostshttps://api.datadoghq.com/api/v1/usage/hostshttps://api.us3.datadoghq.com/api/v1/usage/hosts
Get hourly usage for hosts and containers.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Host usage response.
Field
Type
Description
usage
[object]
An array of objects related to host usage.
agent_host_count
int64
Contains the total number of infrastructure hosts reporting during a given hour that were running the Datadog Agent.
alibaba_host_count
int64
Contains the total number of hosts that reported via Alibaba integration (and were NOT running the Datadog Agent).
apm_azure_app_service_host_count
int64
Contains the total number of Azure App Services hosts using APM.
apm_host_count
int64
Shows the total number of hosts using APM during the hour, these are counted as billable (except during trial periods).
aws_host_count
int64
Contains the total number of hosts that reported via the AWS integration (and were NOT running the Datadog Agent).
azure_host_count
int64
Contains the total number of hosts that reported via Azure integration (and were NOT running the Datadog Agent).
container_count
int64
Shows the total number of containers reported by the Docker integration during the hour.
gcp_host_count
int64
Contains the total number of hosts that reported via the Google Cloud integration (and were NOT running the Datadog Agent).
host_count
int64
Contains the total number of billable infrastructure hosts reporting during a given hour.
This is the sum of agent_host_count
, aws_host_count
, and gcp_host_count
.
hour
date-time
The hour for the usage.
infra_azure_app_service
int64
Contains the total number of hosts that reported via the Azure App Services integration (and were NOT running the Datadog Agent).
{
"usage": [
{
"agent_host_count": "integer",
"alibaba_host_count": "integer",
"apm_azure_app_service_host_count": "integer",
"apm_host_count": "integer",
"aws_host_count": "integer",
"azure_host_count": "integer",
"container_count": "integer",
"gcp_host_count": "integer",
"host_count": "integer",
"hour": "2019-09-19T10:00:00.000Z",
"infra_azure_app_service": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/hosts?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageHosts(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageHosts``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageHosts`: UsageHostsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageHosts:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageHostsResponse result = apiInstance.getUsageHosts()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageHosts");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for hosts and containers
api_response = api_instance.get_usage_hosts(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_hosts: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for hosts and containers
api_response = api_instance.get_usage_hosts(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_hosts: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_hosts_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for hosts and containers
result = api_instance.get_usage_hosts(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_hosts: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/incident-managementhttps://api.ddog-gov.com/api/v1/usage/incident-managementhttps://api.datadoghq.com/api/v1/usage/incident-managementhttps://api.us3.datadoghq.com/api/v1/usage/incident-management
Get hourly usage for incident management.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the incident management usage for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for incident management.
hour
date-time
The hour for the usage.
monthly_active_users
int64
Contains the total number monthly active users from the start of the given hour's month until the given hour.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"monthly_active_users": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/incident-management?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetIncidentManagement(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetIncidentManagement``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetIncidentManagement`: UsageIncidentManagementResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetIncidentManagement:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageIncidentManagementResponse result = apiInstance.getIncidentManagement()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getIncidentManagement");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for incident management
api_response = api_instance.get_incident_management(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_incident_management: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for incident management
api_response = api_instance.get_incident_management(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_incident_management: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for incident management
result = api_instance.get_incident_management(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_incident_management: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/indexed-spanshttps://api.ddog-gov.com/api/v1/usage/indexed-spanshttps://api.datadoghq.com/api/v1/usage/indexed-spanshttps://api.us3.datadoghq.com/api/v1/usage/indexed-spans
Get hourly usage for indexed spans.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending before this hour.
OK
A response containing indexed spans usage.
Field
Type
Description
usage
[object]
Array with the number of hourly traces indexed for a given organization.
hour
date-time
The hour for the usage.
indexed_events_count
int64
Contains the number of spans indexed.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"indexed_events_count": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/indexed-spans?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageIndexedSpans(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageIndexedSpans``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageIndexedSpans`: UsageIndexedSpansResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageIndexedSpans:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageIndexedSpansResponse result = apiInstance.getUsageIndexedSpans()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageIndexedSpans");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for indexed spans
api_response = api_instance.get_usage_indexed_spans(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_indexed_spans: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for indexed spans
api_response = api_instance.get_usage_indexed_spans(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_indexed_spans: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for indexed spans
result = api_instance.get_usage_indexed_spans(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_indexed_spans: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/ingested-spanshttps://api.ddog-gov.com/api/v1/usage/ingested-spanshttps://api.datadoghq.com/api/v1/usage/ingested-spanshttps://api.us3.datadoghq.com/api/v1/usage/ingested-spans
Get hourly usage for ingested spans.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the ingested spans usage for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for ingested spans.
hour
date-time
The hour for the usage.
ingested_events_bytes
int64
Contains the total number of bytes ingested during a given hour.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"ingested_events_bytes": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/ingested-spans?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetIngestedSpans(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetIngestedSpans``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetIngestedSpans`: UsageIngestedSpansResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetIngestedSpans:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageIngestedSpansResponse result = apiInstance.getIngestedSpans()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getIngestedSpans");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for ingested spans
api_response = api_instance.get_ingested_spans(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_ingested_spans: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for ingested spans
api_response = api_instance.get_ingested_spans(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_ingested_spans: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for ingested spans
result = api_instance.get_ingested_spans(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_ingested_spans: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/iothttps://api.ddog-gov.com/api/v1/usage/iothttps://api.datadoghq.com/api/v1/usage/iothttps://api.us3.datadoghq.com/api/v1/usage/iot
Get hourly usage for IoT.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the IoT usage for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for IoT.
hour
date-time
The hour for the usage.
iot_device_count
int64
The total number of IoT device hours from the start of the given hour's month until the given hour.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"iot_device_count": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/iot?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageInternetOfThings(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageInternetOfThings``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageInternetOfThings`: UsageIoTResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageInternetOfThings:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageIoTResponse result = apiInstance.getUsageInternetOfThings()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageInternetOfThings");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for IoT
api_response = api_instance.get_usage_internet_of_things(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_internet_of_things: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for IoT
api_response = api_instance.get_usage_internet_of_things(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_internet_of_things: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for IoT
result = api_instance.get_usage_internet_of_things(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_internet_of_things: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/aws_lambdahttps://api.ddog-gov.com/api/v1/usage/aws_lambdahttps://api.datadoghq.com/api/v1/usage/aws_lambdahttps://api.us3.datadoghq.com/api/v1/usage/aws_lambda
Get hourly usage for lambda.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing the number of lambda functions and sum of the invocations of all lambda functions for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for Lambda.
func_count
int64
Contains the number of different functions for each region and AWS account.
hour
date-time
The hour for the usage.
invocations_sum
int64
Contains the sum of invocations of all functions.
{
"usage": [
{
"func_count": "integer",
"hour": "2019-09-19T10:00:00.000Z",
"invocations_sum": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/aws_lambda?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageLambda(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageLambda``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageLambda`: UsageLambdaResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageLambda:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageLambdaResponse result = apiInstance.getUsageLambda()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageLambda");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Lambda
api_response = api_instance.get_usage_lambda(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_lambda: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Lambda
api_response = api_instance.get_usage_lambda(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_lambda: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_aws_lambda_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for Lambda
result = api_instance.get_usage_lambda(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_lambda: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/logshttps://api.ddog-gov.com/api/v1/usage/logshttps://api.datadoghq.com/api/v1/usage/logshttps://api.us3.datadoghq.com/api/v1/usage/logs
Get hourly usage for logs.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing the number of logs for each hour.
Field
Type
Description
usage
[object]
An array of objects regarding hourly usage of logs.
billable_ingested_bytes
int64
Contains the number of billable log bytes ingested.
hour
date-time
The hour for the usage.
indexed_events_count
int64
Contains the number of log events indexed.
ingested_events_bytes
int64
Contains the number of log bytes ingested.
logs_live_indexed_count
int64
Contains the number of live log events indexed (data available as of December 1, 2020).
logs_live_ingested_bytes
int64
Contains the number of live log bytes ingested (data available as of December 1, 2020).
logs_rehydrated_indexed_count
int64
Contains the number of rehydrated log events indexed (data available as of December 1, 2020).
logs_rehydrated_ingested_bytes
int64
Contains the number of rehydrated log bytes ingested (data available as of December 1, 2020).
{
"usage": [
{
"billable_ingested_bytes": "integer",
"hour": "2019-09-19T10:00:00.000Z",
"indexed_events_count": "integer",
"ingested_events_bytes": "integer",
"logs_live_indexed_count": "integer",
"logs_live_ingested_bytes": "integer",
"logs_rehydrated_indexed_count": "integer",
"logs_rehydrated_ingested_bytes": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/logs?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageLogs(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageLogs``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageLogs`: UsageLogsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageLogs:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageLogsResponse result = apiInstance.getUsageLogs()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Logs
api_response = api_instance.get_usage_logs(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_logs: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Logs
api_response = api_instance.get_usage_logs(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_logs: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_logs_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for Logs
result = api_instance.get_usage_logs(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_logs: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/logs_by_indexhttps://api.ddog-gov.com/api/v1/usage/logs_by_indexhttps://api.datadoghq.com/api/v1/usage/logs_by_indexhttps://api.us3.datadoghq.com/api/v1/usage/logs_by_index
Get hourly usage for logs by index.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
index_name
array
Comma-separated list of log index names.
OK
Response containing the number of indexed logs for each hour and index for a given organization.
Field
Type
Description
usage
[object]
An array of objects regarding hourly usage of logs by index response.
event_count
int64
The total number of indexed logs for the queried hour.
hour
date-time
The hour for the usage.
index_id
string
The index ID for this usage.
index_name
string
The user specified name for this index ID.
retention
int64
The retention period (in days) for this index ID.
{
"usage": [
{
"event_count": "integer",
"hour": "2019-09-19T10:00:00.000Z",
"index_id": "string",
"index_name": "string",
"retention": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/logs_by_index?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
indexName := []string{"Inner_example"} // []string | Comma-separated list of log index names. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageLogsByIndex(ctx).StartHr(startHr).EndHr(endHr).IndexName(indexName).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageLogsByIndex``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageLogsByIndex`: UsageLogsByIndexResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageLogsByIndex:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
List<String> indexName = Arrays.asList(); // List<String> | Comma-separated list of log index names.
try {
UsageLogsByIndexResponse result = apiInstance.getUsageLogsByIndex()
.startHr(startHr)
.endHr(endHr)
.indexName(indexName)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageLogsByIndex");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
# Consult the ruby example
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
index_name = [
"index_name_example",
] # [str] | Comma-separated list of log index names. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Logs by Index
api_response = api_instance.get_usage_logs_by_index(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_logs_by_index: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Logs by Index
api_response = api_instance.get_usage_logs_by_index(start_hr, end_hr=end_hr, index_name=index_name)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_logs_by_index: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2020-01-01T00'
end_date='2019-01-01T02'
index_name='main, marketing'
dog.get_logs_by_index_usage(start_date, end_date, index_name)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
index_name: ['inner_example'] # Array<String> | Comma-separated list of log index names.
}
begin
# Get hourly usage for Logs by Index
result = api_instance.get_usage_logs_by_index(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_logs_by_index: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/network_flowshttps://api.ddog-gov.com/api/v1/usage/network_flowshttps://api.datadoghq.com/api/v1/usage/network_flowshttps://api.us3.datadoghq.com/api/v1/usage/network_flows
Get hourly usage for network flows.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the number of netflow events indexed for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for Network Flows.
hour
date-time
The hour for the usage.
indexed_event_count
int64
Contains the number of netflow events indexed.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"indexed_event_count": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/network_flows?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageNetworkFlows(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageNetworkFlows``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageNetworkFlows`: UsageNetworkFlowsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageNetworkFlows:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageNetworkFlowsResponse result = apiInstance.getUsageNetworkFlows()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageNetworkFlows");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Network Flows
api_response = api_instance.get_usage_network_flows(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_network_flows: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Network Flows
api_response = api_instance.get_usage_network_flows(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_network_flows: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_network_flows_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for Network Flows
result = api_instance.get_usage_network_flows(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_network_flows: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/network_hostshttps://api.ddog-gov.com/api/v1/usage/network_hostshttps://api.datadoghq.com/api/v1/usage/network_hostshttps://api.us3.datadoghq.com/api/v1/usage/network_hosts
Get hourly usage for network hosts.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing the number of active NPM hosts for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for NPM hosts.
host_count
int64
Contains the number of active NPM hosts.
hour
date-time
The hour for the usage.
{
"usage": [
{
"host_count": "integer",
"hour": "2019-09-19T10:00:00.000Z"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/network_hosts?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageNetworkHosts(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageNetworkHosts``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageNetworkHosts`: UsageNetworkHostsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageNetworkHosts:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
try {
UsageNetworkHostsResponse result = apiInstance.getUsageNetworkHosts()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageNetworkHosts");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for Network Hosts
api_response = api_instance.get_usage_network_hosts(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_network_hosts: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for Network Hosts
api_response = api_instance.get_usage_network_hosts(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_network_hosts: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_network_hosts_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
}
begin
# Get hourly usage for Network Hosts
result = api_instance.get_usage_network_hosts(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_network_hosts: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/profilinghttps://api.ddog-gov.com/api/v1/usage/profilinghttps://api.datadoghq.com/api/v1/usage/profilinghttps://api.us3.datadoghq.com/api/v1/usage/profiling
Get hourly usage for profiled hosts.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the number of profiled hosts for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for profiled hosts.
avg_container_agent_count
int64
Get average number of container agents for that hour.
host_count
int64
Contains the total number of profiled hosts reporting during a given hour.
hour
date-time
The hour for the usage.
{
"usage": [
{
"avg_container_agent_count": "integer",
"host_count": "integer",
"hour": "2019-09-19T10:00:00.000Z"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/profiling?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageProfiling(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageProfiling``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageProfiling`: UsageProfilingResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageProfiling:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageProfilingResponse result = apiInstance.getUsageProfiling()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageProfiling");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for profiled hosts
api_response = api_instance.get_usage_profiling(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_profiling: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for profiled hosts
api_response = api_instance.get_usage_profiling(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_profiling: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for profiled hosts
result = api_instance.get_usage_profiling(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_profiling: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/rum_sessionshttps://api.ddog-gov.com/api/v1/usage/rum_sessionshttps://api.datadoghq.com/api/v1/usage/rum_sessionshttps://api.us3.datadoghq.com/api/v1/usage/rum_sessions
Get hourly usage for RUM Sessions.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
type
string
RUM type: [browser, mobile]
. Defaults to browser
.
OK
Response containing the number of RUM Sessions for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for RUM Sessions.
hour
date-time
The hour for the usage.
session_count
int64
Contains the number of RUM Sessions.
session_count_android
int64
Contains the number of mobile RUM Sessions on Android (data available beginning December 1, 2020).
session_count_ios
int64
Contains the number of mobile RUM Sessions on iOS (data available beginning December 1, 2020).
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"session_count": "integer",
"session_count_android": "integer",
"session_count_ios": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/rum_sessions?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
type_ := "type__example" // string | RUM type: `[browser, mobile]`. Defaults to `browser`. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageRumSessions(ctx).StartHr(startHr).EndHr(endHr).Type_(type_).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageRumSessions``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageRumSessions`: UsageRumSessionsResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageRumSessions:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
String type = "type_example"; // String | RUM type: `[browser, mobile]`. Defaults to `browser`.
try {
UsageRumSessionsResponse result = apiInstance.getUsageRumSessions()
.startHr(startHr)
.endHr(endHr)
.type(type)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageRumSessions");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. (optional)
type = "type_example" # str | RUM type: `[browser, mobile]`. Defaults to `browser`. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for RUM Sessions
api_response = api_instance.get_usage_rum_sessions(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_rum_sessions: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for RUM Sessions
api_response = api_instance.get_usage_rum_sessions(start_hr, end_hr=end_hr, type=type)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_rum_sessions: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
start_date= '2019-10-07T00'
end_date='2019-10-07T02'
dog.get_rum_sessions_usage(start_date, end_date)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
type: 'type_example' # String | RUM type: `[browser, mobile]`. Defaults to `browser`.
}
begin
# Get hourly usage for RUM Sessions
result = api_instance.get_usage_rum_sessions(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_rum_sessions: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/snmphttps://api.ddog-gov.com/api/v1/usage/snmphttps://api.datadoghq.com/api/v1/usage/snmphttps://api.us3.datadoghq.com/api/v1/usage/snmp
Get hourly usage for SNMP devices.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh]
for usage ending
before this hour.
OK
Response containing the number of SNMP devices for each hour for a given organization.
Field
Type
Description
usage
[object]
Get hourly usage for SNMP devices.
hour
date-time
The hour for the usage.
snmp_devices
int64
Contains the number of SNMP devices.
{
"usage": [
{
"hour": "2019-09-19T10:00:00.000Z",
"snmp_devices": "integer"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden - User is not authorized
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start_hr="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/usage/snmp?start_hr=${start_hr}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
if site, ok := os.LookupEnv("DD_SITE"); ok {
ctx = context.WithValue(
ctx,
datadog.ContextServerVariables,
map[string]string{"site": site},
)
}
startHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
endHr := time.Now() // time.Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
configuration := datadog.NewConfiguration()
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.UsageMeteringApi.GetUsageSNMP(ctx).StartHr(startHr).EndHr(endHr).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UsageMeteringApi.GetUsageSNMP``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetUsageSNMP`: UsageSNMPResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from UsageMeteringApi.GetUsageSNMP:\n%s\n", response_content)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
go "main.go"
import java.time.OffsetDateTime;
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.UsageMeteringApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
UsageMeteringApi apiInstance = new UsageMeteringApi(defaultClient);
OffsetDateTime startHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
OffsetDateTime endHr = OffsetDateTime.now(); // OffsetDateTime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
try {
UsageSNMPResponse result = apiInstance.getUsageSNMP()
.startHr(startHr)
.endHr(endHr)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling UsageMeteringApi#getUsageSNMP");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import usage_metering_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Defining the site is optional and defaults to datadoghq.com
if "DD_SITE" in os.environ:
configuration.server_variables["site"] = os.environ["DD_SITE"]
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = usage_metering_api.UsageMeteringApi(api_client)
start_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
end_hr = dateutil_parser('1970-01-01T00:00:00.00Z') # datetime | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour. (optional)
# example passing only required values which don't have defaults set
try:
# Get hourly usage for SNMP devices
api_response = api_instance.get_usage_snmp(start_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_snmp: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get hourly usage for SNMP devices
api_response = api_instance.get_usage_snmp(start_hr, end_hr=end_hr)
pprint(api_response)
except ApiException as e:
print("Exception when calling UsageMeteringApi->get_usage_snmp: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
python3 "example.py"
require 'time'
require 'datadog_api_client'
DatadogAPIClient::V1.configure do |config|
# Defining the site is optional and defaults to datadoghq.com
config.server_variables['site'] = ENV["DD_SITE"] if ENV.key? 'DD_SITE'
# setup authorization
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
end
api_instance = DatadogAPIClient::V1::UsageMeteringApi.new
start_hr = Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
opts = {
end_hr: Time.parse('2013-10-20T19:20:30+01:00') # Time | Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.
}
begin
# Get hourly usage for SNMP devices
result = api_instance.get_usage_snmp(start_hr, opts)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling UsageMeteringApi->get_usage_snmp: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="https://api.datadoghq.euhttps://api.ddog-gov.comhttps://api.datadoghq.comhttps://api.us3.datadoghq.com"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/usage/synthetics_apihttps://api.ddog-gov.com/api/v1/usage/synthetics_apihttps://api.datadoghq.com/api/v1/usage/synthetics_apihttps://api.us3.datadoghq.com/api/v1/usage/synthetics_api
Get hourly usage for synthetics API checks.
Name
Type
Description
start_hr [required]
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
end_hr
string
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending before this hour.
OK
Response containing the number of Synthetics API tests run for each hour for a given organization.