|
27 | 27 | from veadk.config import getenv |
28 | 28 | from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter |
29 | 29 | from veadk.tracing.telemetry.metrics.opentelemetry_metrics import MeterUploader |
30 | | - |
31 | | -# from veadk.tracing.telemetry.metrics.opentelemetry_metrics import meter_uploader_manager |
32 | 30 | from veadk.utils.logger import get_logger |
33 | 31 |
|
34 | 32 | logger = get_logger(__name__) |
@@ -74,29 +72,22 @@ def model_post_init(self, context: Any) -> None: |
74 | 72 | self.meter_uploader = self._init_meter_uploader(exporter_id="apmplus") |
75 | 73 |
|
76 | 74 | def _init_meter_uploader(self, exporter_id: str) -> MeterUploader: |
77 | | - # init meter |
78 | | - exporter = OTLPMetricExporter( |
79 | | - endpoint=self.config.endpoint, headers=self.headers |
80 | | - ) |
81 | | - metric_reader = PeriodicExportingMetricReader(exporter) |
82 | | - |
83 | 75 | global_metrics_provider = metrics_api.get_meter_provider() |
84 | | - |
85 | | - if getattr(global_metrics_provider, "_sdk_config", None): |
86 | | - global_resource = getattr(global_metrics_provider, "_sdk_config").resource |
| 76 | + if hasattr(global_metrics_provider, "_sdk_config"): |
| 77 | + global_resource = global_metrics_provider._sdk_config.resource |
87 | 78 | else: |
88 | 79 | global_resource = Resource.create() |
| 80 | + resource = global_resource.merge(Resource.create(self.resource_attributes)) |
89 | 81 |
|
90 | | - new_resource = Resource.create(self.resource_attributes) |
91 | | - merged_resource = global_resource.merge(new_resource) |
92 | | - |
93 | | - provider = metrics_sdk.MeterProvider( |
94 | | - metric_readers=[metric_reader], resource=merged_resource |
| 82 | + exporter = OTLPMetricExporter( |
| 83 | + endpoint=self.config.endpoint, headers=self.headers |
95 | 84 | ) |
96 | | - metrics_api.set_meter_provider(provider) |
97 | | - |
98 | | - meter_uploader = MeterUploader(exporter_id=exporter_id) |
99 | | - return meter_uploader |
| 85 | + metric_reader = PeriodicExportingMetricReader(exporter) |
| 86 | + # set provider |
| 87 | + metrics_api.set_meter_provider( |
| 88 | + metrics_sdk.MeterProvider(metric_readers=[metric_reader], resource=resource) |
| 89 | + ) |
| 90 | + return MeterUploader(exporter_id=exporter_id) |
100 | 91 |
|
101 | 92 | @override |
102 | 93 | def export(self) -> None: |
|
0 commit comments