Skip to content

Continuous Profiler doesn't work with a datadog agent serving on HTTPS #3190

@naoki-kiryu-lvgs

Description

@naoki-kiryu-lvgs

Expected behaviour

Continuous profiles are correctly sent to a datadog agent with URL starting with https://.

Actual behaviour

When dd-trace tries to post a profile, it will get the following error:

TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"
    at new NodeError (node:internal/errors:387:5)
    at new ClientRequest (node:_http_client:186:11)
    at request (node:http:97:10)
    at /app/node_modules/dd-trace/packages/datadog-instrumentations/src/http/client.js:62:29
    at exports.AsyncResource.runInAsyncScope (node:async_hooks:203:9)
    at request (/app/node_modules/dd-trace/packages/datadog-instrumentations/src/http/client.js:51:28)
    at sendRequest (/app/node_modules/dd-trace/packages/dd-trace/src/profiling/exporters/agent.js:17:15)
    at RetryOperation._fn (/app/node_modules/dd-trace/packages/dd-trace/src/profiling/exporters/agent.js:140:9)
    at RetryOperation.attempt (/app/node_modules/dd-trace/node_modules/retry/lib/retry_operation.js:97:8)
    at /app/node_modules/dd-trace/packages/dd-trace/src/profiling/exporters/agent.js:110:17

Steps to reproduce

Set the following environment variables:

  • DD_PROFILING_ENABLED=true
  • DD_TRACE_DEBUG=true
  • DD_TRACE_LOG_LEVEL=true
  • DD_TRACE_AGENT_URL=https://... (URL of your datadog agent)

And launch a program with dd-trace/init.

Environment

  • Operation system: GCP Cloud Run
  • Node.js version: 16.20.0
  • Tracer version: 3.21.0
  • Agent version: 7.43.0
  • Relevant library versions:

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions