]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/exemplar/always_sample_filter.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / sdk / include / opentelemetry / sdk / metrics / exemplar / always_sample_filter.h
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3
4 #pragma once
5 #ifndef ENABLE_METRICS_PREVIEW
6 # include "opentelemetry/sdk/metrics/exemplar/filter.h"
7
8 OPENTELEMETRY_BEGIN_NAMESPACE
9 namespace sdk
10 {
11 namespace metrics
12 {
13
14 class AlwaysSampleFilter final : public ExemplarFilter
15 {
16 public:
17 static nostd::shared_ptr<ExemplarFilter> GetAlwaysSampleFilter()
18 {
19 static nostd::shared_ptr<ExemplarFilter> alwaysSampleFilter{new AlwaysSampleFilter{}};
20 return alwaysSampleFilter;
21 }
22
23 bool ShouldSampleMeasurement(long value,
24 const MetricAttributes &attributes,
25 const opentelemetry::context::Context &context) noexcept override
26 {
27 return true;
28 }
29
30 bool ShouldSampleMeasurement(double value,
31 const MetricAttributes &attributes,
32 const opentelemetry::context::Context &context) noexcept override
33 {
34 return true;
35 }
36
37 private:
38 explicit AlwaysSampleFilter() = default;
39 };
40 } // namespace metrics
41 } // namespace sdk
42 OPENTELEMETRY_END_NAMESPACE
43 #endif