Skip to content

Commit 9c575fb

Browse files
committed
fix: rewrite init meter uploader
1 parent 8876d52 commit 9c575fb

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

veadk/tracing/telemetry/exporters/apmplus_exporter.py

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
from veadk.config import getenv
2828
from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
2929
from veadk.tracing.telemetry.metrics.opentelemetry_metrics import MeterUploader
30-
31-
# from veadk.tracing.telemetry.metrics.opentelemetry_metrics import meter_uploader_manager
3230
from veadk.utils.logger import get_logger
3331

3432
logger = get_logger(__name__)
@@ -74,29 +72,22 @@ def model_post_init(self, context: Any) -> None:
7472
self.meter_uploader = self._init_meter_uploader(exporter_id="apmplus")
7573

7674
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-
8375
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
8778
else:
8879
global_resource = Resource.create()
80+
resource = global_resource.merge(Resource.create(self.resource_attributes))
8981

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
9584
)
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)
10091

10192
@override
10293
def export(self) -> None:

0 commit comments

Comments
 (0)