NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/trace/processor.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 <chrono>
7 #include <memory>
8 
9 #include "opentelemetry/version.h"
10 
12 namespace trace
13 {
14 class SpanContext;
15 } // namespace trace
16 
17 namespace sdk
18 {
19 namespace trace
20 {
21 class Recordable;
22 
30 {
31 public:
32  virtual ~SpanProcessor() = default;
33 
41  virtual std::unique_ptr<Recordable> MakeRecordable() noexcept = 0;
42 
48  virtual void OnStart(Recordable &span,
49  const opentelemetry::trace::SpanContext &parent_context) noexcept = 0;
50 
55  virtual void OnEnd(std::unique_ptr<Recordable> &&span) noexcept = 0;
56 
62  virtual bool ForceFlush(
63  std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept = 0;
64 
73  virtual bool Shutdown(
74  std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept = 0;
75 };
76 } // namespace trace
77 } // namespace sdk
trace
Definition: includes/opentelemetry/context/context_value.h:18
OPENTELEMETRY_EXPORT
#define OPENTELEMETRY_EXPORT
Definition: includes/opentelemetry/common/macros.h:386
sdk::trace::Recordable
Maintains a representation of a span in a format that can be processed by a recorder.
Definition: includes/opentelemetry/sdk/trace/recordable.h:44
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
max
int max(int a, int b)
Compute the component-wise maximum.
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:60
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
sdk::trace::SpanProcessor
Span processor allow hooks for span start and end method invocations.
Definition: includes/opentelemetry/sdk/trace/processor.h:29