Line data Source code
1 : #pragma once 2 : 3 : // This component provides a `class`, `NullCollector`, that implements the 4 : // `Collector` interface in terms of a no-op. It's used by `Tracer` in lieu 5 : // of a `DatadogAgent` whenever `TracerConfig::report_traces` is `false`. 6 : 7 : #include "collector.h" 8 : 9 : namespace datadog { 10 : namespace tracing { 11 : 12 : class NullCollector : public Collector { 13 : public: 14 25 : Expected<void> send(std::vector<std::unique_ptr<SpanData>>&&, 15 : const std::shared_ptr<TraceSampler>&) override { 16 25 : return {}; 17 : } 18 : 19 : nlohmann::json config_json() const override; 20 : }; 21 : 22 : } // namespace tracing 23 : } // namespace datadog