Skip to content

Commit f568a0b

Browse files
lalitbcngzhnp
authored andcommitted
[Metrics SDK] Implement Forceflush for Periodic Metric Reader (open-telemetry#2064)
1 parent 380f0f2 commit f568a0b

File tree

219 files changed

+972
-439
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+972
-439
lines changed

api/include/opentelemetry/common/kv_properties.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include "opentelemetry/common/key_value_iterable_view.h"
77
#include "opentelemetry/common/string_util.h"
88
#include "opentelemetry/nostd/function_ref.h"
9-
#include "opentelemetry/nostd/shared_ptr.h"
109
#include "opentelemetry/nostd/string_view.h"
1110
#include "opentelemetry/nostd/unique_ptr.h"
1211
#include "opentelemetry/version.h"
@@ -159,7 +158,7 @@ class KeyValueProperties
159158
}
160159

161160
// Move contructor and assignment operator
162-
Entry(Entry &&other) = default;
161+
Entry(Entry &&other) = default;
163162
Entry &operator=(Entry &&other) = default;
164163

165164
// Creates an Entry for a given key-value pair.

api/include/opentelemetry/common/macros.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
// GCC 9 has likely attribute but do not support declare it at the beginning of statement
88
# if defined(__has_cpp_attribute) && (defined(__clang__) || !defined(__GNUC__) || __GNUC__ > 9)
99
# if __has_cpp_attribute(likely)
10-
# define OPENTELEMETRY_LIKELY_IF(...) \
11-
if (__VA_ARGS__) \
12-
[[likely]]
10+
# define OPENTELEMETRY_LIKELY_IF(...) if (__VA_ARGS__) [[likely]]
1311
# endif
1412
# endif
1513
#endif

api/include/opentelemetry/common/spin_lock_mutex.h

+7-4
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ class SpinLockMutex
5656
{
5757
public:
5858
SpinLockMutex() noexcept {}
59-
~SpinLockMutex() noexcept = default;
60-
SpinLockMutex(const SpinLockMutex &) = delete;
61-
SpinLockMutex &operator=(const SpinLockMutex &) = delete;
59+
~SpinLockMutex() noexcept = default;
60+
SpinLockMutex(const SpinLockMutex &) = delete;
61+
SpinLockMutex &operator=(const SpinLockMutex &) = delete;
6262
SpinLockMutex &operator=(const SpinLockMutex &) volatile = delete;
6363

6464
static inline void fast_yield() noexcept
@@ -125,7 +125,10 @@ class SpinLockMutex
125125
return;
126126
}
127127
/** Releases the lock held by the execution agent. Throws no exceptions. */
128-
void unlock() noexcept { flag_.store(false, std::memory_order_release); }
128+
void unlock() noexcept
129+
{
130+
flag_.store(false, std::memory_order_release);
131+
}
129132

130133
private:
131134
std::atomic<bool> flag_{false};

api/include/opentelemetry/common/string_util.h

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#pragma once
55

66
#include "opentelemetry/nostd/string_view.h"
7+
#include "opentelemetry/version.h"
78

89
OPENTELEMETRY_BEGIN_NAMESPACE
910
namespace common

api/include/opentelemetry/common/timestamp.h

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
#pragma once
55

6-
#include <algorithm>
76
#include <chrono>
87
#include <cstdint>
98

api/include/opentelemetry/logs/event_logger.h

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,10 @@
44
#pragma once
55
#ifdef ENABLE_LOGS_PREVIEW
66

7-
# include <chrono>
8-
# include <map>
9-
# include <vector>
10-
117
# include "opentelemetry/common/macros.h"
128
# include "opentelemetry/logs/log_record.h"
139
# include "opentelemetry/logs/logger.h"
1410
# include "opentelemetry/logs/logger_type_traits.h"
15-
# include "opentelemetry/logs/severity.h"
1611
# include "opentelemetry/nostd/shared_ptr.h"
1712
# include "opentelemetry/nostd/string_view.h"
1813
# include "opentelemetry/nostd/unique_ptr.h"
@@ -63,7 +58,7 @@ class EventLogger
6358
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
6459
*/
6560
template <class... ArgumentType>
66-
void EmitEvent(nostd::string_view event_name, ArgumentType &&... args)
61+
void EmitEvent(nostd::string_view event_name, ArgumentType &&...args)
6762
{
6863
nostd::shared_ptr<Logger> delegate_logger = GetDelegateLogger();
6964
if (!delegate_logger)

api/include/opentelemetry/logs/event_logger_provider.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@
44
#pragma once
55
#ifdef ENABLE_LOGS_PREVIEW
66

7-
# include "opentelemetry/common/key_value_iterable.h"
8-
# include "opentelemetry/common/key_value_iterable_view.h"
9-
# include "opentelemetry/logs/event_logger.h"
10-
# include "opentelemetry/logs/logger.h"
117
# include "opentelemetry/nostd/shared_ptr.h"
128
# include "opentelemetry/nostd/string_view.h"
9+
# include "opentelemetry/version.h"
1310

1411
OPENTELEMETRY_BEGIN_NAMESPACE
1512
namespace logs
1613
{
14+
15+
class EventLogger;
16+
class Logger;
17+
1718
/**
1819
* Creates new EventLogger instances.
1920
*/

api/include/opentelemetry/logs/log_record.h

+7-4
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@
55
#ifdef ENABLE_LOGS_PREVIEW
66

77
# include "opentelemetry/common/attribute_value.h"
8-
# include "opentelemetry/common/key_value_iterable.h"
98
# include "opentelemetry/common/timestamp.h"
109
# include "opentelemetry/logs/severity.h"
11-
# include "opentelemetry/trace/span_id.h"
12-
# include "opentelemetry/trace/trace_flags.h"
13-
# include "opentelemetry/trace/trace_id.h"
1410
# include "opentelemetry/version.h"
1511

1612
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace trace
14+
{
15+
class SpanId;
16+
class TraceId;
17+
class TraceFlags;
18+
} // namespace trace
19+
1720
namespace logs
1821
{
1922
/**

api/include/opentelemetry/logs/logger.h

+11-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#ifdef ENABLE_LOGS_PREVIEW
66

77
# include "opentelemetry/common/key_value_iterable.h"
8-
# include "opentelemetry/logs/log_record.h"
98
# include "opentelemetry/logs/logger_type_traits.h"
109
# include "opentelemetry/logs/severity.h"
1110
# include "opentelemetry/nostd/string_view.h"
@@ -15,6 +14,9 @@
1514
OPENTELEMETRY_BEGIN_NAMESPACE
1615
namespace logs
1716
{
17+
18+
class LogRecord;
19+
1820
/**
1921
* Handles log record creation.
2022
**/
@@ -59,7 +61,7 @@ class Logger
5961
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
6062
*/
6163
template <class... ArgumentType>
62-
void EmitLogRecord(nostd::unique_ptr<LogRecord> &&log_record, ArgumentType &&... args)
64+
void EmitLogRecord(nostd::unique_ptr<LogRecord> &&log_record, ArgumentType &&...args)
6365
{
6466
if (!log_record)
6567
{
@@ -91,7 +93,7 @@ class Logger
9193
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
9294
*/
9395
template <class... ArgumentType>
94-
void EmitLogRecord(ArgumentType &&... args)
96+
void EmitLogRecord(ArgumentType &&...args)
9597
{
9698
nostd::unique_ptr<LogRecord> log_record = CreateLogRecord();
9799
if (!log_record)
@@ -118,7 +120,7 @@ class Logger
118120
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
119121
*/
120122
template <class... ArgumentType>
121-
void Trace(ArgumentType &&... args) noexcept
123+
void Trace(ArgumentType &&...args) noexcept
122124
{
123125
static_assert(
124126
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,
@@ -142,7 +144,7 @@ class Logger
142144
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
143145
*/
144146
template <class... ArgumentType>
145-
void Debug(ArgumentType &&... args) noexcept
147+
void Debug(ArgumentType &&...args) noexcept
146148
{
147149
static_assert(
148150
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,
@@ -166,7 +168,7 @@ class Logger
166168
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
167169
*/
168170
template <class... ArgumentType>
169-
void Info(ArgumentType &&... args) noexcept
171+
void Info(ArgumentType &&...args) noexcept
170172
{
171173
static_assert(
172174
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,
@@ -190,7 +192,7 @@ class Logger
190192
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
191193
*/
192194
template <class... ArgumentType>
193-
void Warn(ArgumentType &&... args) noexcept
195+
void Warn(ArgumentType &&...args) noexcept
194196
{
195197
static_assert(
196198
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,
@@ -214,7 +216,7 @@ class Logger
214216
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
215217
*/
216218
template <class... ArgumentType>
217-
void Error(ArgumentType &&... args) noexcept
219+
void Error(ArgumentType &&...args) noexcept
218220
{
219221
static_assert(
220222
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,
@@ -238,7 +240,7 @@ class Logger
238240
* span<pair<string_view, AttributeValue>> -> attributes(return type of MakeAttributes)
239241
*/
240242
template <class... ArgumentType>
241-
void Fatal(ArgumentType &&... args) noexcept
243+
void Fatal(ArgumentType &&...args) noexcept
242244
{
243245
static_assert(
244246
!detail::LogRecordHasType<Severity, typename std::decay<ArgumentType>::type...>::value,

api/include/opentelemetry/logs/logger_provider.h

+2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
# include "opentelemetry/common/key_value_iterable_view.h"
1010
# include "opentelemetry/logs/logger.h"
1111
# include "opentelemetry/nostd/shared_ptr.h"
12+
# include "opentelemetry/nostd/span.h"
1213
# include "opentelemetry/nostd/string_view.h"
14+
# include "opentelemetry/nostd/type_traits.h"
1315

1416
OPENTELEMETRY_BEGIN_NAMESPACE
1517
namespace logs

api/include/opentelemetry/logs/logger_type_traits.h

-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@
1212
# include "opentelemetry/common/timestamp.h"
1313
# include "opentelemetry/logs/log_record.h"
1414
# include "opentelemetry/logs/severity.h"
15-
# include "opentelemetry/nostd/shared_ptr.h"
16-
# include "opentelemetry/nostd/span.h"
1715
# include "opentelemetry/nostd/string_view.h"
1816
# include "opentelemetry/nostd/type_traits.h"
19-
# include "opentelemetry/nostd/unique_ptr.h"
2017
# include "opentelemetry/trace/span_context.h"
2118
# include "opentelemetry/trace/span_id.h"
2219
# include "opentelemetry/trace/trace_flags.h"

api/include/opentelemetry/logs/noop.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
# include "opentelemetry/common/key_value_iterable.h"
1616
# include "opentelemetry/common/timestamp.h"
1717
# include "opentelemetry/context/runtime_context.h"
18+
# include "opentelemetry/logs/event_logger.h"
1819
# include "opentelemetry/logs/event_logger_provider.h"
1920
# include "opentelemetry/logs/logger.h"
2021
# include "opentelemetry/logs/logger_provider.h"
@@ -28,8 +29,6 @@
2829
# include "opentelemetry/trace/trace_id.h"
2930
# include "opentelemetry/version.h"
3031

31-
# include "opentelemetry/version.h"
32-
3332
OPENTELEMETRY_BEGIN_NAMESPACE
3433
namespace logs
3534
{

api/include/opentelemetry/metrics/async_instruments.h

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#pragma once
55

66
#include "opentelemetry/metrics/observer_result.h"
7+
#include "opentelemetry/version.h"
78

89
OPENTELEMETRY_BEGIN_NAMESPACE
910
namespace metrics

api/include/opentelemetry/metrics/meter.h

+11-3
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@
33

44
#pragma once
55

6-
#include "opentelemetry/metrics/async_instruments.h"
7-
#include "opentelemetry/metrics/sync_instruments.h"
86
#include "opentelemetry/nostd/shared_ptr.h"
9-
#include "opentelemetry/nostd/span.h"
107
#include "opentelemetry/nostd/string_view.h"
118
#include "opentelemetry/nostd/unique_ptr.h"
129
#include "opentelemetry/version.h"
1310

1411
OPENTELEMETRY_BEGIN_NAMESPACE
1512
namespace metrics
1613
{
14+
template <class T>
15+
class Counter;
16+
17+
template <class T>
18+
class Histogram;
19+
20+
template <class T>
21+
class UpDownCounter;
22+
23+
class ObservableInstrument;
24+
1725
/**
1826
* Handles instrument creation and provides a facility for batch recording.
1927
*

api/include/opentelemetry/metrics/meter_provider.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33

44
#pragma once
55

6-
#include "opentelemetry/metrics/meter.h"
76
#include "opentelemetry/nostd/shared_ptr.h"
87
#include "opentelemetry/nostd/string_view.h"
8+
#include "opentelemetry/version.h"
99

1010
OPENTELEMETRY_BEGIN_NAMESPACE
1111
namespace metrics
1212
{
13+
14+
class Meter;
15+
1316
/**
1417
* Creates new Meter instances.
1518
*/

api/include/opentelemetry/metrics/observer_result.h

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#include "opentelemetry/nostd/span.h"
1010
#include "opentelemetry/nostd/string_view.h"
1111
#include "opentelemetry/nostd/type_traits.h"
12+
#include "opentelemetry/nostd/variant.h"
13+
#include "opentelemetry/version.h"
1214

1315
OPENTELEMETRY_BEGIN_NAMESPACE
1416
namespace metrics

api/include/opentelemetry/metrics/provider.h

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
#include "opentelemetry/common/macros.h"
99
#include "opentelemetry/common/spin_lock_mutex.h"
10-
#include "opentelemetry/metrics/meter_provider.h"
1110
#include "opentelemetry/metrics/noop.h"
1211
#include "opentelemetry/nostd/shared_ptr.h"
1312

api/include/opentelemetry/nostd/detail/functional.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77

88
#include "opentelemetry/version.h"
99

10-
#define OPENTELEMETRY_RETURN(...) \
11-
noexcept(noexcept(__VA_ARGS__))->decltype(__VA_ARGS__) { return __VA_ARGS__; }
10+
#define OPENTELEMETRY_RETURN(...) \
11+
noexcept(noexcept(__VA_ARGS__))->decltype(__VA_ARGS__) \
12+
{ \
13+
return __VA_ARGS__; \
14+
}
1215

1316
OPENTELEMETRY_BEGIN_NAMESPACE
1417
namespace nostd

0 commit comments

Comments
 (0)