Skip to content

Commit caadbbc

Browse files
authored
Decentralize component documentation (#1089)
* Split out processor READMEs * Split out exporter READMEs * Split out extension READMEs * Split out receiver READMEs * Add new line at end of READMEs
1 parent 81e05c2 commit caadbbc

File tree

31 files changed

+1149
-1117
lines changed

31 files changed

+1149
-1117
lines changed

docs/troubleshooting.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ to the `otelcol` process. See `--help` for more details.
1414
- [Local exporters](https://github.com/open-telemetry/opentelemetry-collector/tree/master/exporter#local-exporters)
1515
can be configured to inspect the data being processed by the Collector.
1616

17-
- The [health_check](https://github.com/open-telemetry/opentelemetry-collector/blob/master/extension/README.md#health_check)
17+
- The [health_check](https://github.com/open-telemetry/opentelemetry-collector/tree/master/extension/healthcheckextension/README.md)
1818
extension, which by default is on port `13133`, can be used to ensure
1919
the Collector is functioning properly.
2020

21-
- The [zpages](https://github.com/open-telemetry/opentelemetry-collector/blob/master/extension/README.md#zpages)
21+
- The [zpages](https://github.com/open-telemetry/opentelemetry-collector/tree/master/extension/zpagesextension/README.md)
2222
extension, which by default is on port `55679`, can be used to check
2323
receivers and exporters trace operations via `/debug/tracez`.
2424

25-
- The [pprof](https://github.com/open-telemetry/opentelemetry-collector/blob/master/extension/README.md#pprof)
25+
- The [pprof](https://github.com/open-telemetry/opentelemetry-collector/tree/master/extension/pprofextension/README.md)
2626
extension, which by default is on port `1777`, allows you to profile the
2727
Collector as it runs.
2828

@@ -35,7 +35,7 @@ The Collector may exit/restart if it is not
3535
or configured properly, for example a queue size configured higher than
3636
available memory. In most cases, restarts are due to memory
3737
pressure. To mitigate this, we recommend you configure the
38-
[memory_limiter](https://github.com/open-telemetry/opentelemetry-collector/tree/master/processor#memory-limiter)
38+
[memory_limiter](https://github.com/open-telemetry/opentelemetry-collector/blob/master/processor/memorylimiter/README.md)
3939
processor.
4040

4141
Note: restarts may be due to resource limits configured on the Collector.
@@ -48,7 +48,7 @@ Data may be dropped for a variety of reasons, but most commonly because of an:
4848
- Exporter destination unavailable or accepting the data too slowly.
4949

5050
To mitigate drops, it is highly recommended to configure the
51-
[queued_retry](https://github.com/open-telemetry/opentelemetry-collector/tree/master/processor#queued-retry)
51+
[queued_retry](https://github.com/open-telemetry/opentelemetry-collector/blob/master/processor/queuedprocessor/README.md)
5252
processor.
5353

5454
### Receiving data not working

exporter/README.md

+9-226
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ exporter translates the internal format into another defined format.
55

66
Supported trace exporters (sorted alphabetically):
77

8-
- [Jaeger](#jaeger)
9-
- [OpenCensus](#opencensus-traces)
10-
- [OTLP](#otlp-traces)
11-
- [Zipkin](#zipkin)
8+
- [Jaeger](jaegerexporter/README.md)
9+
- [OpenCensus](opencensusexporter/README.md)
10+
- [OTLP](otlpexporter/README.md)
11+
- [Zipkin](zipkinexporter/README.md)
1212

1313
Supported metric exporters (sorted alphabetically):
1414

15-
- [OpenCensus](#opencensus-metrics)
16-
- [Prometheus](#prometheus)
15+
- [OpenCensus](opencensusexporter/README.md)
16+
- [Prometheus](prometheusexporter/README.md)
1717

1818
Supported local exporters (sorted alphabetically):
1919

20-
- [File](#file)
21-
- [Logging](#logging)
20+
- [File](fileexporter/README.md)
21+
- [Logging](loggingexporter/README.md)
2222

2323
The [contributors repository](https://github.com/open-telemetry/opentelemetry-collector-contrib)
2424
has more exporters that can be added to custom builds of the Collector.
@@ -45,222 +45,5 @@ function is called. Exporters MUST NOT modify the `TraceData`/`MetricsData` argu
4545
these functions. If the exporter needs to modify the data while performing the exporting
4646
the exporter can clone the data and perform the modification on the clone or use a
4747
copy-on-write approach for individual sub-parts of `TraceData`/`MetricsData` argument.
48-
Any approach that does not mutate the original `TraceData`/`MetricsData` argument
48+
Any approach that does not mutate the original `TraceData`/`MetricsData` argument
4949
(including referenced data, such as `Node`, `Resource`, `Spans`, etc) is allowed.
50-
51-
# <a name="trace-exporters"></a>Trace Exporters
52-
53-
## <a name="jaeger"></a>Jaeger Exporter
54-
Exports trace data to [Jaeger](https://www.jaegertracing.io/) collectors. The following settings are required:
55-
56-
- `endpoint` (no default): target to which the exporter is going to send Jaeger trace data,
57-
using the gRPC protocol. The valid syntax is described at
58-
https://github.com/grpc/grpc/blob/master/doc/naming.md
59-
60-
The following settings can be optionally configured:
61-
62-
- `cert_pem_file`: certificate file for TLS credentials of gRPC client. Should
63-
only be used if `insecure` is set to false.
64-
- `keepalive`: keepalive parameters for client gRPC. See
65-
[grpc.WithKeepaliveParams()](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams).
66-
- `insecure`: whether to disable client transport security for the exporter's gRPC
67-
connection. See [grpc.WithInsecure()](https://godoc.org/google.golang.org/grpc#WithInsecure).
68-
- `server_name_override`: If set to a non empty string, it will override the virtual host name
69-
of authority (e.g. :authority header field) in requests (typically used for testing).
70-
71-
Example:
72-
73-
```yaml
74-
exporters:
75-
jaeger:
76-
endpoint: jaeger-all-in-one:14250
77-
cert_pem_file: /my-cert.pem
78-
server_name_override: opentelemetry.io
79-
```
80-
81-
The full list of settings exposed for this exporter are documented [here](jaegerexporter/config.go)
82-
with detailed sample configurations [here](jaegerexporter/testdata/config.yaml).
83-
84-
## <a name="opencensus-traces"></a>OpenCensus Exporter
85-
Exports traces and/or metrics to another Collector via gRPC using OpenCensus format.
86-
87-
The following settings are required:
88-
89-
- `endpoint`: target to which the exporter is going to send traces or metrics,
90-
using the gRPC protocol. The valid syntax is described at
91-
https://github.com/grpc/grpc/blob/master/doc/naming.md.
92-
93-
The following settings can be optionally configured:
94-
95-
- `cert_pem_file`: certificate file for TLS credentials of gRPC client. Should
96-
only be used if `secure` is set to true.
97-
- `compression`: compression key for supported compression types within
98-
collector. Currently the only supported mode is `gzip`.
99-
- `headers`: the headers associated with gRPC requests.
100-
- `keepalive`: keepalive parameters for client gRPC. See
101-
[grpc.WithKeepaliveParams()](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams).
102-
- `num_workers` (default = 2): number of workers that send the gRPC requests. Optional.
103-
- `reconnection_delay`: time period between each reconnection performed by the
104-
exporter.
105-
- `secure`: whether to enable client transport security for the exporter's gRPC
106-
connection. See [grpc.WithInsecure()](https://godoc.org/google.golang.org/grpc#WithInsecure).
107-
108-
Example:
109-
110-
```yaml
111-
exporters:
112-
opencensus:
113-
endpoint: localhost:14250
114-
reconnection_delay: 60s
115-
secure: false
116-
```
117-
118-
The full list of settings exposed for this exporter are documented [here](opencensusexporter/config.go)
119-
with detailed sample configurations [here](opencensusexporter/testdata/config.yaml).
120-
121-
## <a name="otlp-traces"></a>OTLP Exporter
122-
Exports traces and/or metrics to another Collector via gRPC using OTLP format.
123-
124-
The following settings are required:
125-
126-
- `endpoint`: target to which the exporter is going to send traces or metrics,
127-
using the gRPC protocol. The valid syntax is described at
128-
https://github.com/grpc/grpc/blob/master/doc/naming.md.
129-
130-
The following settings can be optionally configured:
131-
132-
- `cert_pem_file`: certificate file for TLS credentials of gRPC client. Should
133-
only be used if `secure` is set to true.
134-
- `compression`: compression key for supported compression types within
135-
collector. Currently the only supported mode is `gzip`.
136-
- `headers`: the headers associated with gRPC requests.
137-
- `keepalive`: keepalive parameters for client gRPC. See
138-
[grpc.WithKeepaliveParams()](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams).
139-
- `num_workers` (default = 2): number of workers that send the gRPC requests. Optional.
140-
- `reconnection_delay`: time period between each reconnection performed by the
141-
exporter.
142-
- `secure`: whether to enable client transport security for the exporter's gRPC
143-
connection. See [grpc.WithInsecure()](https://godoc.org/google.golang.org/grpc#WithInsecure).
144-
145-
Example:
146-
147-
```yaml
148-
exporters:
149-
otlp:
150-
endpoint: localhost:14250
151-
reconnection_delay: 60s
152-
secure: false
153-
```
154-
155-
The full list of settings exposed for this exporter are documented [here](otlpexporter/config.go)
156-
with detailed sample configurations [here](otlpexporter/testdata/config.yaml).
157-
158-
## <a name="zipkin"></a>Zipkin Exporter
159-
Exports trace data to a [Zipkin](https://zipkin.io/) back-end.
160-
161-
The following settings are required:
162-
163-
- `format` (default = JSON): The format to sent events in. Can be set to JSON or proto.
164-
- `url` (no default): URL to which the exporter is going to send Zipkin trace data.
165-
166-
The following settings can be optionally configured:
167-
168-
- (temporary flag) `export_resource_labels` (default = true): Whether Resource labels are going to be merged with span attributes
169-
Note: this flag was added to aid the migration to new (fixed and symmetric) behavior and is going to be
170-
removed soon. See https://github.com/open-telemetry/opentelemetry-collector/issues/595 for more details
171-
- `defaultservicename` (no default): What to name services missing this information
172-
173-
Example:
174-
175-
```yaml
176-
exporters:
177-
zipkin:
178-
url: "http://some.url:9411/api/v2/spans"
179-
```
180-
181-
The full list of settings exposed for this exporter are documented [here](zipkinexporter/config.go)
182-
with detailed sample configurations [here](zipkinexporter/testdata/config.yaml).
183-
184-
## <a name="opencensus-metrics"></a>OpenCensus Exporter
185-
The OpenCensus exporter supports both traces and metrics. Configuration
186-
information can be found under the trace section [here](#opencensus-traces).
187-
188-
## <a name="prometheus"></a>Prometheus Exporter
189-
Exports metric data to a [Prometheus](https://prometheus.io/) back-end.
190-
191-
The following settings are required:
192-
193-
- `endpoint` (no default): Where to send metric data
194-
195-
The following settings can be optionally configured:
196-
197-
- `constlabels` (no default): key/values that are applied for every exported metric.
198-
- `namespace` (no default): if set, exports metrics under the provided value.
199-
200-
Example:
201-
202-
```yaml
203-
exporters:
204-
prometheus:
205-
endpoint: "1.2.3.4:1234"
206-
namespace: test-space
207-
const_labels:
208-
label1: value1
209-
"another label": spaced value
210-
```
211-
212-
The full list of settings exposed for this exporter are documented [here](prometheusexporter/config.go)
213-
with detailed sample configurations [here](prometheusexporter/testdata/config.yaml).
214-
215-
# <a name="local-exporters"></a>Local Exporters
216-
217-
Local exporters send data to a local endpoint such as the console or a log file.
218-
219-
## <a name="file"></a>File Exporter
220-
This exporter will write the pipeline data to a JSON file.
221-
The data is written in Protobuf JSON encoding
222-
(https://developers.google.com/protocol-buffers/docs/proto3#json).
223-
Note that there are no compatibility guarantees for this format, since it
224-
just a dump of internal structures which can be changed over time.
225-
This intended for primarily for debugging Collector without setting up backends.
226-
227-
The following settings are required:
228-
229-
- `path` (no default): where to write information.
230-
231-
Example:
232-
233-
```yaml
234-
exporters:
235-
file:
236-
path: ./filename.json
237-
```
238-
239-
The full list of settings exposed for this exporter are documented [here](fileexporter/config.go)
240-
with detailed sample configurations [here](fileexporter/testdata/config.yaml).
241-
242-
## <a name="logging"></a>Logging Exporter
243-
Exports traces and/or metrics to the console via zap.Logger. This includes generic information
244-
about the package (with `info` loglevel) or details of the trace (when `debug` is set)
245-
246-
The following settings can be configured:
247-
248-
- `loglevel`: the log level of the logging export (debug|info|warn|error). Default is `info`. When it is set to `debug`,
249-
the trace related data (e.g. node, attributes, spans, metadata) are verbosely logged.
250-
- `sampling_initial`: number of messages initially logged each second. Default is 2.
251-
- `sampling_thereafter`: sampling rate after the initial messages are logged (every Mth message
252-
is logged). Default is 500. Refer to [Zap docs](https://godoc.org/go.uber.org/zap/zapcore#NewSampler) for
253-
more details on how sampling parameters impact number of messages.
254-
255-
Example:
256-
257-
```yaml
258-
exporters:
259-
logging:
260-
loglevel: info
261-
sampling_initial: 5
262-
sampling_thereafter: 200
263-
```
264-
265-
The full list of settings exposed for this exporter are documented [here](loggingexporter/config.go)
266-
with detailed sample configurations [here](loggingexporter/testdata/config.yaml).

exporter/fileexporter/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# File Exporter
2+
3+
This exporter will write the pipeline data to a JSON file.
4+
The data is written in Protobuf JSON encoding
5+
(https://developers.google.com/protocol-buffers/docs/proto3#json).
6+
Note that there are no compatibility guarantees for this format, since it
7+
just a dump of internal structures which can be changed over time.
8+
This intended for primarily for debugging Collector without setting up backends.
9+
10+
The following settings are required:
11+
12+
- `path` (no default): where to write information.
13+
14+
Example:
15+
16+
```yaml
17+
exporters:
18+
file:
19+
path: ./filename.json
20+
```
21+
22+
The full list of settings exposed for this exporter are documented [here](./config.go)
23+
with detailed sample configurations [here](./testdata/config.yaml).

exporter/jaegerexporter/README.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Jaeger Exporter
2+
3+
Exports trace data to [Jaeger](https://www.jaegertracing.io/) collectors. The following settings are required:
4+
5+
- `endpoint` (no default): target to which the exporter is going to send Jaeger trace data,
6+
using the gRPC protocol. The valid syntax is described at
7+
https://github.com/grpc/grpc/blob/master/doc/naming.md
8+
9+
The following settings can be optionally configured:
10+
11+
- `cert_pem_file`: certificate file for TLS credentials of gRPC client. Should
12+
only be used if `insecure` is set to false.
13+
- `keepalive`: keepalive parameters for client gRPC. See
14+
[grpc.WithKeepaliveParams()](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams).
15+
- `insecure`: whether to disable client transport security for the exporter's gRPC
16+
connection. See [grpc.WithInsecure()](https://godoc.org/google.golang.org/grpc#WithInsecure).
17+
- `server_name_override`: If set to a non empty string, it will override the virtual host name
18+
of authority (e.g. :authority header field) in requests (typically used for testing).
19+
20+
Example:
21+
22+
```yaml
23+
exporters:
24+
jaeger:
25+
endpoint: jaeger-all-in-one:14250
26+
cert_pem_file: /my-cert.pem
27+
server_name_override: opentelemetry.io
28+
```
29+
30+
The full list of settings exposed for this exporter are documented [here](./config.go)
31+
with detailed sample configurations [here](./testdata/config.yaml).

exporter/loggingexporter/README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Logging Exporter
2+
3+
Exports traces and/or metrics to the console via zap.Logger. This includes generic information
4+
about the package (with `info` loglevel) or details of the trace (when `debug` is set)
5+
6+
The following settings can be configured:
7+
8+
- `loglevel`: the log level of the logging export (debug|info|warn|error). Default is `info`. When it is set to `debug`,
9+
the trace related data (e.g. node, attributes, spans, metadata) are verbosely logged.
10+
- `sampling_initial`: number of messages initially logged each second. Default is 2.
11+
- `sampling_thereafter`: sampling rate after the initial messages are logged (every Mth message
12+
is logged). Default is 500. Refer to [Zap docs](https://godoc.org/go.uber.org/zap/zapcore#NewSampler) for
13+
more details on how sampling parameters impact number of messages.
14+
15+
Example:
16+
17+
```yaml
18+
exporters:
19+
logging:
20+
loglevel: info
21+
sampling_initial: 5
22+
sampling_thereafter: 200
23+
```
24+
25+
The full list of settings exposed for this exporter are documented [here](./config.go)
26+
with detailed sample configurations [here](./testdata/config.yaml).

0 commit comments

Comments
 (0)