Status | |
---|---|
Stability | development: traces, metrics, logs, profiles |
Distributions | core, contrib, k8s |
Warnings | Unstable Output Format |
Issues |
Outputs telemetry data to the console for debugging purposes.
See also the Troubleshooting document for examples on using this exporter.
The following settings are optional:
verbosity
(default =basic
): the verbosity of the debug exporter (detailed|normal|basic). When set todetailed
, pipeline data is verbosely logged.sampling_initial
(default =2
): number of messages initially logged each second.sampling_thereafter
(default =1
): sampling rate after the initial messages are logged (every Mth message is logged). The default value of1
means that sampling is disabled. To enable sampling, changesampling_thereafter
to a value higher than1
. Refer to Zap docs for more details on how sampling parameters impact number of messages.use_internal_logger
(default =true
): uses the collector's internal logger for output. See below for description.
Example configuration:
exporters:
debug:
verbosity: detailed
sampling_initial: 5
sampling_thereafter: 200
The following subsections describe the output from the exporter depending on the configured verbosity level - basic
, normal
and detailed
.
The default verbosity level is basic
.
With verbosity: basic
, the exporter outputs a single-line summary of received data with a total count of telemetry records for every batch of received logs, metrics or traces.
Here's an example output:
2023-11-10T22:49:03.510-0600 info TracesExporter {"kind": "exporter", "data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}
With verbosity: normal
, the exporter outputs about one line for each telemetry record.
The "one line per telemetry record" is not a strict rule.
For example, logs with multiline body will be output as multiple lines.
Here's an example output:
2024-06-24T15:18:58.559+0200 info TracesExporter {"kind": "exporter", "data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}
2024-06-24T15:18:58.559+0200 info okey-dokey-0 4bdc558f0f0650e3ccaac8f3ae133954 8b69459f015c164b net.peer.ip=1.2.3.4 peer.service=telemetrygen-client
lets-go 4bdc558f0f0650e3ccaac8f3ae133954 8820ee5366817639 net.peer.ip=1.2.3.4 peer.service=telemetrygen-server
{"kind": "exporter", "data_type": "traces", "name": "debug"}
With verbosity: detailed
, the exporter outputs all details of every telemetry record, typically writing multiple lines for every telemetry record.
Here's an example output:
2023-11-10T22:49:03.510-0600 info TracesExporter {"kind": "exporter", "data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}
2023-11-10T22:49:03.510-0600 info ResourceSpans #0
Resource SchemaURL: https://opentelemetry.io/schemas/1.4.0
Resource attributes:
-> service.name: Str(telemetrygen)
ScopeSpans #0
ScopeSpans SchemaURL:
InstrumentationScope telemetrygen
Span #0
Trace ID : 3bde5d3ee82303571bba6e1136781fe4
Parent ID : 5e9dcf9bac4acc1f
ID : 2cf3ef2899aba35c
Name : okey-dokey
Kind : Server
Start time : 2023-11-11 04:49:03.509369393 +0000 UTC
End time : 2023-11-11 04:49:03.50949377 +0000 UTC
Status code : Unset
Status message :
Attributes:
-> net.peer.ip: Str(1.2.3.4)
-> peer.service: Str(telemetrygen-client)
Span #1
Trace ID : 3bde5d3ee82303571bba6e1136781fe4
Parent ID :
ID : 5e9dcf9bac4acc1f
Name : lets-go
Kind : Client
Start time : 2023-11-11 04:49:03.50935117 +0000 UTC
End time : 2023-11-11 04:49:03.50949377 +0000 UTC
Status code : Unset
Status message :
Attributes:
-> net.peer.ip: Str(1.2.3.4)
-> peer.service: Str(telemetrygen-server)
{"kind": "exporter", "data_type": "traces", "name": "debug"}
When use_internal_logger
is set to true
(the default), the exporter uses the collector's internal logger for output.
This comes with the following consequences:
- The output from the exporter may be annotated by additional output from the collector's logger.
- The output from the exporter is affected by the collector's logging configuration specified in
service::telemetry::logs
.
When use_internal_logger
is set to false
, the exporter does not use the collector's internal logger.
Changing the values in service::telemetry::logs
has no effect on the exporter's output.
The exporter's output is sent to stdout
.
- Unstable Output Format: The output formats for all verbosity levels is not guaranteed and may be changed at any time without a breaking change.