]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/instruments.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / sdk / include / opentelemetry / sdk / metrics / instruments.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/common/attribute_utils.h"
7 OPENTELEMETRY_BEGIN_NAMESPACE
8 namespace sdk
9 {
10 namespace metrics
11 {
12 enum class InstrumentType
13 {
14 kCounter,
15 kHistogram,
16 kUpDownCounter,
17 kObservableCounter,
18 kObservableGauge,
19 kObservableUpDownCounter
20 };
21
22 enum class InstrumentValueType
23 {
24 kInt,
25 kLong,
26 kFloat,
27 kDouble
28 };
29
30 enum class AggregationType
31 {
32 kDrop,
33 kHistogram,
34 kLastValue,
35 kSum,
36 kDefault
37 };
38
39 enum class AggregationTemporality
40 {
41 kUnspecified,
42 kDelta,
43 kCumulative
44 };
45
46 struct InstrumentDescriptor
47 {
48 std::string name_;
49 std::string description_;
50 std::string unit_;
51 InstrumentType type_;
52 InstrumentValueType value_type_;
53 };
54
55 using MetricAttributes = opentelemetry::sdk::common::OrderedAttributeMap;
56
57 /*class InstrumentSelector {
58 public:
59 InstrumentSelector(opentelemetry::nostd::string_view name,
60 opentelemetry::sdk::metrics::InstrumentType type): name_(name.data()), type_(type) {} InstrumentType
61 GetType(){return type_;} std::string GetNameFilter() { return name_;}
62
63 private:
64 std::string name_;
65 InstrumentType type_;
66 };*/
67 } // namespace metrics
68 } // namespace sdk
69 OPENTELEMETRY_END_NAMESPACE
70 #endif