@@ -16,21 +16,39 @@ class TracerTelemetry;
1616
1717namespace telemetry {
1818
19- class Telemetry {
19+ // / The telemetry class is responsible for handling internal telemetry data to
20+ // / track Datadog product usage. It _can_ collect and report logs and metrics.
21+ // /
22+ // / IMPORTANT: This is intended for use only by Datadog Engineers.
23+ class Telemetry final {
24+ // / Configuration object containing the validated settings for telemetry
2025 FinalizedConfiguration config_;
26+ // / Shared pointer to the user logger instance.
2127 std::shared_ptr<tracing::Logger> logger_;
22-
28+ // / TODO(@dmehala): Legacy dependency.
2329 std::shared_ptr<tracing::DatadogAgent> datadog_agent_;
2430 std::shared_ptr<tracing::TracerTelemetry> tracer_telemetry_;
2531
2632 public:
33+ // / Constructor for the Telemetry class
34+ // /
35+ // / @param configuration The finalized configuration settings.
36+ // / @param logger User logger instance.
37+ // / @param metrics A vector user metrics to report.
2738 Telemetry (FinalizedConfiguration configuration,
2839 std::shared_ptr<tracing::Logger> logger,
2940 std::vector<std::shared_ptr<Metric>> metrics);
3041
3142 ~Telemetry () = default ;
3243
44+ // / Capture and report internal error message to Datadog.
45+ // /
46+ // / @param message The error message.
3347 void log_error (std::string message);
48+
49+ // / capture and report internal warning message to Datadog.
50+ // /
51+ // / @param message The warning message to log.
3452 void log_warning (std::string message);
3553};
3654
0 commit comments