@@ -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