@@ -98,7 +98,7 @@ set(LIBMEXCLASS_FETCH_CONTENT_NAME libmexclass)
9898
9999set (LIBMEXCLASS_FETCH_CONTENT_GIT_REPOSITORY "https://github.com/mathworks/libmexclass.git" )
100100
101- set (LIBMEXCLASS_FETCH_CONTENT_GIT_TAG "77f3d72 " )
101+ set (LIBMEXCLASS_FETCH_CONTENT_GIT_TAG "bf16a65 " )
102102
103103set (LIBMEXCLASS_FETCH_CONTENT_SOURCE_SUBDIR "libmexclass/cpp" )
104104
@@ -187,22 +187,26 @@ if(WITH_OTLP_GRPC)
187187 endif ()
188188endif ()
189189
190- set (TRACE_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/trace/include )
190+ set (TRACE_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/trace/include )
191+ set (METRICS_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/metrics/include )
191192set (CONTEXT_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/context/include )
192193set (BAGGAGE_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/baggage/include )
193194set (COMMON_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/common/include )
194195set (TRACE_SDK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/trace/include )
196+ set (METRICS_SDK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/metrics/include )
195197set (COMMON_SDK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/common/include )
196198set (OTLP_EXPORTER_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/include )
197- set (OPENTELEMETRY_PROXY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${TRACE_API_INCLUDE_DIR} ${CONTEXT_API_INCLUDE_DIR} ${BAGGAGE_API_INCLUDE_DIR} ${COMMON_API_INCLUDE_DIR} ${TRACE_SDK_INCLUDE_DIR} ${COMMON_SDK_INCLUDE_DIR} ${OTLP_EXPORTER_INCLUDE_DIR} ${OTEL_CPP_PREFIX} /include )
199+ set (OPENTELEMETRY_PROXY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${TRACE_API_INCLUDE_DIR} ${METRICS_API_INCLUDE_DIR} ${ CONTEXT_API_INCLUDE_DIR} ${BAGGAGE_API_INCLUDE_DIR} ${COMMON_API_INCLUDE_DIR} ${TRACE_SDK_INCLUDE_DIR} ${METRICS_SDK_INCLUDE_DIR } ${COMMON_SDK_INCLUDE_DIR} ${OTLP_EXPORTER_INCLUDE_DIR} ${OTEL_CPP_PREFIX} /include )
198200
199201set (OPENTELEMETRY_PROXY_FACTORY_CLASS_NAME OtelMatlabProxyFactory)
200202set (OPENTELEMETRY_PROXY_FACTORY_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
201203set (TRACE_API_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/trace/src)
204+ set (METRICS_API_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/metrics/src)
202205set (CONTEXT_API_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/context/src)
203206set (BAGGAGE_API_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/baggage/src)
204207set (COMMON_API_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /api/common/src)
205208set (TRACE_SDK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/trace/src)
209+ set (METRICS_SDK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/metrics/src)
206210set (COMMON_SDK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /sdk/common/src)
207211set (OTLP_EXPORTER_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/src)
208212set (OPENTELEMETRY_PROXY_SOURCES
@@ -212,6 +216,12 @@ set(OPENTELEMETRY_PROXY_SOURCES
212216 ${TRACE_API_SOURCE_DIR} /SpanProxy.cpp
213217 ${TRACE_API_SOURCE_DIR} /SpanContextProxy.cpp
214218 ${COMMON_API_SOURCE_DIR} /attribute.cpp
219+ ${METRICS_API_SOURCE_DIR} /MeterProviderProxy.cpp
220+ ${METRICS_API_SOURCE_DIR} /MeterProxy.cpp
221+ ${METRICS_API_SOURCE_DIR} /CounterProxy.cpp
222+ ${METRICS_API_SOURCE_DIR} /UpDownCounterProxy.cpp
223+ ${METRICS_API_SOURCE_DIR} /HistogramProxy.cpp
224+ ${METRICS_API_SOURCE_DIR} /SynchronousInstrumentProxyFactory.cpp
215225 ${CONTEXT_API_SOURCE_DIR} /TextMapPropagatorProxy.cpp
216226 ${CONTEXT_API_SOURCE_DIR} /CompositePropagatorProxy.cpp
217227 ${CONTEXT_API_SOURCE_DIR} /TextMapCarrierProxy.cpp
@@ -221,14 +231,21 @@ set(OPENTELEMETRY_PROXY_SOURCES
221231 ${TRACE_SDK_SOURCE_DIR} /SimpleSpanProcessorProxy.cpp
222232 ${TRACE_SDK_SOURCE_DIR} /BatchSpanProcessorProxy.cpp
223233 ${TRACE_SDK_SOURCE_DIR} /ParentBasedSamplerProxy.cpp
234+ ${METRICS_SDK_SOURCE_DIR} /MeterProviderProxy.cpp
235+ ${METRICS_SDK_SOURCE_DIR} /ViewProxy.cpp
236+ ${METRICS_SDK_SOURCE_DIR} /PeriodicExportingMetricReaderProxy.cpp
224237 ${COMMON_SDK_SOURCE_DIR} /resource .cpp)
225238if (WITH_OTLP_HTTP)
226- set (OPENTELEMETRY_PROXY_SOURCES ${OPENTELEMETRY_PROXY_SOURCES}
227- ${OTLP_EXPORTER_SOURCE_DIR} /OtlpHttpSpanExporterProxy.cpp)
239+ set (OPENTELEMETRY_PROXY_SOURCES
240+ ${OPENTELEMETRY_PROXY_SOURCES}
241+ ${OTLP_EXPORTER_SOURCE_DIR} /OtlpHttpSpanExporterProxy.cpp
242+ ${OTLP_EXPORTER_SOURCE_DIR} /OtlpHttpMetricExporterProxy.cpp)
228243endif ()
229244if (WITH_OTLP_GRPC)
230- set (OPENTELEMETRY_PROXY_SOURCES ${OPENTELEMETRY_PROXY_SOURCES}
231- ${OTLP_EXPORTER_SOURCE_DIR} /OtlpGrpcSpanExporterProxy.cpp)
245+ set (OPENTELEMETRY_PROXY_SOURCES
246+ ${OPENTELEMETRY_PROXY_SOURCES}
247+ ${OTLP_EXPORTER_SOURCE_DIR} /OtlpGrpcSpanExporterProxy.cpp
248+ ${OTLP_EXPORTER_SOURCE_DIR} /OtlpGrpcMetricExporterProxy.cpp)
232249endif ()
233250
234251libmexclass_client_add_proxy_library(
@@ -277,16 +294,19 @@ set(OTEL_CPP_LINK_LIBRARIES ${OTEL_CPP_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX
277294 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_trace${CMAKE_STATIC_LIBRARY_SUFFIX}
278295 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_version${CMAKE_STATIC_LIBRARY_SUFFIX}
279296 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_logs${CMAKE_STATIC_LIBRARY_SUFFIX}
297+ ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_metrics${CMAKE_STATIC_LIBRARY_SUFFIX}
280298 ${Protobuf_LIBRARIES} )
281299if (WITH_OTLP_HTTP)
282300 set (OTEL_CPP_LINK_LIBRARIES ${OTEL_CPP_LINK_LIBRARIES} ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_http${CMAKE_STATIC_LIBRARY_SUFFIX}
283301 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_http_client${CMAKE_STATIC_LIBRARY_SUFFIX}
302+ ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_http_metric${CMAKE_STATIC_LIBRARY_SUFFIX}
284303 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_http_client_curl${CMAKE_STATIC_LIBRARY_SUFFIX}
285304 ${CURL_LIBRARIES} )
286305endif ()
287306if (WITH_OTLP_GRPC)
288307 set (OTEL_CPP_LINK_LIBRARIES ${OTEL_CPP_LINK_LIBRARIES} ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_grpc${CMAKE_STATIC_LIBRARY_SUFFIX}
289308 ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_grpc_client${CMAKE_STATIC_LIBRARY_SUFFIX}
309+ ${OTEL_CPP_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} opentelemetry_exporter_otlp_grpc_metrics${CMAKE_STATIC_LIBRARY_SUFFIX}
290310 ${OTEL_CPP_PREFIX} /lib/${CMAKE_SHARED_LIBRARY_PREFIX} opentelemetry_proto_grpc${OTEL_PROTO_LIBRARY_SUFFIX}
291311 gRPC::grpc++
292312 absl::synchronization)
@@ -373,22 +393,37 @@ libmexclass_client_install(
373393
374394# Install M files
375395set (TRACE_API_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /api/trace/+opentelemetry)
396+ set (METRICS_API_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /api/metrics/+opentelemetry)
376397set (CONTEXT_API_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /api/context/+opentelemetry)
377398set (BAGGAGE_API_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /api/baggage/+opentelemetry)
378399set (COMMON_API_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /api/common/+opentelemetry)
379400set (TRACE_SDK_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /sdk/trace/+opentelemetry)
380- set (DEFAULT_EXPORTER_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m)
381- set (OTLP_HTTP_EXPORTER_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpHttpSpanExporter.m)
382- set (OTLP_GRPC_EXPORTER_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpGrpcSpanExporter.m)
401+ set (METRICS_SDK_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /sdk/metrics/+opentelemetry)
402+ set (COMMON_SDK_MATLAB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /sdk/common/+opentelemetry)
403+ set (EXPORTER_MATLAB_SOURCES
404+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m
405+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/defaultMetricExporter.m
406+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpValidator.m)
407+ set (OTLP_HTTP_EXPORTER_MATLAB_SOURCES
408+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpHttpSpanExporter.m
409+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpHttpMetricExporter.m
410+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpHttpValidator.m)
411+ set (OTLP_GRPC_EXPORTER_MATLAB_SOURCES
412+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpGrpcSpanExporter.m
413+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpGrpcMetricExporter.m
414+ ${CMAKE_CURRENT_SOURCE_DIR} /exporters/otlp/+opentelemetry/+exporters/+otlp/OtlpGrpcValidator.m)
383415
384416set (OTLP_EXPORTERS_DIR +opentelemetry/+exporters/+otlp)
385417
386418install (DIRECTORY ${TRACE_API_MATLAB_SOURCES} DESTINATION .)
419+ install (DIRECTORY ${METRICS_API_MATLAB_SOURCES} DESTINATION .)
387420install (DIRECTORY ${CONTEXT_API_MATLAB_SOURCES} DESTINATION .)
388421install (DIRECTORY ${BAGGAGE_API_MATLAB_SOURCES} DESTINATION .)
389422install (DIRECTORY ${COMMON_API_MATLAB_SOURCES} DESTINATION .)
390423install (DIRECTORY ${TRACE_SDK_MATLAB_SOURCES} DESTINATION .)
391- install (FILES ${DEFAULT_EXPORTER_MATLAB_SOURCES} DESTINATION ${OTLP_EXPORTERS_DIR} )
424+ install (DIRECTORY ${METRICS_SDK_MATLAB_SOURCES} DESTINATION .)
425+ install (DIRECTORY ${COMMON_SDK_MATLAB_SOURCES} DESTINATION .)
426+ install (FILES ${EXPORTER_MATLAB_SOURCES} DESTINATION ${OTLP_EXPORTERS_DIR} )
392427if (WITH_OTLP_HTTP)
393428 install (FILES ${OTLP_HTTP_EXPORTER_MATLAB_SOURCES} DESTINATION ${OTLP_EXPORTERS_DIR} )
394429endif ()
0 commit comments