File tree Expand file tree Collapse file tree
src/DDTrace/Integrations/MongoDB Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,13 +17,25 @@ function register_subscriber()
1717{
1818 class DatadogSubscriber implements \MongoDB \Driver \Monitoring \CommandSubscriber
1919 {
20+ private static $ useDeprecatedMethods = null ;
21+
2022 #[\ReturnTypeWillChange]
2123 public function commandStarted (\MongoDB \Driver \Monitoring \CommandStartedEvent $ event )
2224 {
2325 $ span = \DDTrace \active_span ();
2426 if ($ span ) {
25- $ span ->meta ['out.host ' ] = $ event ->getServer ()->getHost ();
26- $ span ->meta ['out.port ' ] = $ event ->getServer ()->getPort ();
27+ if (is_null (self ::$ useDeprecatedMethods )) {
28+ // v1.20+: getServer() is deprecated in favor of getHost() and getPort()
29+ self ::$ useDeprecatedMethods = !method_exists ($ event , 'getHost ' ) || method_exists ($ event , 'getPort ' );
30+ }
31+
32+ if (self ::$ useDeprecatedMethods ) {
33+ $ span ->meta ['out.host ' ] = $ event ->getServer ()->getHost ();
34+ $ span ->meta ['out.port ' ] = $ event ->getServer ()->getPort ();
35+ } else {
36+ $ span ->meta ['out.host ' ] = $ event ->getHost ();
37+ $ span ->meta ['out.port ' ] = $ event ->getPort ();
38+ }
2739 }
2840 }
2941
You can’t perform that action at this time.
0 commit comments