forked from open-telemetry/opentelemetry-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Trace SDK] Implement builders (open-telemetry#1393)
Implement code review comments: - avoid copy of resource parameters (used const reference) - added unit tests to verify build sanity - moved JsonBytesMappingKind and HttpRequestContentType to their own header, to avoid the dependency on protobuf from otlp_http_client.h
- Loading branch information
Showing
11 changed files
with
178 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
#pragma once | ||
|
||
#include "opentelemetry/sdk/version/version.h" | ||
|
||
OPENTELEMETRY_BEGIN_NAMESPACE | ||
namespace exporter | ||
{ | ||
namespace otlp | ||
{ | ||
|
||
enum class JsonBytesMappingKind | ||
{ | ||
kHexId, | ||
kHex, | ||
kBase64, | ||
}; | ||
|
||
enum class HttpRequestContentType | ||
{ | ||
kJson, | ||
kBinary, | ||
}; | ||
|
||
} // namespace otlp | ||
} // namespace exporter | ||
OPENTELEMETRY_END_NAMESPACE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
/* | ||
Cripple the build environment on purpose. | ||
This is to make sure that if protobuf headers | ||
are included by OtlpGrpcExporterFactory, | ||
even indirectly, the build will fail. | ||
*/ | ||
#define PROTOBUF_VERSION 6666666 | ||
|
||
#include <gtest/gtest.h> | ||
|
||
#include "opentelemetry/exporters/otlp/otlp_grpc_exporter_factory.h" | ||
#include "opentelemetry/exporters/otlp/otlp_grpc_exporter_options.h" | ||
|
||
OPENTELEMETRY_BEGIN_NAMESPACE | ||
namespace exporter | ||
{ | ||
namespace otlp | ||
{ | ||
|
||
TEST(OtlpGrpcExporterFactoryTest, BuildTest) | ||
{ | ||
OtlpGrpcExporterOptions opts; | ||
opts.endpoint = "localhost:45454"; | ||
|
||
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> exporter = | ||
OtlpGrpcExporterFactory::Create(opts); | ||
|
||
EXPECT_TRUE(exporter != nullptr); | ||
} | ||
|
||
} // namespace otlp | ||
} // namespace exporter | ||
OPENTELEMETRY_END_NAMESPACE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
/* | ||
Cripple the build environment on purpose. | ||
This is to make sure that if protobuf headers | ||
are included by OtlpHttpExporterFactory, | ||
even indirectly, the build will fail. | ||
*/ | ||
#define PROTOBUF_VERSION 6666666 | ||
|
||
#include <gtest/gtest.h> | ||
|
||
#include "opentelemetry/exporters/otlp/otlp_http_exporter_factory.h" | ||
#include "opentelemetry/exporters/otlp/otlp_http_exporter_options.h" | ||
|
||
/* | ||
Make sure OtlpHttpExporterFactory does not leak nlohmann/json.hpp, | ||
even indirectly. | ||
*/ | ||
#ifdef NLOHMANN_JSON_VERSION_MAJOR | ||
# error "OtlpHttpExporterFactory should not expose nlohmann/json.hpp" | ||
#endif /* NLOHMANN_JSON_VERSION_MAJOR */ | ||
|
||
OPENTELEMETRY_BEGIN_NAMESPACE | ||
namespace exporter | ||
{ | ||
namespace otlp | ||
{ | ||
|
||
TEST(OtlpHttpExporterFactoryTest, BuildTest) | ||
{ | ||
OtlpHttpExporterOptions opts; | ||
opts.url = "localhost:45454"; | ||
|
||
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> exporter = | ||
OtlpHttpExporterFactory::Create(opts); | ||
|
||
EXPECT_TRUE(exporter != nullptr); | ||
} | ||
|
||
} // namespace otlp | ||
} // namespace exporter | ||
OPENTELEMETRY_END_NAMESPACE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters