Class: Fluent::Plugin::OpentelemetryOutput
- Inherits:
-
Output
- Object
- Output
- Fluent::Plugin::OpentelemetryOutput
show all
- Defined in:
- lib/fluent/plugin/out_opentelemetry.rb
Defined Under Namespace
Classes: RetryableResponse
Instance Method Summary
collapse
Instance Method Details
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 59
def configure(conf)
super
if @grpc_config && !defined?(GRPC)
raise Fluent::ConfigError, "To use gRPC feature, please install grpc gem such as 'fluent-gem install grpc'."
end
unless [@http_config, @grpc_config].one?
raise Fluent::ConfigError, "Please configure either <http> or <grpc> section."
end
@http_handler = Opentelemetry::HttpOutputHandler.new(@http_config, @transport_config, log) if @http_config
@grpc_handler = Opentelemetry::GrpcOutputHandler.new(@grpc_config, @transport_config, log) if @grpc_config
end
|
78
79
80
|
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 78
def format(tag, time, record)
JSON.generate(record)
end
|
#multi_workers_ready? ⇒ Boolean
74
75
76
|
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 74
def multi_workers_ready?
true
end
|
#write(chunk) ⇒ Object
82
83
84
85
86
87
88
89
90
|
# File 'lib/fluent/plugin/out_opentelemetry.rb', line 82
def write(chunk)
record = JSON.parse(chunk.read)
if @grpc_handler
@grpc_handler.export(record)
else
@http_handler.export(record)
end
end
|