NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/logs/log_record.h
Go to the documentation of this file.
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #pragma once
5 
6 #include "opentelemetry/common/attribute_value.h"
7 #include "opentelemetry/common/timestamp.h"
8 #include "opentelemetry/version.h"
9 
11 namespace trace
12 {
13 class SpanId;
14 class TraceId;
15 class TraceFlags;
16 } // namespace trace
17 
18 namespace logs
19 {
20 
21 enum class Severity : uint8_t;
22 
28 class LogRecord
29 {
30 public:
31  virtual ~LogRecord() = default;
32 
37  virtual void SetTimestamp(common::SystemTimestamp timestamp) noexcept = 0;
38 
43  virtual void SetObservedTimestamp(common::SystemTimestamp timestamp) noexcept = 0;
44 
49  virtual void SetSeverity(logs::Severity severity) noexcept = 0;
50 
55  virtual void SetBody(const common::AttributeValue &message) noexcept = 0;
56 
62  virtual void SetAttribute(nostd::string_view key,
63  const common::AttributeValue &value) noexcept = 0;
64 
70  // TODO: mark this as pure virtual once all exporters have been updated
71  virtual void SetEventId(int64_t id, nostd::string_view name = {}) noexcept = 0;
72 
77  virtual void SetTraceId(const trace::TraceId &trace_id) noexcept = 0;
78 
83  virtual void SetSpanId(const trace::SpanId &span_id) noexcept = 0;
84 
89  virtual void SetTraceFlags(const trace::TraceFlags &trace_flags) noexcept = 0;
90 };
91 } // namespace logs
trace::TraceId
Definition: includes/opentelemetry/trace/trace_id.h:19
trace
Definition: includes/opentelemetry/context/context_value.h:18
absl::OTABSL_OPTION_NAMESPACE_NAME::variant
Definition: includes/opentelemetry/nostd/variant.h:61
logs
Definition: includes/opentelemetry/logs/event_id.h:13
common::SystemTimestamp
A timepoint relative to the system clock epoch.
Definition: includes/opentelemetry/common/timestamp.h:19
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
logs::LogRecord
Maintains a representation of a log in a format that can be processed by a recorder.
Definition: includes/opentelemetry/logs/log_record.h:28
logs::Severity
Severity
Severity Levels assigned to log events, based on Log Data Model, with the addition of kInvalid (mappe...
Definition: includes/opentelemetry/logs/severity.h:22
trace::SpanId
Definition: includes/opentelemetry/trace/span_id.h:16
trace::TraceFlags
Definition: includes/opentelemetry/trace/trace_flags.h:18
nostd::string_view
Back port of std::string_view to work with pre-cpp-17 compilers.
Definition: includes/opentelemetry/nostd/string_view.h:37