Skip to content

Commit c136f88

Browse files
authored
Merge branch 'main' into add-link-to-dependency-versions
2 parents 5f4b119 + 03e0452 commit c136f88

File tree

50 files changed

+1409
-18
lines changed

Some content is hidden

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

50 files changed

+1409
-18
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
runs-on: ubuntu-24.04
5959
env:
6060
CXX_STANDARD: '17'
61+
CMAKE_VERSION: '3.14.0'
6162
BUILD_TYPE: 'Debug'
6263
steps:
6364
- name: Harden the runner (Audit all outbound calls)
@@ -70,6 +71,7 @@ jobs:
7071
- name: setup
7172
run: |
7273
sudo -E ./ci/setup_ci_environment.sh
74+
sudo -E ./ci/setup_cmake.sh
7375
- name: install dependencies
7476
run: |
7577
sudo -E apt-get update

cmake/nlohmann-json.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ if(NOT nlohmann_json_FOUND)
3535
# Set the nlohmann_json_VERSION variable from the git tag.
3636
string(REGEX REPLACE "^v([0-9]+\\.[0-9]+\\.[0-9]+)$" "\\1" nlohmann_json_VERSION "${nlohmann-json_GIT_TAG}")
3737

38-
#Disable iwyu and clang-tidy
39-
if(TARGET nlohmann_json)
38+
# Disable iwyu and clang-tidy only if the CMake version is greater or equal to 3.19.
39+
# CMake 3.19+ is needed to set the iwyu and clang-tidy properties on the INTERFACE target
40+
if(TARGET nlohmann_json AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.19")
4041
set_target_properties(nlohmann_json PROPERTIES CXX_INCLUDE_WHAT_YOU_USE ""
4142
CXX_CLANG_TIDY "")
4243
endif()
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_log_record_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/logs/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace logs
18+
{
19+
20+
class OPENTELEMETRY_EXPORT ConsoleLogRecordBuilder
21+
: public opentelemetry::sdk::configuration::ConsoleLogRecordExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
27+
const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace logs
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_push_metric_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace metrics
18+
{
19+
20+
class OPENTELEMETRY_EXPORT ConsolePushMetricBuilder
21+
: public opentelemetry::sdk::configuration::ConsolePushMetricExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> Build(
27+
const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace metrics
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_span_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/console_span_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/trace/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace trace
18+
{
19+
20+
class OPENTELEMETRY_EXPORT ConsoleSpanBuilder
21+
: public opentelemetry::sdk::configuration::ConsoleSpanExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> Build(
27+
const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace trace
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#include <memory>
5+
#include <utility>
6+
7+
#include "opentelemetry/exporters/ostream/console_log_record_builder.h"
8+
#include "opentelemetry/exporters/ostream/log_record_exporter_factory.h"
9+
#include "opentelemetry/sdk/configuration/console_log_record_exporter_builder.h"
10+
#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/registry.h"
12+
#include "opentelemetry/sdk/logs/exporter.h"
13+
#include "opentelemetry/version.h"
14+
15+
OPENTELEMETRY_BEGIN_NAMESPACE
16+
namespace exporter
17+
{
18+
namespace logs
19+
{
20+
21+
void ConsoleLogRecordBuilder::Register(opentelemetry::sdk::configuration::Registry *registry)
22+
{
23+
auto builder = std::make_unique<ConsoleLogRecordBuilder>();
24+
registry->SetConsoleLogRecordBuilder(std::move(builder));
25+
}
26+
27+
std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> ConsoleLogRecordBuilder::Build(
28+
const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration * /* model */)
29+
const
30+
{
31+
return OStreamLogRecordExporterFactory::Create();
32+
}
33+
34+
} // namespace logs
35+
} // namespace exporter
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#include <memory>
5+
#include <utility>
6+
7+
#include "opentelemetry/exporters/ostream/console_push_metric_builder.h"
8+
#include "opentelemetry/exporters/ostream/metric_exporter_factory.h"
9+
#include "opentelemetry/sdk/configuration/console_push_metric_exporter_builder.h"
10+
#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/registry.h"
12+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
13+
#include "opentelemetry/version.h"
14+
15+
OPENTELEMETRY_BEGIN_NAMESPACE
16+
namespace exporter
17+
{
18+
namespace metrics
19+
{
20+
21+
void ConsolePushMetricBuilder::Register(opentelemetry::sdk::configuration::Registry *registry)
22+
{
23+
auto builder = std::make_unique<ConsolePushMetricBuilder>();
24+
registry->SetConsolePushMetricExporterBuilder(std::move(builder));
25+
}
26+
27+
std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> ConsolePushMetricBuilder::Build(
28+
const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration * /* model */)
29+
const
30+
{
31+
return OStreamMetricExporterFactory::Create();
32+
}
33+
34+
} // namespace metrics
35+
} // namespace exporter
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#include <memory>
5+
#include <utility>
6+
7+
#include "opentelemetry/exporters/ostream/console_span_builder.h"
8+
#include "opentelemetry/exporters/ostream/span_exporter_factory.h"
9+
#include "opentelemetry/sdk/configuration/console_span_exporter_builder.h"
10+
#include "opentelemetry/sdk/configuration/console_span_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/registry.h"
12+
#include "opentelemetry/sdk/trace/exporter.h"
13+
#include "opentelemetry/version.h"
14+
15+
OPENTELEMETRY_BEGIN_NAMESPACE
16+
namespace exporter
17+
{
18+
namespace trace
19+
{
20+
21+
void ConsoleSpanBuilder::Register(opentelemetry::sdk::configuration::Registry *registry)
22+
{
23+
auto builder = std::make_unique<ConsoleSpanBuilder>();
24+
registry->SetConsoleSpanBuilder(std::move(builder));
25+
}
26+
27+
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> ConsoleSpanBuilder::Build(
28+
const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration * /* model */) const
29+
{
30+
return OStreamSpanExporterFactory::Create();
31+
}
32+
33+
} // namespace trace
34+
} // namespace exporter
35+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <string>
7+
8+
#include "opentelemetry/exporters/otlp/otlp_environment.h" // For OtlpHeaders
9+
#include "opentelemetry/exporters/otlp/otlp_http.h"
10+
#include "opentelemetry/exporters/otlp/otlp_preferred_temporality.h"
11+
#include "opentelemetry/sdk/configuration/headers_configuration.h"
12+
#include "opentelemetry/sdk/configuration/otlp_http_encoding.h"
13+
#include "opentelemetry/sdk/configuration/temporality_preference.h"
14+
#include "opentelemetry/version.h"
15+
16+
OPENTELEMETRY_BEGIN_NAMESPACE
17+
namespace exporter
18+
{
19+
namespace otlp
20+
{
21+
22+
class OtlpBuilderUtils
23+
{
24+
public:
25+
static HttpRequestContentType ConvertOtlpHttpEncoding(
26+
opentelemetry::sdk::configuration::OtlpHttpEncoding model);
27+
28+
static OtlpHeaders ConvertHeadersConfigurationModel(
29+
const opentelemetry::sdk::configuration::HeadersConfiguration *model,
30+
const std::string &headers_list);
31+
32+
static PreferredAggregationTemporality ConvertTemporalityPreference(
33+
opentelemetry::sdk::configuration::TemporalityPreference model);
34+
};
35+
36+
} // namespace otlp
37+
} // namespace exporter
38+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/logs/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpFileLogRecordBuilder
21+
: public opentelemetry::sdk::configuration::OtlpFileLogRecordExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpFileLogRecordExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)