Skip to content

[EXPORTER] Allow construct OTLP gRPC exporters from existing grpc::Channel #3010

@owent

Description

@owent

Is your feature request related to a problem?
When we have multiple providers and OTLP gRPC exporters in our application, gRPC will create a lot of threads for each grpc::Channel, especially in a server machine with a lot CPUs.

Describe the solution you'd like
Exporting OtlpGrpcClient for users and allow construct all OTLP exporters with shared grpc::Channel.

Additional context

[user00@VM-245-181-centos ~/tgf-server/g-4]$ cat /proc/cpuinfo | grep processor | tail -n 1 | awk '{print $NF+1}'
132
[user00@VM-245-181-centos ~/tgf-server/g-4]$ ps huH -p 107277 | wc
    276    6072   72588

In a system with 132 CPUs, it allocate 250+ threads in just one process with about 4 OTLP gRPC exporters.
We have 600+ processes in ours system and the load average is so high.

Can we add a new gRPC options to allow to build OTLP gRPC exporters from existed gRPC Channel?
I can take this if this feature is accepted.

Metadata

Metadata

Assignees

Labels

Staletriage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions