You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
otel_info!(name:"MeterProvider.GlobalSet", message = "Global meter provider is set. Meters can now be created using global::meter() or global::meter_with_scope().");
28
27
}else{
29
-
otel_error!(name:"MeterProvider.GlobalSetFailed", message = "Global meter provider is not set due to lock poison. Meters created using global::meter() or global::meter_with_scope() will not function.");
28
+
otel_error!(name:"MeterProvider.GlobalSetFailed", message = "Setting global meter provider failed. Meters created using global::meter() or global::meter_with_scope() will not function. Report this issue in OpenTelemetry repo.");
30
29
}
31
30
}
32
31
33
32
/// Returns an instance of the currently configured global [`MeterProvider`].
34
33
pubfnmeter_provider() -> GlobalMeterProvider{
35
-
global_meter_provider()
36
-
.read()
37
-
.expect("GLOBAL_METER_PROVIDER RwLock poisoned")
38
-
.clone()
34
+
// Try to get the global meter provider. If the RwLock is poisoned, we'll log an error and return a NoopMeterProvider.
35
+
let global_provider = global_meter_provider().read();
36
+
ifletOk(provider) = global_provider {
37
+
provider.clone()
38
+
}else{
39
+
otel_error!(name:"MeterProvider.GlobalGetFailed", message = "Getting global meter provider failed. Meters created using global::meter() or global::meter_with_scope() will not function. Report this issue in OpenTelemetry repo.");
0 commit comments