@@ -24,6 +24,75 @@ 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+ New features:
40+
41+ * [ SDK] Better control of threads executed by opentelemetry-cpp
42+ [ #3175 ] ( https://github.com/open-telemetry/opentelemetry-cpp/pull/3175 )
43+
44+ * This feature provides a way for applications,
45+ when configuring the SDK and exporters,
46+ to participate in the execution path
47+ of internal opentelemetry-cpp threads.
48+
49+ * The opentelemetry-cpp library provides the following:
50+
51+ * a new ThreadInstrumentation interface,
52+ * new runtime options structures, to optionally configure the SDK:
53+ * BatchSpanProcessorRuntimeOptions
54+ * PeriodicExportingMetricReaderRuntimeOptions
55+ * BatchLogRecordProcessorRuntimeOptions
56+ * new runtime options structures,
57+ to optionally configure the OTLP HTTP exporters:
58+ * OtlpHttpExporterRuntimeOptions
59+ * OtlpHttpMetricExporterRuntimeOptions
60+ * OtlpHttpLogRecordExporterRuntimeOptions
61+ * new ThreadInstrumentation parameters,
62+ to optionally configure the CURL HttpClient
63+ * new runtime options structures,
64+ to optionally configure the OTLP FILE exporters:
65+ * OtlpFileExporterRuntimeOptions
66+ * OtlpFileMetricExporterRuntimeOptions
67+ * OtlpFileLogRecordExporterRuntimeOptions
68+ * new runtime options structure,
69+ to optionally configure the OTLP FILE client:
70+ * OtlpFileClientRuntimeOptions
71+
72+ * Using the optional runtime options structures,
73+ an application can subclass the ThreadInstrumentation interface,
74+ and be notified of specific events of interest during the execution
75+ of an internal opentelemetry-cpp thread.
76+
77+ * This allows an application to call, for example:
78+
79+ * pthread_setaffinity_np(), for better performances,
80+ * setns(), to control the network namespace used by HTTP CURL connections
81+ * pthread_setname_np(), for better observability from the operating system
82+ * many more specific apis, as needed
83+
84+ * See the documentation for ThreadInstrumentation for details.
85+
86+ * A new example program, example_otlp_instrumented_http,
87+ shows how to use the feature,
88+ and add application logic in the thread execution code path.
89+
90+ * Note that this feature is experimental,
91+ protected by a WITH_THREAD_INSTRUMENTATION_PREVIEW
92+ flag in CMake. Various runtime options structures,
93+ as well as the thread instrumentation interface,
94+ may change without notice before this feature is declared stable.
95+
2796## [ 1.18 2024-11-25]
2897
2998* [ EXPORTER] Fix crash in ElasticsearchLogRecordExporter
0 commit comments