Snapshots

Snapshots

Prenez des snapshots de graphiques à l’aide de l’API.

GET https://api.datadoghq.eu/api/v1/graph/snapshothttps://api.ddog-gov.com/api/v1/graph/snapshothttps://api.datadoghq.com/api/v1/graph/snapshothttps://api.us3.datadoghq.com/api/v1/graph/snapshot

Présentation

Prenez des snapshots de graphiques. Remarque : lorsqu’un snapshot est créé, vous devez attendre un certain temps avant de pouvoir y accéder.

Arguments

Chaînes de requête

Nom

Type

Description

metric_query

string

The metric query.

start [required]

integer

The POSIX timestamp of the start of the query.

end [required]

integer

The POSIX timestamp of the end of the query.

event_query

string

A query that adds event bands to the graph.

graph_def

string

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.

title

string

A title for the graph. If no title is specified, the graph does not have a title.

Réponse

OK

Object representing a graph snapshot.

Expand All

Champ

Type

Description

graph_def

string

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.

metric_query

string

The metric query. One of metric_query or graph_def is required.

snapshot_url

string

URL of your graph snapshot.

{
  "graph_def": "string",
  "metric_query": "string",
  "snapshot_url": "https://app.datadoghq.com/s/f12345678/aaa-bbb-ccc"
}

Bad Request

Error response object.

Expand All

Champ

Type

Description

errors [required]

[string]

Array of errors returned by the API.

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

Forbidden

Error response object.

Expand All

Champ

Type

Description

errors [required]

[string]

Array of errors returned by the API.

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

Exemple de code


# Required query arguments
export start="CHANGE_ME"
export end="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/graph/snapshot&start=${start}&end=${end}" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
package main

import (
    "context"
    "encoding/json"
    "fmt"
    "os"
    datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)

func main() {
    ctx := datadog.NewDefaultContext(context.Background())

    start := int64(789) // int64 | The POSIX timestamp of the start of the query.
    end := int64(789) // int64 | The POSIX timestamp of the end of the query.
    metricQuery := "metricQuery_example" // string | The metric query. (optional)
    eventQuery := "eventQuery_example" // string | A query that adds event bands to the graph. (optional)
    graphDef := "graphDef_example" // string | A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) and should be formatted to a single line then URL encoded. (optional)
    title := "title_example" // string | A title for the graph. If no title is specified, the graph does not have a title. (optional)
    optionalParams := datadog.GetGraphSnapshotOptionalParameters{
        MetricQuery: &metricQuery,
        EventQuery: &eventQuery,
        GraphDef: &graphDef,
        Title: &title,
    }

    configuration := datadog.NewConfiguration()

    apiClient := datadog.NewAPIClient(configuration)
    resp, r, err := apiClient.SnapshotsApi.GetGraphSnapshot(ctx, start, end, optionalParams)
    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)
    }
    // response from `GetGraphSnapshot`: GraphSnapshot
    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:

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
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 snapshots_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()

# 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 = snapshots_api.SnapshotsApi(api_client)
    start = 1  # int | The POSIX timestamp of the start of the query.
    end = 1  # int | The POSIX timestamp of the end of the query.
    metric_query = "metric_query_example"  # str | The metric query. (optional)
    event_query = "event_query_example"  # str | A query that adds event bands to the graph. (optional)
    graph_def = "graph_def_example"  # str | A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) and should be formatted to a single line then URL encoded. (optional)
    title = "title_example"  # str | A title for the graph. If no title is specified, the graph does not have a title. (optional)

    # example passing only required values which don't have defaults set
    try:
        # Take graph snapshots
        api_response = api_instance.get_graph_snapshot(start, end)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling SnapshotsApi->get_graph_snapshot: %s\n" % e)

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # Take graph snapshots
        api_response = api_instance.get_graph_snapshot(start, end, metric_query=metric_query, event_query=event_query, graph_def=graph_def, title=title)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling SnapshotsApi->get_graph_snapshot: %s\n" % e)

Instructions

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

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::SnapshotsAPI.new
start = 789 # Integer | The POSIX timestamp of the start of the query.
_end = 789 # Integer | The POSIX timestamp of the end of the query.
opts = {
  metric_query: 'metric_query_example', # String | The metric query.
  event_query: 'event_query_example', # String | A query that adds event bands to the graph.
  graph_def: 'graph_def_example', # String | A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) and should be formatted to a single line then URL encoded.
  title: 'title_example' # String | A title for the graph. If no title is specified, the graph does not have a title.
}

begin
  # Take graph snapshots
  result = api_instance.get_graph_snapshot(start, _end, opts)
  p result
rescue DatadogAPIClient::V1::APIError => e
  puts "Error when calling SnapshotsAPI->get_graph_snapshot: #{e}"
end

Instructions

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

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
import { v1 } from '@datadog/datadog-api-client';
import * as fs from 'fs';

const configuration = v1.createConfiguration();
const apiInstance = new v1.SnapshotsApi(configuration);

let params:v1.SnapshotsApiGetGraphSnapshotRequest = {
  // number | The POSIX timestamp of the start of the query.
  start: 1,
  // number | The POSIX timestamp of the end of the query.
  end: 1,
  // string | The metric query. (optional)
  metricQuery: "metric_query_example",
  // string | A query that adds event bands to the graph. (optional)
  eventQuery: "event_query_example",
  // string | A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) and should be formatted to a single line then URL encoded. (optional)
  graphDef: "graph_def_example",
  // string | A title for the graph. If no title is specified, the graph does not have a title. (optional)
  title: "title_example",
};

apiInstance.getGraphSnapshot(params).then((data:any) => {
  console.log('API called successfully. Returned data: ' + JSON.stringify(data));
}).catch((error:any) => console.error(error));

Instructions

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

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
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.model.*;
import com.datadog.api.v1.client.api.SnapshotsApi;

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

        SnapshotsApi apiInstance = new SnapshotsApi(defaultClient);
        Long start = 56L; // Long | The POSIX timestamp of the start of the query.
        Long end = 56L; // Long | The POSIX timestamp of the end of the query.
        String metricQuery = "metricQuery_example"; // String | The metric query.
        String eventQuery = "eventQuery_example"; // String | A query that adds event bands to the graph.
        String graphDef = "graphDef_example"; // String | A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) and should be formatted to a single line then URL encoded.
        String title = "title_example"; // String | A title for the graph. If no title is specified, the graph does not have a title.
        try {
	    GraphSnapshot result = apiInstance.getGraphSnapshot(start, end, new SnapshotsApi.GetGraphSnapshotOptionalParameters()
                .metricQuery(metricQuery)
                .eventQuery(eventQuery)
                .graphDef(graphDef)
                .title(title));
            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:

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<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:

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python "example.py"
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:

              
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"