Comments (6)
Was this addressed in #217? Maybe we can update this issue to needing to add thread-safety, optimizations, or other measures if so?
from opentelemetry-cpp.
I started working on a common interface last quarter, but it's very much a WiP:
libacquire
The core for your package manager, minus the dependency graph components. Features: download, verify, and extract.
By default—for HTTP, HTTPS, and FTP—this uses
libfetch
on FreeBSD;wininet
on Windows; andlibcurl
everywhere else. Override with-DUSE_LIBCURL
or-DUSE_LIBFETCH
.By default—for MD5, SHA256, SHA512—this uses
wincrypt
on Windows; andOpenSSL
everywhere else. Note that on macOS this uses the builtinCommonCrypto/CommonDigest.h
header, and on OpenBSD it usesLibreSSL
; however in both of these cases it's the OpenSSL API with different headers. Override with-DUSE_OPENSSL
.
Mentioning here not so that you follow my implementation, but rather the reverse; the common interface you come up with I'll [likely follow and] implement for Solaris, Linux, BSD, macOS, and Windows.
(though maybe you'll be inspired by the idea of libacquire in defining said interface)
from opentelemetry-cpp.
Please consider adding nghttp2-based stacks (https://github.com/envoyproxy/envoy) to the list.
from opentelemetry-cpp.
You might want to start from https://github.com/aws/aws-sdk-cpp/tree/master/aws-cpp-sdk-core/source/http
from opentelemetry-cpp.
#217 brings only http server, we still are missing client part. So either we can modify it to work as thread-safe, optimised http client/server library, or else use header only c++11 cross platform library like https://github.com/yhirose/cpp-httplib. Anyway, I can own this if no one is working on it. We would anyway need it for zipkin support.
from opentelemetry-cpp.
I think we want a portable interface but not an implementation. Consider the use case of compiling this library to Wasm and substituting regular POSIX calls with Wasm externs. Anything that talks over the network cannot be directly translated to Wasm.
from opentelemetry-cpp.
Related Issues (20)
- [Performance] Avoid duplication of metric exporters.
- Crash in OLTP HTTP export HOT 13
- [EXPORTER] OTLP HTTP session canceled after a flush, with async export HOT 2
- [REMOVAL] Remove build option `WITH_DEPRECATED_SDK_FACTORY` HOT 1
- [SECURITY] Remove OTLP HTTP support for TLS 1.0 and TLS 1.1, require TLS 1.2 or better HOT 1
- Internal abseil code compile error on gcc 14 HOT 1
- Triplet links in docs/building-with-vcpkg documentation are outdated.
- [EXPORTER] Spurious crash when using `PeriodicExportingMetricReader` and timeout.
- Latest API reference is for v1.11.0 HOT 1
- Cardinality limit on metrics (otel_metrics_overflow) HOT 3
- [CI] Build failures with ABSEIL 20240116 and CMAKE 3.30 HOT 4
- C++ Logger API does not compliant with the OTel Logs Data Model HOT 7
- Need suggestion when using histogram
- [RELEASE] Prepare patch release 1.16.1
- [EXPORTER] Allow construct OTLP gRPC exporters from existing `grpc::Channel`
- OTLP File exporter may crash if create thread failed HOT 2
- [API] Clarify expectations for C++ exceptions, and usage of noexcept methods. HOT 2
- Unresolved external symbol TracerProviderFactory::Create
- Failed to build HOT 1
- Specify OPENTELEMETRY_ABI_VERSION_NO with Bazel HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentelemetry-cpp.