79 bool isSuccess =
false;
80 bool uploadNotDownload =
false;
81 int64_t transferStartTime = 0;
82 int64_t totalDurationMs = -1;
83 int64_t transferDurationMs = -1;
84 size_t transferOffset = 0;
85 size_t transferRequestSize = 0;
86 size_t transferSize = 0;
87 size_t retryCount = 0;
88 size_t errorCount = 0;
89 size_t error429Count = 0;
98 uploadNotDownload =
true;
102 uploadNotDownload =
false;
107 totalDurationMs = durationMs;
110 TrafficEvent& setTransferDurationMs(int64_t aTransferDurationMs) {
111 transferDurationMs = aTransferDurationMs;
115 transferOffset = offset;
118 TrafficEvent& setTransferRequestSize(
size_t aTransferRequestSize) {
119 transferRequestSize = aTransferRequestSize;
123 transferSize = aTransferSize;
127 retryCount = aRetryCount;
130 TrafficEvent& setError429Count(
size_t anError429Count) {
131 error429Count = anError429Count;
135 errorCount = anErrorCount;
154 static constexpr const char* kErrorType =
"error";
155 static constexpr const char* kWarningType =
"warning";
156 static constexpr const char* kInfoType =
"info";
161 static void setLogger(unique_ptr<TelemetryLogger> telemetryLogger =
nullptr);
166 const string& message,
167 const string& serverMessage = {}) {
168 getInstance()->logEvent(
LogEvent(kErrorType, operationContext, message, serverMessage));
170 static inline void warning(
171 const OperationContext& operationContext,
172 const string& message,
173 const string& serverMessage = {}) {
174 getInstance()->logEvent(LogEvent(kWarningType, operationContext, message, serverMessage));
176 static inline void info(
177 const OperationContext& operationContext,
178 const string& message,
179 const string& serverMessage = {}) {
180 getInstance()->logEvent(LogEvent(kInfoType, operationContext, message, serverMessage));
182 static inline void event(
183 const string& eventType,
184 const OperationContext& operationContext,
185 const string& message,
186 const string& serverMessage = {}) {
187 getInstance()->logEvent(LogEvent(eventType, operationContext, message, serverMessage));
189 static inline void traffic(
const OperationContext& operationContext,
const TrafficEvent& event) {
190 getInstance()->logTraffic(operationContext, event);
192 static inline void flush() {
193 getInstance()->flushEvents();
197 virtual void logEvent(LogEvent&& event);
198 virtual void logTraffic(
const OperationContext& operationContext,
const TrafficEvent& event);
199 virtual void flushEvents() {}
209 static std::atomic<TelemetryLogger*>& getCurrentLogger();
212 return getCurrentLogger().load(std::memory_order_relaxed);
static void error(const OperationContext &operationContext, const string &message, const string &serverMessage={})
methods for clients to use without having to get an instance, etc
Definition TelemetryLogger.h:164
Context description for telemetry events.
Definition TelemetryLogger.h:31