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
{{ message }}
This repository was archived by the owner on Sep 2, 2025. It is now read-only.
gRPC exposes a variety of settings you can adjust within individual receivers or exporters of the Collector. For more information, refer to :ref:`Golang's gRCP documentation <https://pkg.go.dev/google.golang.org/grpc>`.
7
+
gRPC exposes a variety of settings you can adjust within individual receivers or exporters of the Collector.
To configure clients in :ref:`exporters <otel-components-exporters>` use this settings:
13
-
14
-
* ``balancer_name``. Defaults: ``pick_first`` before version 0.103.0, ``round_robin`` for v0.103.0 or higher.
15
-
16
-
* Learn more at gRCP's :new-page:`Load Balancing README https://github.com/grpc/grpc-go/blob/master/examples/features/load_balancing/README.md`.
9
+
For more details on the available settings refer to :new-page:`gRPC Configuration Settings <https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/configgrpc>` in OTel's GitHub repo and :new-page:`Golang's gRCP documentation <https://pkg.go.dev/google.golang.org/grpc>`.
17
10
18
-
* ``compression``. Compression type. Vali values are ``gzip``, ``snappy``, ``zstd``, and ``none``.
11
+
.. note::
12
+
13
+
To configure transport, see :ref:`collector-common-config-net`.
19
14
20
-
* ``endpoint``.: Valid value syntax available here
* ``tls``. See :ref:`collector-collector-common-config-tls`.
18
+
.. note:: For more details see :new-page:`gRPC Configuration Settings https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/configgrpc` in OTel's GitHub repo.
23
19
24
-
* ``headers``: name/value pairs added to the request
20
+
To configure gRCP clients in :ref:`exporters <otel-components-exporters>` use these settings:
25
21
26
-
keepalive
27
-
permit_without_stream
28
-
time
29
-
timeout
30
-
read_buffer_size
31
-
write_buffer_size
32
-
auth
33
-
Please note that per_rpc_auth which allows the credentials to send for every RPC is now moved to become an extension. Note that this feature isn't about sending the headers only during the initial connection as an authorization header under the headers would do: this is sent for every RPC performed during an established connection.
22
+
* ``auth``. See :ref:`collector-common-config-auth`
23
+
* ``balancer_name``
24
+
* Defaults: ``pick_first`` before version 0.103.0, ``round_robin`` for v0.103.0 or higher
25
+
* Learn more at gRCP's :new-page:`Load Balancing README https://github.com/grpc/grpc-go/blob/master/examples/features/load_balancing/README.md`.
26
+
* ``compression``.
27
+
* Compression type valid values are ``gzip``, ``snappy``, ``zstd``, and ``none``
28
+
* ``endpoint``
29
+
* For valid syntax see :new-page:`gRPC Name Resolution <https://github.com/grpc/grpc/blob/master/doc/naming.md>`.
30
+
* ``headers``
31
+
* ``keepalive``
32
+
* ``read_buffer_size``
33
+
* ``tls``. See :ref:`collector-common-config-tls`.
34
+
* ``write_buffer_size``
34
35
35
36
For example:
36
37
@@ -49,68 +50,21 @@ For example:
49
50
test1: "value1"
50
51
"test 2": "value 2"
51
52
52
-
Compression Comparison
53
-
configgrpc_benchmark_test.go contains benchmarks comparing the supported compression algorithms. It performs compression using gzip, zstd, and snappy compression on small, medium, and large sized log, trace, and metric payloads. Each test case outputs the uncompressed payload size, the compressed payload size, and the average nanoseconds spent on compression.
54
-
55
-
The following table summarizes the results, including some additional columns computed from the raw data. The benchmarks were performed on an AWS m5.large EC2 instance with an Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz.
56
-
57
-
Request Compressor Raw Bytes Compressed bytes Compression ratio Ns / op Mb compressed / second Mb saved / second
Compression ratios will vary in practice as they are highly dependent on the data's information entropy. Compression rates are dependent on the speed of the CPU, and the size of payloads being compressed: smaller payloads compress at slower rates relative to larger payloads, which are able to amortize fixed computation costs over more bytes.
86
-
87
-
gzip is the only required compression algorithm required for OTLP servers, and is a natural first choice. It is not as fast as snappy, but achieves better compression ratios and has reasonable performance. If your collector is CPU bound and your OTLP server supports it, you may benefit from using snappy compression. If your collector is CPU bound and has a very fast network link, you may benefit from disabling compression, which is the default.
To configure transport, see :ref:`collector-common-config-net`.
56
+
.. note:: For more details see :new-page:`gRPC Configuration Settings https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/configgrpc` in OTel's GitHub repo.
95
57
96
58
To configure servers in :ref:`collector receivers <otel-components-receivers>` use these settings:
97
59
98
-
* keepalive
99
-
* enforcement_policy
100
-
* min_time
101
-
* permit_without_stream
102
-
* server_parameters
103
-
* max_connection_age
104
-
* max_connection_age_grace
105
-
* max_connection_idle
106
-
* time
107
-
* timeout
108
-
* max_concurrent_streams
109
-
* max_recv_msg_size_mib
110
-
* read_buffer_size
111
-
* tls
112
-
* write_buffer_size
113
-
* auth
60
+
* ``auth``. See :ref:`collector-common-config-auth`
0 commit comments