NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/trace/samplers/always_on.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/nostd/string_view.h"
7 #include "opentelemetry/sdk/trace/sampler.h"
8 #include "opentelemetry/trace/span_context.h"
9 #include "opentelemetry/trace/span_metadata.h"
10 #include "opentelemetry/trace/trace_id.h"
11 #include "opentelemetry/version.h"
12 
14 namespace common
15 {
16 class KeyValueIterable;
17 } // namespace common
18 
19 namespace trace
20 {
21 class SpanContextKeyValueIterable;
22 } // namespace trace
23 
24 namespace sdk
25 {
26 namespace trace
27 {
31 class AlwaysOnSampler : public Sampler
32 {
33 public:
38  const opentelemetry::trace::SpanContext &parent_context,
39  opentelemetry::trace::TraceId /*trace_id*/,
40  nostd::string_view /*name*/,
41  opentelemetry::trace::SpanKind /*span_kind*/,
42  const opentelemetry::common::KeyValueIterable & /*attributes*/,
43  const opentelemetry::trace::SpanContextKeyValueIterable & /*links*/) noexcept override
44  {
45  if (!parent_context.IsValid())
46  {
47  return {Decision::RECORD_AND_SAMPLE, nullptr, opentelemetry::trace::TraceState::GetDefault()};
48  }
49  else
50  {
51  return {Decision::RECORD_AND_SAMPLE, nullptr, parent_context.trace_state()};
52  }
53  }
54 
58  inline nostd::string_view GetDescription() const noexcept override { return "AlwaysOnSampler"; }
59 };
60 } // namespace trace
61 } // namespace sdk
trace
Definition: includes/opentelemetry/context/context_value.h:18
sdk::trace::Sampler
The Sampler interface allows users to create custom samplers which will return a SamplingResult based...
Definition: includes/opentelemetry/sdk/trace/sampler.h:71
sdk::trace::Decision::RECORD_AND_SAMPLE
@ RECORD_AND_SAMPLE
trace::SpanKind
SpanKind
Definition: includes/opentelemetry/trace/span_metadata.h:13
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::trace::AlwaysOnSampler::ShouldSample
SamplingResult ShouldSample(const opentelemetry::trace::SpanContext &parent_context, opentelemetry::trace::TraceId, nostd::string_view, opentelemetry::trace::SpanKind, const opentelemetry::common::KeyValueIterable &, const opentelemetry::trace::SpanContextKeyValueIterable &) noexcept override
Definition: includes/opentelemetry/sdk/trace/samplers/always_on.h:37
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::trace::AlwaysOnSampler::GetDescription
nostd::string_view GetDescription() const noexcept override
Definition: includes/opentelemetry/sdk/trace/samplers/always_on.h:58
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
sdk::trace::SamplingResult
The output of ShouldSample.
Definition: includes/opentelemetry/sdk/trace/sampler.h:52
sdk::trace::AlwaysOnSampler
The always on sampler is a default sampler which always return Decision::RECORD_AND_SAMPLE.
Definition: includes/opentelemetry/sdk/trace/samplers/always_on.h:31
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