Skip to content

Commit 81946f5

Browse files
committed
document the public API
1 parent 9982dac commit 81946f5

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed

BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ cc_library(
33
srcs = [
44
"src/datadog/telemetry/configuration.cpp",
55
"src/datadog/telemetry/metrics.cpp",
6+
"src/datadog/telemetry/log.h",
67
"src/datadog/telemetry/telemetry.cpp",
78
"src/datadog/base64.cpp",
89
"src/datadog/cerr_logger.cpp",

include/datadog/telemetry/telemetry.h

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,39 @@ class TracerTelemetry;
1616

1717
namespace 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

src/datadog/telemetry/log.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#include <string>
2+
3+
namespace datadog::telemetry {
4+
5+
enum class LogLevel : char { ERROR, WARNING };
6+
7+
struct LogMessage final {
8+
std::string message;
9+
LogLevel level;
10+
};
11+
12+
} // namespace datadog::telemetry

0 commit comments

Comments
 (0)