-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add map of TCP failures to connections object #301
Conversation
proto/process/connections.proto
Outdated
@@ -184,6 +184,9 @@ message Connection { | |||
|
|||
// serialized HTTP2Aggregations object summarizing all http2 transactions recorded for this connection, organized by request path | |||
bytes http2Aggregations = 50; | |||
|
|||
// serialized map of POSIX error codes (ex ETIMEOUT) to the number of times they have been encountered in the context of this connection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these codes meant to be platform dependent, or is windows meant to approximate the POSIX error codes ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows has said they can support the 3 initial codes we will support in linux. long term I don't think there needs to be platform parity, but I was also under the impression that POSIX codes were native to windows as well.
edit: I was wrong. I think we can ask windows to send the codes in POSIX format since they're just strings, or we can create our own format
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
POSIX APIs and errno's are available on Windows, but I think the question here is how the failed connections are implemented on Windows. I think we can standardize on POSIX error codes here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would you all feel about using a our own logical name for the error codes instead of potentially different Windows / Linux codes that mean the same thing? Instead of ETIMEOUT maybe represent it to the customer as DDTIMEOUT or something, just in case there is a difference between Windows / Linux. More of an idea than a suggestion - curious to hear thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we come up with our own error code scheme, I'd recommend using an int enum instead of string as it will serialize more efficiently
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually come to think of it I don't like the idea of the map key here being a string. I think this should be an int or an enum. enum seems more appealing to me, which means we should define our own codes. On linux they can map to POSIX error codes; Windows can do the same with whatever scheme they want to use to detect connection failures. This would also make it easier for the backend to interpret these errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works for me, I'll make the change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To clarify, @hmahmood / @akarpz - I might not be fully understanding. For the mapping, are we looking to have 1 enum that represents the logical behavior of the failed client side connection? As opposed to, a set of enums for Windows and for Linux?
The thing that is important to me here is that a failed TCP client connection should be displayed to the customer in the same way on Windows or on Linux. For example, if the connection is refused it should be CONNECTION_REFUSED
and if the connection times out, it should be CONNECTION_TIMEDOUT
, regardless of it came from Windows / Linux and regardless of how it was collected on Windows / Linux.
Probably will make sense when the example is up there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be the reason to use our enums, which is what I was trying to say in my last comment.
The thing that is important to me here is that a failed TCP client connection should be displayed to the customer in the same way on Windows or on Linux. For example, if the connection is refused it should be CONNECTION_REFUSED and if the connection times out, it should be CONNECTION_TIMEDOUT, regardless of it came from Windows / Linux and regardless of how it was collected on Windows / Linux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To address a few points:
-
I think the payload data should be platform agnostic. Windows and linux should set the same map keys and values, keeping an internal mapping if necessary.
-
In protobuf, enums can't be used as map keys. So we're left with using ints or strings.
-
I think it makes more sense to use ints. In linux, the errnos are ints (ie
ETIMEOUT
is110
). Storing them as strings in the payload means we have to map them from int -> string in the agent in userspace and store them that way on heap. Errnos are <256 I think, so we could even use int8 to store them in the agent and payload (which uses varint). At the scale of every connection, storing ints saves a decent amount of space vs strings. -
If we use ints, windows would have to map whatever the internal representation of an error is from that to the corresponding errno int. I think this is cheap
-
On the other end, we could delay the conversion of int -> string (however we want to display it to the user), until writing to EVP or even the UI.
What does everyone think? cc: @leeavital @hmahmood @richl-dd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for ASC
cws/dumpsv1/activity_dump.pb.go
Outdated
@@ -1,6 +1,6 @@ | |||
// Code generated by protoc-gen-go. DO NOT EDIT. | |||
// versions: | |||
// protoc-gen-go v1.34.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it really necessary to change this ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the rakefile specifies latest, so every time you run rake codegen
it may change these. I am in favor of hardcoding the version so version updates and functionality changes are not polluting each other's PRs
@@ -785,6 +785,8 @@ type Connection struct { | |||
DataStreamsAggregations []byte `protobuf:"bytes,49,opt,name=dataStreamsAggregations,proto3" json:"dataStreamsAggregations,omitempty"` | |||
// serialized HTTP2Aggregations object summarizing all http2 transactions recorded for this connection, organized by request path | |||
Http2Aggregations []byte `protobuf:"bytes,50,opt,name=http2Aggregations,proto3" json:"http2Aggregations,omitempty"` | |||
// serialized map of POSIX error codes to the number of times they have been encountered in the context of this connection (ex [110: 3] would mean that the connection has seen 3 ETIMEDOUT errors) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this PR POSIX specific or is this the general map of error codes across platforms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I propose above that it should be POSIX, and windows maps from the internal windows representation of an error to the POSIX representation of it. This should be pretty easy as for now it's just 3 things. For example WINTIMEOUT
would be 110
.
Rakefile
Outdated
@@ -88,7 +88,7 @@ BASH | |||
mv v5/process/proto/process/*.go process | |||
|
|||
# Install protoc-gen-go | |||
GOPATH=#{protoc_gen_go_dir} go install google.golang.org/protobuf/cmd/protoc-gen-go@latest | |||
GOPATH=#{protoc_gen_go_dir} go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@paulcacheux updated here
/merge |
🚂 MergeQueue Pull request added to the queue. This build is going to start soon! (estimated merge in less than 0s) Use |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/DataDog/agent-payload/v5](https://togithub.com/DataDog/agent-payload) | `v5.0.115` -> `v5.0.118` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.118?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.118?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.115/v5.0.118?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.115/v5.0.118?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/core/config](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/core/log](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2flog/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2flog/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2flog/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2flog/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fexporter%2flogsagentexporter/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fexporter%2flogsagentexporter/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fexporter%2flogsagentexporter/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fexporter%2flogsagentexporter/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/config/model](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/config/setup](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/proto](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/trace](https://togithub.com/DataDog/datadog-agent) | `v0.54.0-rc.4` -> `v0.54.0-rc.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.54.0-rc.4/v0.54.0-rc.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-api-client-go/v2](https://togithub.com/DataDog/datadog-api-client-go) | `v2.25.0` -> `v2.26.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.25.0/v2.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.25.0/v2.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/sketches-go](https://togithub.com/DataDog/sketches-go) | `v1.4.4` -> `v1.4.5` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fsketches-go/v1.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fsketches-go/v1.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fsketches-go/v1.4.4/v1.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fsketches-go/v1.4.4/v1.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>DataDog/agent-payload (github.com/DataDog/agent-payload/v5)</summary> ### [`v5.0.118`](https://togithub.com/DataDog/agent-payload/releases/tag/v5.0.118) [Compare Source](https://togithub.com/DataDog/agent-payload/compare/v5.0.117...v5.0.118) #### What's Changed - Regen from master due to Go version chnge by [@​vboulineau](https://togithub.com/vboulineau) in [DataDog/agent-payload#315 - \[NPM-3384] Add CCMEnabled field by [@​hmahmood](https://togithub.com/hmahmood) in [DataDog/agent-payload#314 **Full Changelog**: DataDog/agent-payload@v5.0.117...v5.0.118 ### [`v5.0.117`](https://togithub.com/DataDog/agent-payload/releases/tag/v5.0.117) [Compare Source](https://togithub.com/DataDog/agent-payload/compare/v5.0.116...v5.0.117) #### What's Changed - Add autoscaling proto + JSON Schema generation by [@​vboulineau](https://togithub.com/vboulineau) in [DataDog/agent-payload#302 - USMON-980: Enhance KafkaAggregation with Error Code and Latency Support by [@​DanielLavie](https://togithub.com/DanielLavie) in [DataDog/agent-payload#311 **Full Changelog**: DataDog/agent-payload@v5.0.116...v5.0.117 ### [`v5.0.116`](https://togithub.com/DataDog/agent-payload/releases/tag/v5.0.116) [Compare Source](https://togithub.com/DataDog/agent-payload/compare/v5.0.115...v5.0.116) #### What's Changed - \[CSM] Add AWS Security Credentials in process context by [@​Gui774ume](https://togithub.com/Gui774ume) in [DataDog/agent-payload#312 - \[NPM] Add map of TCP failures to connections object by [@​akarpz](https://togithub.com/akarpz) in [DataDog/agent-payload#301 #### New Contributors - [@​akarpz](https://togithub.com/akarpz) made their first contribution in [DataDog/agent-payload#301 **Full Changelog**: DataDog/agent-payload@v5.0.115...v5.0.116 </details> <details> <summary>DataDog/datadog-api-client-go (github.com/DataDog/datadog-api-client-go/v2)</summary> ### [`v2.26.0`](https://togithub.com/DataDog/datadog-api-client-go/releases/tag/v2.26.0) [Compare Source](https://togithub.com/DataDog/datadog-api-client-go/compare/v2.25.0...v2.26.0) <!-- Release notes generated using configuration in .github/release.yml at v2.26.0 --> #### What's Changed ##### Fixed - fix case search documentation by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2469 ##### Added - Add support variablesFromScript in Synthetics API test by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2471 - Add JSONSchema assertion support to API and multistep tests by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2448 - add 1 day logs to usage api docs by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2477 - Update UserTeamIncluded to include teams by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2482 - Security Monitoring - Make Default Tags available in the response by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2491 - Add flex logs storage tier by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2493 ##### Changed - Rename the Cloud Workload Security tag to CSM Threats by [@​api-clients-generation-pipeline](https://togithub.com/api-clients-generation-pipeline) in [DataDog/datadog-api-client-go#2481 **Full Changelog**: DataDog/datadog-api-client-go@v2.25.0...v2.26.0 </details> <details> <summary>DataDog/sketches-go (github.com/DataDog/sketches-go)</summary> ### [`v1.4.5`](https://togithub.com/DataDog/sketches-go/releases/tag/v1.4.5) [Compare Source](https://togithub.com/DataDog/sketches-go/compare/v1.4.4...v1.4.5) #### What's Changed - go.mod: update google.golang.org/protobuf to v1.32.0 & set go directive to 1.18 by [@​darccio](https://togithub.com/darccio) in [DataDog/sketches-go#78 #### New Contributors - [@​darccio](https://togithub.com/darccio) made their first contribution in [DataDog/sketches-go#78 **Full Changelog**: DataDog/sketches-go@v1.4.4...v1.4.5 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2OC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
What does this PR do?
Adds a new field to the
Connections
object in support of the TCP Failed Connections project.Motivation
https://datadoghq.atlassian.net/browse/NPM-3297
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Reviewer's Checklist
Reviewers: please see the review guidelines.