NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/includes/opentelemetry/logs/noop.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 // Please refer to provider.h for documentation on how to obtain a Logger object.
7 //
8 // This file is part of the internal implementation of OpenTelemetry. Nothing in this file should be
9 // used directly. Please refer to logger.h for documentation on these interfaces.
10 
11 #include "opentelemetry/logs/event_logger.h"
12 #include "opentelemetry/logs/event_logger_provider.h"
13 #include "opentelemetry/logs/logger.h"
14 #include "opentelemetry/logs/logger_provider.h"
15 #include "opentelemetry/nostd/shared_ptr.h"
16 #include "opentelemetry/nostd/string_view.h"
17 #include "opentelemetry/nostd/unique_ptr.h"
18 #include "opentelemetry/version.h"
19 
21 namespace common
22 {
23 class KeyValueIterable;
24 } // namespace common
25 
26 namespace logs
27 {
32 class NoopLogger final : public Logger
33 {
34 public:
35  const nostd::string_view GetName() noexcept override { return "noop logger"; }
36 
38  {
39  /*
40  * Do not return memory shared between threads,
41  * a `new` + `delete` for each noop record can not be avoided,
42  * due to the semantic of unique_ptr.
43  */
44  return nostd::unique_ptr<LogRecord>(new NoopLogRecord());
45  }
46 
48 
49  void EmitLogRecord(nostd::unique_ptr<LogRecord> &&) noexcept override {}
50 
51 private:
52  class NoopLogRecord : public LogRecord
53  {
54  public:
55  NoopLogRecord() = default;
56  ~NoopLogRecord() override = default;
57 
58  void SetTimestamp(common::SystemTimestamp /* timestamp */) noexcept override {}
59  void SetObservedTimestamp(common::SystemTimestamp /* timestamp */) noexcept override {}
60  void SetSeverity(logs::Severity /* severity */) noexcept override {}
61  void SetBody(const common::AttributeValue & /* message */) noexcept override {}
62  void SetAttribute(nostd::string_view /* key */,
63  const common::AttributeValue & /* value */) noexcept override
64  {}
65  void SetEventId(int64_t /* id */, nostd::string_view /* name */) noexcept override {}
66  void SetTraceId(const trace::TraceId & /* trace_id */) noexcept override {}
67  void SetSpanId(const trace::SpanId & /* span_id */) noexcept override {}
68  void SetTraceFlags(const trace::TraceFlags & /* trace_flags */) noexcept override {}
69  };
70 };
71 
75 class NoopLoggerProvider final : public LoggerProvider
76 {
77 public:
79 
81  nostd::string_view /* library_name */,
82  nostd::string_view /* library_version */,
83  nostd::string_view /* schema_url */,
84  const common::KeyValueIterable & /* attributes */) override
85  {
86  return logger_;
87  }
88 
89 private:
91 };
92 
93 #if OPENTELEMETRY_ABI_VERSION_NO < 2
94 class NoopEventLogger final : public EventLogger
95 {
96 public:
98 
99  const nostd::string_view GetName() noexcept override { return "noop event logger"; }
100 
101  nostd::shared_ptr<Logger> GetDelegateLogger() noexcept override { return logger_; }
102 
104 
105 private:
107 };
108 
112 class NoopEventLoggerProvider final : public EventLoggerProvider
113 {
114 public:
115 # if defined(_MSC_VER)
116 # pragma warning(push)
117 # pragma warning(disable : 4996)
118 # elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
119 # pragma GCC diagnostic push
120 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
121 # elif defined(__clang__) || defined(__apple_build_version__)
122 # pragma clang diagnostic push
123 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
124 # endif
125 
127  {}
128 
129 # if defined(_MSC_VER)
130 # pragma warning(pop)
131 # elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
132 # pragma GCC diagnostic pop
133 # elif defined(__clang__) || defined(__apple_build_version__)
134 # pragma clang diagnostic pop
135 # endif
136 
138  nostd::shared_ptr<Logger> /*delegate_logger*/,
139  nostd::string_view /*event_domain*/) noexcept override
140  {
141  return event_logger_;
142  }
143 
144 private:
145  nostd::shared_ptr<EventLogger> event_logger_;
146 };
147 #endif
148 
149 } // namespace logs
trace::TraceId
Definition: includes/opentelemetry/trace/trace_id.h:19
logs::NoopEventLoggerProvider::CreateEventLogger
nostd::shared_ptr< EventLogger > CreateEventLogger(nostd::shared_ptr< Logger >, nostd::string_view) noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:137
logs::NoopLogger::EmitLogRecord
void EmitLogRecord(nostd::unique_ptr< LogRecord > &&) noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:49
logs::NoopEventLoggerProvider::NoopEventLoggerProvider
NoopEventLoggerProvider()
Definition: 9.2/includes/opentelemetry/logs/noop.h:126
absl::OTABSL_OPTION_NAMESPACE_NAME::variant
Definition: includes/opentelemetry/nostd/variant.h:61
logs::NoopLoggerProvider::NoopLoggerProvider
NoopLoggerProvider()
Definition: 9.2/includes/opentelemetry/logs/noop.h:78
nostd::unique_ptr
Provide a simplified port of std::unique_ptr that has ABI stability.
Definition: includes/opentelemetry/nostd/unique_ptr.h:45
logs::Logger::EmitLogRecord
virtual void EmitLogRecord(nostd::unique_ptr< LogRecord > &&log_record) noexcept=0
Emit a Log Record object.
logs
Definition: includes/opentelemetry/logs/event_id.h:13
logs::NoopEventLogger::GetDelegateLogger
nostd::shared_ptr< Logger > GetDelegateLogger() noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:101
nostd::shared_ptr
Provide a type-erased version of std::shared_ptr that has ABI stability.
Definition: includes/opentelemetry/nostd/shared_ptr.h:28
logs::NoopEventLogger::GetName
const nostd::string_view GetName() noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:99
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
logs::NoopLoggerProvider::GetLogger
nostd::shared_ptr< Logger > GetLogger(nostd::string_view, nostd::string_view, nostd::string_view, nostd::string_view, const common::KeyValueIterable &) override
Definition: 9.2/includes/opentelemetry/logs/noop.h:80
logs::NoopLogger::CreateLogRecord
nostd::unique_ptr< LogRecord > CreateLogRecord() noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:37
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
common::KeyValueIterable
Supports internal iteration over a collection of key-value pairs.
Definition: includes/opentelemetry/common/key_value_iterable.h:17
logs::NoopLogger
No-op implementation of Logger.
Definition: includes/opentelemetry/logs/noop.h:32
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
Logger
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/infer/engine_builder.h:50
logs::NoopEventLogger
Definition: includes/opentelemetry/logs/noop.h:94
trace::SpanId
Definition: includes/opentelemetry/trace/span_id.h:16
logs::NoopEventLogger::NoopEventLogger
NoopEventLogger()
Definition: 9.2/includes/opentelemetry/logs/noop.h:97
logs::NoopEventLogger::EmitEvent
void EmitEvent(nostd::string_view, nostd::unique_ptr< LogRecord > &&) noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:103
trace::TraceFlags
Definition: includes/opentelemetry/trace/trace_flags.h:18
logs::NoopLogger::GetName
const nostd::string_view GetName() noexcept override
Definition: 9.2/includes/opentelemetry/logs/noop.h:35
common
Definition: includes/opentelemetry/common/attribute_value.h:14
nostd::string_view
Back port of std::string_view to work with pre-cpp-17 compilers.
Definition: includes/opentelemetry/nostd/string_view.h:37