diff --git a/internal/telemetry/client.go b/internal/telemetry/client.go index 55248e5d97..269d782241 100644 --- a/internal/telemetry/client.go +++ b/internal/telemetry/client.go @@ -472,8 +472,12 @@ func (c *client) newRequest(t RequestType) *Request { "DD-Client-Library-Version": {version.Tag}, "DD-Agent-Env": {c.Env}, "DD-Agent-Hostname": {hostname}, - "Datadog-Container-ID": {internal.ContainerID()}, - "Datadog-Entity-ID": {internal.EntityID()}, + } + if cid := internal.ContainerID(); cid != "" { + header.Set("Datadog-Container-ID", cid) + } + if eid := internal.EntityID(); eid != "" { + header.Set("Datadog-Entity-ID", eid) } if c.URL == getAgentlessURL() { header.Set("DD-API-KEY", c.APIKey) diff --git a/internal/telemetry/client_test.go b/internal/telemetry/client_test.go index 7c62d90503..b60d461660 100644 --- a/internal/telemetry/client_test.go +++ b/internal/telemetry/client_test.go @@ -435,3 +435,17 @@ func Test_heartbeatInterval(t *testing.T) { }) } } + +func TestNoEmptyHeaders(t *testing.T) { + c := &client{} + req := c.newRequest(RequestTypeAppStarted) + assertNotEmpty := func(header string) { + headers := *req.Header + vals := headers[header] + for _, v := range vals { + assert.NotEmpty(t, v, "%s header should not be empty", header) + } + } + assertNotEmpty("Datadog-Container-ID") + assertNotEmpty("Datadog-Entity-ID") +}