1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
5 #include "opentelemetry/nostd/string_view.h"
6 #include "opentelemetry/sdk/metrics/view/predicate_factory.h"
7 #ifndef ENABLE_METRICS_PREVIEW
8 OPENTELEMETRY_BEGIN_NAMESPACE
16 MeterSelector(opentelemetry::nostd::string_view name
,
17 opentelemetry::nostd::string_view version
,
18 opentelemetry::nostd::string_view schema
)
19 : name_filter_
{std::move(PredicateFactory::GetPredicate(name
, PredicateType::kExact
))},
20 version_filter_
{std::move(PredicateFactory::GetPredicate(version
, PredicateType::kExact
))},
21 schema_filter_
{std::move(PredicateFactory::GetPredicate(schema
, PredicateType::kExact
))}
24 // Returns name filter predicate. This shouldn't be deleted
25 const opentelemetry::sdk::metrics::Predicate
*const GetNameFilter() { return name_filter_
.get(); }
27 // Returns version filter predicate. This shouldn't be deleted
28 const opentelemetry::sdk::metrics::Predicate
*const GetVersionFilter()
30 return version_filter_
.get();
33 // Returns schema filter predicate. This shouldn't be deleted
34 const opentelemetry::sdk::metrics::Predicate
*const GetSchemaFilter()
36 return schema_filter_
.get();
40 std::unique_ptr
<opentelemetry::sdk::metrics::Predicate
> name_filter_
;
41 std::unique_ptr
<opentelemetry::sdk::metrics::Predicate
> version_filter_
;
42 std::unique_ptr
<opentelemetry::sdk::metrics::Predicate
> schema_filter_
;
44 } // namespace metrics
46 OPENTELEMETRY_END_NAMESPACE