You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pdns/recursordist/docs/performance.rst
+18-13Lines changed: 18 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -413,19 +413,20 @@ There is no packet cache hit, so SyncRes is called which does a couple of outgoi
413
413
OpenTelemetry Traces
414
414
^^^^^^^^^^^^^^^^^^^^
415
415
416
-
OpenTelemetry Traces are generated by setting :ref:`setting-yaml-recursor.event_trace_enabled` or by using the :doc:`rec_control <manpages/rec_control.1>` subcommand ``set-event-trace-enabled`` to a value that includes 4.
416
+
OpenTelemetry Traces are generated by setting :ref:`setting-yaml-recursor.event_trace_enabled` or by using the :doc:`rec_control <manpages/rec_control.1>` subcommand ``set-event-trace-enabled``.
417
+
:ref:`setting-yaml-recursor.event_trace_enabled` describes which values enable OpenTelemetry Traces.
417
418
418
419
:program:`Recursor` will set the ``openTelemetryData`` field of ``dnsmessage.proto`` messages generated to contain OpenTelemetry Traces, encoded as Protobuf data.
419
420
The encoding used is defined in https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/trace/v1/trace.proto.
420
421
421
422
OpenTelemetry Trace Conditions
422
423
""""""""""""""""""""""""""""""
423
424
424
-
Starting with version 5.4.0, the OpenTelemetry Trace data is only generated if :ref:`setting-yaml-recursor.event_trace_enabled` includes 4 *and* a matching condition from :ref:`setting-yaml-logging.opentelemetry_trace_conditions` evaluates to ``true``.
425
+
Starting with version 5.4.0, the OpenTelemetry Trace data is only generated if :ref:`setting-yaml-recursor.event_trace_enabled` is set to enable OpenTelemetry Tracing *and* a matching condition from :ref:`setting-yaml-logging.opentelemetry_trace_conditions` evaluates to ``true``.
425
426
426
427
For a match to occur, the origin address of the query should match a subnet in `acls`.
427
-
If the proxy protocol is used, the source specified by the proxy protocol header is used to match.
428
-
If Table Based Proxy Mapping is active, the mapped address is used.
428
+
If the :ref:`Proxy Protocol <setting-yaml-incoming.proxy_protocol_from>` is used, the source address included the proxy protocol header is used to match.
429
+
If :doc:`lua-config/proxymapping` is active, the mapped address is used.
429
430
430
431
If a matching condition is found, the corresponding subconditions are evaluated.
431
432
If all mentioned subconditions are satisfied, the condition evaluates to ``true`` and OpenTelemetry Trace data is generated.
@@ -442,14 +443,18 @@ In the following example, two conditions are specified:
442
443
443
444
.. code-block:: yaml
444
445
445
-
logging:
446
-
opentelemetry_trace_conditions:
447
-
- acls: [127.0.0.1, '::1']
448
-
- acls: [192.168.178.0/24]
449
-
qnames: [a.very.specific.suffix]
450
-
qtypes: ['A', 'AAAA']
451
-
qid: 1234
452
-
edns_option_required: true
446
+
recursor:
447
+
event_trace_enabled: 4
448
+
logging:
449
+
protobuf_server:
450
+
- servers: [127.0.0.1:9999]
451
+
opentelemetry_trace_conditions:
452
+
- acls: [127.0.0.1, '::1']
453
+
- acls: [192.168.178.0/24]
454
+
qnames: [a.very.specific.suffix]
455
+
qtypes: ['A', 'AAAA']
456
+
qid: 1234
457
+
edns_option_required: true
453
458
454
459
The first condition specifies that all queries coming from ``127.0.0.1`` or ``::1`` should generate trace information.
455
460
No subconditions are relevant.
@@ -459,7 +464,7 @@ The second condition specifies that queries coming from the ``192.167.178.0/24``
459
464
Queries coming from an IP not matching any of the mentioned subnets will not generate OpenTelemetry Trace information.
460
465
461
466
Note that only the source IP is used to select a condition to evaluate.
462
-
It is undefined what happens if a subnet occurs multiple times in all :ref:`setting-yaml-logging.opentelemetry_trace_conditions`.
467
+
If a subnet occurs multiple times in all :ref:`setting-yaml-logging.opentelemetry_trace_conditions`, only that last condition mentioned is effective.
463
468
464
469
To generate OpenTelemetry Trace information for all queries (matching the 5.3.x behaviour), the following condition can be used:
0 commit comments