Skip to content

use cases #2

@Habbie

Description

@Habbie

Text copied from @omoerbeek in PowerDNS/pdns#15668 (comment)

The offline discussion resulted in a summary of cases, which I will list below. This probably should be added to the draft

  • A service can act as a initiator, or receive DNS requests itself. A service can also send DNS requests to other services.
  • A service can either produce a telemetry stream itself or not. sdig is an example of a initiator that does not produce telemetry, rec is a both a receiver and producer of DNS messages and creates a telemetry stream. With this PR rec uses the incoming TraceID/SpanID, but does not send out any yet.
  • If you're an initiator, you can create a TraceID and pass it on to the next in the chain.
  • If you as an initiator produce telemetry, you create a Span with an empty parent SpanID en a non-empty SpanID. You pass the SpanID and the TraceID to the next in the chain.
  • If you're an initiator that does not generate telemetry you pass an empty SpanID and a (non-empty) TraceID (this is the sdig case).
  • If you receive a TraceID and SpanID and you generate telemetry (you create Spans yourself), you use the incoming TraceID, and the Spans you create get as parent the incoming SpanID. If you do not create Spans yourself, you pass the received TraceID and SpanID to the next in the chain.

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