Skip to content

Unable to completely disable Npgsql tracing #5740

Closed
@samcarton

Description

@samcarton

Describe the bug

  • We have a scenario where we want to disable tracing completely for Npgsql - in this instance there is an issue with Npgsql where multiplexing and open telemetry tracing are causing runaway CPU and memory issues.
  • Simply setting DD_TRACE_Npgsql_ENABLED=false does cause datadog to ignore traces produced by Npgsql
  • However, because the datadog Tracer still listens to the Npgsql ActivitySource in the IgnoreActivityHandler, Npgsql is still producing the traces, and still causing runaway CPU and memory issues.
  • Is there any way to completely disconnect certain integrations?
  • This is hopefully a temporary issue on the Npgsql side, but in the meantime we appear to have no way to turn off the problematic tracing.
  • This is also a broader issue, in that the tracing overhead is still incurred even when you would expect an Ignored integration to disable tracing for that integration entirely, whatever your reason for doing so may be.

To Reproduce
Steps to reproduce the behavior:

  1. Disable tracing for an integration, eg DD_TRACE_Npgsql_ENABLED=false
  2. Notice traces are still being created by the code

Expected behavior

  • Ignored integrations shouldn't be tracing at all.
  • OR there should be a way to completely disable tracing for an integration, instead of the enabled-but-ignored scenario we have now.

Runtime environment (please complete the following information):

  • Instrumentation mode: Nuget
  • Tracer version: <PackageReference Include="Datadog.Trace" Version="2.45.0" />
  • CLR: .net core 8.0.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions