Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 4391e60

Browse files
author
billpyang
committed
fix:完善meterProvider的访问权限
1 parent 180f8c7 commit 4391e60

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/OpenTelemetryServiceProvider.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,10 @@ public function register(): void
6868
// register custom meter
6969
$this->app->singleton(MeterInterface::class, function () {
7070
$resourceInfo = (new Sdk)->getResource();
71-
Metric::$meterProvider = (new MeterProviderFactory)->create($resourceInfo);
71+
$meterProvider = (new MeterProviderFactory)->create($resourceInfo);
72+
Metric::setProvider($meterProvider);
7273

73-
return Metric::$meterProvider->getMeter(config('otel.meter_name', 'overtrue.laravel-open-telemetry'));
74+
return $meterProvider->getMeter(config('otel.meter_name', 'overtrue.laravel-open-telemetry'));
7475
});
7576

7677
$this->app->alias(MeterInterface::class, 'opentelemetry.meter');

src/Support/Metric.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Metric
1717
{
1818
private static ?bool $enabled = null;
1919

20-
public static ?MeterProviderInterface $meterProvider = null;
20+
private static ?MeterProviderInterface $meterProvider = null;
2121

2222
public function __construct(protected Application $app) {}
2323

@@ -50,6 +50,16 @@ public function flush(): void
5050
self::$meterProvider?->forceFlush();
5151
}
5252

53+
public static function getProvider(): MeterProviderInterface
54+
{
55+
return self::$meterProvider;
56+
}
57+
58+
public static function setProvider(MeterProviderInterface $meterProvider): void
59+
{
60+
self::$meterProvider = $meterProvider;
61+
}
62+
5363
// ======================= Core OpenTelemetry API =======================
5464

5565
/**

0 commit comments

Comments
 (0)