<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Explicitly error out if the passed `component.ID` does not have a matching `component.Type` <!-- Issue number if applicable --> #### Link to tracking issue Updates #12221 |
||
|---|---|---|
| .. | ||
| internal | ||
| testdata | ||
| Makefile | ||
| README.md | ||
| config.go | ||
| config_test.go | ||
| doc.go | ||
| exporter.go | ||
| exporter_test.go | ||
| factory.go | ||
| factory_test.go | ||
| generated_component_test.go | ||
| generated_package_test.go | ||
| go.mod | ||
| go.sum | ||
| metadata.yaml | ||
README.md
Debug Exporter
| Status | |
|---|---|
| Stability | development: traces, metrics, logs, profiles |
| Distributions | core, contrib, k8s |
| Warnings | Unstable Output Format |
| Issues | |
| Code Owners | @andrzej-stencel |
Outputs telemetry data to the console for debugging purposes.
See also the Troubleshooting document for examples on using this exporter.
Getting Started
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 of1means that sampling is disabled. To enable sampling, changesampling_thereafterto 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
Verbosity levels
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.
Basic verbosity
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}
Normal verbosity
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"}
Detailed verbosity
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"}
Using the collector's internal logger
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.
Warnings
- Unstable Output Format: The output formats for all verbosity levels is not guaranteed and may be changed at any time without a breaking change.