NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/trace/tracer_provider_factory.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 <memory>
7 #include <vector>
8 
9 #include "opentelemetry/sdk/resource/resource.h"
10 #include "opentelemetry/sdk/trace/id_generator.h"
11 #include "opentelemetry/sdk/trace/processor.h"
12 #include "opentelemetry/sdk/trace/sampler.h"
13 #include "opentelemetry/sdk/trace/tracer_context.h"
14 #include "opentelemetry/sdk/trace/tracer_provider.h"
15 #include "opentelemetry/trace/tracer_provider.h"
16 #include "opentelemetry/version.h"
17 
19 namespace sdk
20 {
21 namespace trace
22 {
23 
29 {
30 public:
31  /* Series of creator methods with a single processor. */
32 
33  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
34  std::unique_ptr<SpanProcessor> processor);
35 
36  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
37  std::unique_ptr<SpanProcessor> processor,
38  const opentelemetry::sdk::resource::Resource &resource);
39 
40  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
41  std::unique_ptr<SpanProcessor> processor,
42  const opentelemetry::sdk::resource::Resource &resource,
43  std::unique_ptr<Sampler> sampler);
44 
45  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
46  std::unique_ptr<SpanProcessor> processor,
47  const opentelemetry::sdk::resource::Resource &resource,
48  std::unique_ptr<Sampler> sampler,
49  std::unique_ptr<IdGenerator> id_generator);
50 
51  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
52  std::unique_ptr<SpanProcessor> processor,
53  const opentelemetry::sdk::resource::Resource &resource,
54  std::unique_ptr<Sampler> sampler,
55  std::unique_ptr<IdGenerator> id_generator,
57 
58  /* Series of creator methods with a vector of processors. */
59 
60  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
61  std::vector<std::unique_ptr<SpanProcessor>> &&processors);
62 
63  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
64  std::vector<std::unique_ptr<SpanProcessor>> &&processors,
65  const opentelemetry::sdk::resource::Resource &resource);
66 
67  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
68  std::vector<std::unique_ptr<SpanProcessor>> &&processors,
69  const opentelemetry::sdk::resource::Resource &resource,
70  std::unique_ptr<Sampler> sampler);
71 
72  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
73  std::vector<std::unique_ptr<SpanProcessor>> &&processors,
74  const opentelemetry::sdk::resource::Resource &resource,
75  std::unique_ptr<Sampler> sampler,
76  std::unique_ptr<IdGenerator> id_generator);
77 
78  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
79  std::vector<std::unique_ptr<SpanProcessor>> &&processors,
80  const opentelemetry::sdk::resource::Resource &resource,
81  std::unique_ptr<Sampler> sampler,
82  std::unique_ptr<IdGenerator> id_generator,
84 
85  /* Create with a tracer context. */
86 
87  static std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> Create(
88  std::unique_ptr<TracerContext> context);
89 };
90 
91 } // namespace trace
92 } // namespace sdk
sdk::trace::TracerProviderFactory
Factory class for TracerProvider.
Definition: includes/opentelemetry/sdk/trace/tracer_provider_factory.h:28
trace
Definition: includes/opentelemetry/context/context_value.h:18
nostd::unique_ptr
std::unique_ptr< _Types... > unique_ptr
Definition: includes/opentelemetry/std/unique_ptr.h:19
OPENTELEMETRY_EXPORT
#define OPENTELEMETRY_EXPORT
Definition: includes/opentelemetry/common/macros.h:386
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
context
Definition: includes/opentelemetry/context/context.h:16
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::instrumentationscope::ScopeConfigurator
A scope configurator is a function that returns the scope config for a given instrumentation scope.
Definition: includes/opentelemetry/sdk/instrumentationscope/scope_configurator.h:20
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13