17
17
#include " opentelemetry/metrics/meter_provider.h"
18
18
#include " opentelemetry/metrics/observer_result.h"
19
19
#include " opentelemetry/metrics/provider.h"
20
+ #include " opentelemetry/metrics/sync_instruments.h"
20
21
#include " opentelemetry/nostd/shared_ptr.h"
21
- #include " opentelemetry/nostd/unique_ptr.h"
22
22
#include " opentelemetry/nostd/variant.h"
23
23
24
- namespace nostd = opentelemetry::nostd;
25
24
namespace metrics_api = opentelemetry::metrics;
26
25
27
26
namespace
28
27
{
29
28
30
- static nostd::shared_ptr<metrics_api::ObservableInstrument> double_observable_counter;
29
+ static opentelemetry::nostd::shared_ptr<metrics_api::ObservableInstrument>
30
+ double_observable_counter;
31
31
32
32
std::map<std::string, std::string> get_random_attr ()
33
33
{
@@ -45,13 +45,15 @@ class MeasurementFetcher
45
45
public:
46
46
static void Fetcher (opentelemetry::metrics::ObserverResult observer_result, void * /* state */ )
47
47
{
48
- if (nostd::holds_alternative<
49
- nostd::shared_ptr<opentelemetry::metrics::ObserverResultT<double >>>(observer_result))
48
+ if (opentelemetry::nostd::holds_alternative<
49
+ opentelemetry::nostd::shared_ptr<opentelemetry::metrics::ObserverResultT<double >>>(
50
+ observer_result))
50
51
{
51
52
double random_incr = (rand () % 5 ) + 1.1 ;
52
53
value_ += random_incr;
53
54
std::map<std::string, std::string> labels = get_random_attr ();
54
- nostd::get<nostd::shared_ptr<opentelemetry::metrics::ObserverResultT<double >>>(
55
+ opentelemetry::nostd::get<
56
+ opentelemetry::nostd::shared_ptr<opentelemetry::metrics::ObserverResultT<double >>>(
55
57
observer_result)
56
58
->Observe (value_, labels);
57
59
}
@@ -63,10 +65,10 @@ double MeasurementFetcher::value_ = 0.0;
63
65
64
66
void foo_library::counter_example (const std::string &name)
65
67
{
66
- std::string counter_name = name + " _counter" ;
67
- auto provider = metrics_api::Provider::GetMeterProvider ();
68
- nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
69
- auto double_counter = meter->CreateDoubleCounter (counter_name);
68
+ std::string counter_name = name + " _counter" ;
69
+ auto provider = metrics_api::Provider::GetMeterProvider ();
70
+ opentelemetry:: nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
71
+ auto double_counter = meter->CreateDoubleCounter (counter_name);
70
72
71
73
for (uint32_t i = 0 ; i < 20 ; ++i)
72
74
{
@@ -78,10 +80,10 @@ void foo_library::counter_example(const std::string &name)
78
80
79
81
void foo_library::observable_counter_example (const std::string &name)
80
82
{
81
- std::string counter_name = name + " _observable_counter" ;
82
- auto provider = metrics_api::Provider::GetMeterProvider ();
83
- nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
84
- double_observable_counter = meter->CreateDoubleObservableCounter (counter_name);
83
+ std::string counter_name = name + " _observable_counter" ;
84
+ auto provider = metrics_api::Provider::GetMeterProvider ();
85
+ opentelemetry:: nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
86
+ double_observable_counter = meter->CreateDoubleObservableCounter (counter_name);
85
87
double_observable_counter->AddCallback (MeasurementFetcher::Fetcher, nullptr );
86
88
for (uint32_t i = 0 ; i < 20 ; ++i)
87
89
{
@@ -91,9 +93,9 @@ void foo_library::observable_counter_example(const std::string &name)
91
93
92
94
void foo_library::histogram_example (const std::string &name)
93
95
{
94
- std::string histogram_name = name + " _histogram" ;
95
- auto provider = metrics_api::Provider::GetMeterProvider ();
96
- nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
96
+ std::string histogram_name = name + " _histogram" ;
97
+ auto provider = metrics_api::Provider::GetMeterProvider ();
98
+ opentelemetry:: nostd::shared_ptr<metrics_api::Meter> meter = provider->GetMeter (name, " 1.2.0" );
97
99
auto histogram_counter = meter->CreateDoubleHistogram (histogram_name, " des" , " unit" );
98
100
auto context = opentelemetry::context::Context{};
99
101
for (uint32_t i = 0 ; i < 20 ; ++i)
0 commit comments