Get all aggregated connections

GET https://api.ap1.datadoghq.com/api/v2/network/connections/aggregatehttps://api.ap2.datadoghq.com/api/v2/network/connections/aggregatehttps://api.datadoghq.eu/api/v2/network/connections/aggregatehttps://api.ddog-gov.com/api/v2/network/connections/aggregatehttps://api.us2.ddog-gov.com/api/v2/network/connections/aggregatehttps://api.datadoghq.com/api/v2/network/connections/aggregatehttps://api.us3.datadoghq.com/api/v2/network/connections/aggregatehttps://api.us5.datadoghq.com/api/v2/network/connections/aggregate

Overview

Get all aggregated connections.

Arguments

Query Strings

Name

Type

Description

from

integer

Unix timestamp (number of seconds since epoch) of the start of the query window. If not provided, the start of the query window is 15 minutes before the to timestamp. If neither from nor to are provided, the query window is [now - 15m, now].

to

integer

Unix timestamp (number of seconds since epoch) of the end of the query window. If not provided, the end of the query window is the current time. If neither from nor to are provided, the query window is [now - 15m, now].

group_by

string

Comma-separated list of fields to group connections by. The maximum number of group_by(s) is 10.

tags

string

Comma-separated list of tags to filter connections by.

query

string

Free-form search query using AND/OR/NOT operators, wildcards, and parentheses. When provided, takes precedence over the tags parameter.

limit

integer

The number of connections to be returned. The maximum value is 7500. The default is 100.

Response

OK

List of aggregated connections.

Expand All

Field

Type

Description

data

[object]

Array of aggregated connection objects.

attributes

object

Attributes for an aggregated connection.

bytes_sent_by_client

int64

The total number of bytes sent by the client over the given period.

bytes_sent_by_server

int64

The total number of bytes sent by the server over the given period.

group_bys

object

The key, value pairs for each group by.

<any-key>

[string]

The values for each group by.

packets_sent_by_client

int64

The total number of packets sent by the client over the given period.

packets_sent_by_server

int64

The total number of packets sent by the server over the given period.

rtt_micro_seconds

int64

Measured as TCP smoothed round trip time in microseconds (the time between a TCP frame being sent and acknowledged).

tcp_closed_connections

int64

The number of TCP connections in a closed state. Measured in connections per second from the client.

tcp_delivered_ce

int64

The number of TCP segments acknowledged with the ECN Congestion Experienced (CE) mark, indicating that an upstream router marked packets as experiencing congestion.

tcp_established_connections

int64

The number of TCP connections in an established state. Measured in connections per second from the client.

tcp_probe0_count

int64

The number of TCP zero-window probes sent. These probes are sent when the receiver advertises a zero receive window, indicating it cannot accept more data.

tcp_rcv_ooo_pack

int64

The number of TCP packets received out of order. This indicates network-level packet reordering, which can degrade TCP performance by triggering spurious retransmissions and reducing throughput.

tcp_recovery_count

int64

The number of TCP fast recovery events. Fast recovery retransmits lost segments detected through duplicate ACKs or selective acknowledgment (SACK) without waiting for a retransmission timeout.

tcp_refusals

int64

The number of TCP connections that were refused by the server. Typically this indicates an attempt to connect to an IP/port that is not receiving connections, or a firewall/security misconfiguration.

tcp_reord_seen

int64

The number of times reordering of sent packets was detected. Reordering detection adjusts the duplicate ACK threshold, preventing spurious retransmissions caused by out-of-order delivery.

tcp_resets

int64

The number of TCP connections that were reset by the server.

tcp_retransmits

int64

TCP Retransmits represent detected failures that are retransmitted to ensure delivery. Measured in count of retransmits from the client.

tcp_rto_count

int64

The number of TCP retransmission timeouts (RTOs). An RTO occurs when an ACK is not received within the estimated round-trip time, forcing the sender to retransmit and halve its congestion window.

tcp_timeouts

int64

The number of TCP connections that timed out from the perspective of the operating system. This can indicate general connectivity and latency issues.

id

string

A unique identifier for the aggregated connection based on the group by values.

type

enum

Aggregated connection resource type. Allowed enum values: aggregated_connection

default: aggregated_connection

{
  "data": [
    {
      "attributes": {
        "bytes_sent_by_client": 100,
        "bytes_sent_by_server": 200,
        "group_bys": {
          "client_team": [
            "networks"
          ],
          "server_service": [
            "hucklebuck"
          ]
        },
        "packets_sent_by_client": 10,
        "packets_sent_by_server": 20,
        "rtt_micro_seconds": 800,
        "tcp_closed_connections": 30,
        "tcp_delivered_ce": 12,
        "tcp_established_connections": 40,
        "tcp_probe0_count": 2,
        "tcp_rcv_ooo_pack": 15,
        "tcp_recovery_count": 8,
        "tcp_refusals": 7,
        "tcp_reord_seen": 4,
        "tcp_resets": 5,
        "tcp_retransmits": 30,
        "tcp_rto_count": 3,
        "tcp_timeouts": 6
      },
      "id": "client_team:networks, server_service:hucklebuck",
      "type": "aggregated_connection"
    }
  ]
}

Bad Request

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Code Example

                  # Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/network/connections/aggregate" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get all aggregated connections returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_network_monitoring_api import CloudNetworkMonitoringApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CloudNetworkMonitoringApi(api_client)
    response = api_instance.get_aggregated_connections()

    print(response)

Instructions

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

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Get all aggregated connections returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CloudNetworkMonitoringAPI.new
p api_instance.get_aggregated_connections()

Instructions

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

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Get all aggregated connections returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCloudNetworkMonitoringApi(apiClient)
	resp, r, err := api.GetAggregatedConnections(ctx, *datadogV2.NewGetAggregatedConnectionsOptionalParameters())

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CloudNetworkMonitoringApi.GetAggregatedConnections`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CloudNetworkMonitoringApi.GetAggregatedConnections`:\n%s\n", responseContent)
}

Instructions

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

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Get all aggregated connections returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CloudNetworkMonitoringApi;
import com.datadog.api.client.v2.model.SingleAggregatedConnectionResponseArray;

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

    try {
      SingleAggregatedConnectionResponseArray result = apiInstance.getAggregatedConnections();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CloudNetworkMonitoringApi#getAggregatedConnections");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Instructions

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

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Get all aggregated connections returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_cloud_network_monitoring::CloudNetworkMonitoringAPI;
use datadog_api_client::datadogV2::api_cloud_network_monitoring::GetAggregatedConnectionsOptionalParams;

#[tokio::main]
async fn main() {
    let configuration = datadog::Configuration::new();
    let api = CloudNetworkMonitoringAPI::with_config(configuration);
    let resp = api
        .get_aggregated_connections(GetAggregatedConnectionsOptionalParams::default())
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * Get all aggregated connections returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CloudNetworkMonitoringApi(configuration);

apiInstance
  .getAggregatedConnections()
  .then((data: v2.SingleAggregatedConnectionResponseArray) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));

Instructions

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

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"