@@ -24,6 +24,78 @@ Increment the:
2424* [ EXPORTER] Fix scope attributes missing from otlp traces metrics
2525 [ #3185 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3185 )
2626
27+ * [ EXPORTER] Fix throw in OtlpGrpcMetricExporter with shared grpc client
28+ [ #3243 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3243 )
29+
30+ * [ SDK] Better control of threads executed by opentelemetry-cpp
31+ [ #3175 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3175 )
32+
33+ * [ SDK] Enable deriving from ResourceDetector to create a Resource
34+ [ #3247 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3247 )
35+
36+ * [ EXPORTER] Support handling retry-able errors for OTLP/HTTP
37+ [ #3223 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3223 )
38+
39+ * [ EXPORTER] Support handling retry-able errors for OTLP/gRPC
40+ [ #3219 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3219 )
41+
42+ New features:
43+
44+ * [ SDK] Better control of threads executed by opentelemetry-cpp
45+ [ #3175 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3175 )
46+
47+ * This feature provides a way for applications,
48+ when configuring the SDK and exporters,
49+ to participate in the execution path
50+ of internal opentelemetry-cpp threads.
51+
52+ * The opentelemetry-cpp library provides the following:
53+
54+ * a new ThreadInstrumentation interface,
55+ * new runtime options structures, to optionally configure the SDK:
56+ * BatchSpanProcessorRuntimeOptions
57+ * PeriodicExportingMetricReaderRuntimeOptions
58+ * BatchLogRecordProcessorRuntimeOptions
59+ * new runtime options structures,
60+ to optionally configure the OTLP HTTP exporters:
61+ * OtlpHttpExporterRuntimeOptions
62+ * OtlpHttpMetricExporterRuntimeOptions
63+ * OtlpHttpLogRecordExporterRuntimeOptions
64+ * new ThreadInstrumentation parameters,
65+ to optionally configure the CURL HttpClient
66+ * new runtime options structures,
67+ to optionally configure the OTLP FILE exporters:
68+ * OtlpFileExporterRuntimeOptions
69+ * OtlpFileMetricExporterRuntimeOptions
70+ * OtlpFileLogRecordExporterRuntimeOptions
71+ * new runtime options structure,
72+ to optionally configure the OTLP FILE client:
73+ * OtlpFileClientRuntimeOptions
74+
75+ * Using the optional runtime options structures,
76+ an application can subclass the ThreadInstrumentation interface,
77+ and be notified of specific events of interest during the execution
78+ of an internal opentelemetry-cpp thread.
79+
80+ * This allows an application to call, for example:
81+
82+ * pthread_setaffinity_np(), for better performances,
83+ * setns(), to control the network namespace used by HTTP CURL connections
84+ * pthread_setname_np(), for better observability from the operating system
85+ * many more specific apis, as needed
86+
87+ * See the documentation for ThreadInstrumentation for details.
88+
89+ * A new example program, example_otlp_instrumented_http,
90+ shows how to use the feature,
91+ and add application logic in the thread execution code path.
92+
93+ * Note that this feature is experimental,
94+ protected by a WITH_THREAD_INSTRUMENTATION_PREVIEW
95+ flag in CMake. Various runtime options structures,
96+ as well as the thread instrumentation interface,
97+ may change without notice before this feature is declared stable.
98+
2799## [ 1.18 2024-11-25]
28100
29101* [ EXPORTER] Fix crash in ElasticsearchLogRecordExporter
0 commit comments