GET https://api.ap1.datadoghq.com/api/v1/graph/snapshot https://api.datadoghq.eu/api/v1/graph/snapshot https://api.ddog-gov.com/api/v1/graph/snapshot https://api.datadoghq.com/api/v1/graph/snapshot https://api.us3.datadoghq.com/api/v1/graph/snapshot https://api.us5.datadoghq.com/api/v1/graph/snapshot
Overview Take graph snapshots.
Note : When a snapshot is created, there is some delay before it is available.
Arguments Query Strings The POSIX timestamp of the start of the query in seconds.
The POSIX timestamp of the end of the query in seconds.
A query that adds event bands to the graph.
A JSON document defining the graph. graph_def
can be used instead of metric_query
.
The JSON document uses the grammar defined here
and should be formatted to a single line then URL encoded.
A title for the graph. If no title is specified, the graph does not have a title.
The height of the graph. If no height is specified, the graph’s original height is used.
The width of the graph. If no width is specified, the graph’s original width is used.
Response OK
Object representing a graph snapshot.
Expand All
A JSON document defining the graph. graph_def
can be used instead of metric_query
.
The JSON document uses the grammar defined here
and should be formatted to a single line then URL encoded.
The metric query. One of metric_query
or graph_def
is required.
{
"graph_def" : "string" ,
"metric_query" : "string" ,
"snapshot_url" : "https://app.datadoghq.com/s/f12345678/aaa-bbb-ccc"
}
Bad Request
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
}
Forbidden
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
}
Too many requests
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
}
Code Example Copy
# Required query arguments export metric_query = "CHANGE_ME" export start = "CHANGE_ME" export end = "CHANGE_ME" # Curl command curl -X GET "https://api.ap1.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v1/graph/snapshot ? metric_query = ${metric_query} & start = ${start} & end = ${end} " \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} "
"""
Take graph snapshots returns "OK" response
"""
from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v1.api.snapshots_api import SnapshotsApi
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = SnapshotsApi ( api_client )
response = api_instance . get_graph_snapshot (
metric_query = "avg:system.load.1{*}" ,
start = int (( datetime . now () + relativedelta ( days =- 1 )) . timestamp ()),
end = int ( datetime . now () . timestamp ()),
title = "System load" ,
height = 400 ,
width = 600 ,
)
print ( response )
Instructions First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Take graph snapshots returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: SnapshotsAPI . new
opts = {
metric_query : "avg:system.load.1{*}" ,
title : "System load" ,
height : 400 ,
width : 600 ,
}
p api_instance . get_graph_snapshot (( Time . now + - 1 * 86400 ) . to_i , Time . now . to_i , opts )
Instructions First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi :: Client . new ( api_key , app_key )
end_ts = Time . now () . to_i
start_ts = end_ts - ( 60 * 60 )
dog . graph_snapshot ( "system.load.1{*}" , start_ts , end_ts )
Instructions First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Take graph snapshots returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main () {
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV1 . NewSnapshotsApi ( apiClient )
resp , r , err := api . GetGraphSnapshot ( ctx , time . Now (). AddDate ( 0 , 0 , - 1 ). Unix (), time . Now (). Unix (), * datadogV1 . NewGetGraphSnapshotOptionalParameters (). WithMetricQuery ( "avg:system.load.1{*}" ). WithTitle ( "System load" ). WithHeight ( 400 ). WithWidth ( 600 ))
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `SnapshotsApi.GetGraphSnapshot`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `SnapshotsApi.GetGraphSnapshot`:\n%s\n" , responseContent )
}
Instructions First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" go run "main.go"
// Take graph snapshots returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.SnapshotsApi ;
import com.datadog.api.client.v1.api.SnapshotsApi.GetGraphSnapshotOptionalParameters ;
import com.datadog.api.client.v1.model.GraphSnapshot ;
import java.time.OffsetDateTime ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
SnapshotsApi apiInstance = new SnapshotsApi ( defaultClient );
try {
GraphSnapshot result =
apiInstance . getGraphSnapshot (
OffsetDateTime . now (). plusDays ( - 1 ). toInstant (). getEpochSecond (),
OffsetDateTime . now (). toInstant (). getEpochSecond (),
new GetGraphSnapshotOptionalParameters ()
. metricQuery ( "avg:system.load.1{*}" )
. title ( "System load" )
. height ( 400L )
. width ( 600L ));
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling SnapshotsApi#getGraphSnapshot" );
System . err . println ( "Status code: " + e . getCode ());
System . err . println ( "Reason: " + e . getResponseBody ());
System . err . println ( "Response headers: " + e . getResponseHeaders ());
e . printStackTrace ();
}
}
}
Instructions First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" java "Example.java"
from datadog import initialize , api
import time
options = {
'api_key' : '<DATADOG_API_KEY>' ,
'app_key' : '<DATADOG_APPLICATION_KEY>'
}
initialize ( ** options )
# Take a graph snapshot
end = int ( time . time ())
start = end - ( 60 * 60 )
api . Graph . create (
graph_def = '{ \
"viz": "timeseries", \
"requests": [ \
{"q": "avg:system.load.1{*}", "conditional_formats": [], "type": "line"}, \
{"q": "avg:system.load.5{*}", "type": "line"}, \
{"q": "avg:system.load.15{*}", "type": "line"} \
], \
"events": [ \
{"q": "hosts:* ", "tags_execution": "and"} \
]}' ,
start = start ,
end = end
)
Instructions First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python "example.py"
// Take graph snapshots returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV1 ::api_snapshots ::GetGraphSnapshotOptionalParams ;
use datadog_api_client ::datadogV1 ::api_snapshots ::SnapshotsAPI ;
#[tokio::main]
async fn main () {
let configuration = datadog ::Configuration ::new ();
let api = SnapshotsAPI ::with_config ( configuration );
let resp = api
. get_graph_snapshot (
1636542671 ,
1636629071 ,
GetGraphSnapshotOptionalParams ::default ()
. metric_query ( "avg:system.load.1{*}" . to_string ())
. title ( "System load" . to_string ())
. height ( 400 )
. width ( 600 ),
)
. await ;
if let Ok ( value ) = resp {
println! ( " {:#?} " , value );
} else {
println! ( " {:#?} " , resp . unwrap_err ());
}
}
Instructions First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" cargo run
/**
* Take graph snapshots returns "OK" response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . SnapshotsApi ( configuration );
const params : v1.SnapshotsApiGetGraphSnapshotRequest = {
metricQuery : "avg:system.load.1{*}" ,
start : Math.round (
new Date ( new Date (). getTime () + - 1 * 86400 * 1000 ). getTime () / 1000
),
end : Math.round ( new Date (). getTime () / 1000 ),
title : "System load" ,
height : 400 ,
width : 600 ,
};
apiInstance
. getGraphSnapshot ( params )
. then (( data : v1.GraphSnapshot ) => {
console . log (
"API called successfully. Returned data: " + JSON . stringify ( data )
);
})
. catch (( error : any ) => console . error ( error ));
Instructions First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" tsc "example.ts"