Class: Fluent::Plugin::OpentelemetryOutput::GrpcHandler
- Inherits:
-
Object
- Object
- Fluent::Plugin::OpentelemetryOutput::GrpcHandler
- Defined in:
- lib/fluent/plugin/out_opentelemetry.rb
Instance Method Summary collapse
- #export(record) ⇒ Object
-
#initialize(grpc_config, transport_config, logger) ⇒ GrpcHandler
constructor
A new instance of GrpcHandler.
Constructor Details
#initialize(grpc_config, transport_config, logger) ⇒ GrpcHandler
Returns a new instance of GrpcHandler.
178 179 180 181 182 |
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 178 def initialize(grpc_config, transport_config, logger) @grpc_config = grpc_config @transport_config = transport_config @logger = logger end |
Instance Method Details
#export(record) ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 |
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 184 def export(record) msg = record["message"] credential = :this_channel_is_insecure case record["type"] when Opentelemetry::RECORD_TYPE_LOGS service = Opentelemetry::ServiceStub::Logs.new(@grpc_config.endpoint, credential) when Opentelemetry::RECORD_TYPE_METRICS service = Opentelemetry::ServiceStub::Metrics.new(@grpc_config.endpoint, credential) when Opentelemetry::RECORD_TYPE_TRACES service = Opentelemetry::ServiceStub::Traces.new(@grpc_config.endpoint, credential) end begin service.export(msg) rescue Google::Protobuf::ParseError => e # The message format does not comply with the OpenTelemetry protocol. raise ::Fluent::UnrecoverableError, e. end end |