@@ -125,7 +125,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
125125 }
126126 if (!is_array ($ args [0 ])) {
127127 $ integration ->setServerTags ($ span , $ this );
128- $ span ->meta ['memcached.query ' ] = $ command . ' ' . Obfuscation:: toObfuscatedString ($ args [0 ]);
128+ $ span ->meta ['memcached.query ' ] = $ command . ' ' . $ integration -> obfuscateIfNeeded ($ args [0 ]);
129129 }
130130 $ span ->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES ;
131131
@@ -147,7 +147,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
147147 }
148148 if (!is_array ($ args [0 ])) {
149149 $ integration ->setServerTags ($ span , $ this );
150- $ span ->meta ['memcached.query ' ] = $ command . ' ' . Obfuscation:: toObfuscatedString ($ args [0 ]);
150+ $ span ->meta ['memcached.query ' ] = $ command . ' ' . $ integration -> obfuscateIfNeeded ($ args [0 ]);
151151 $ span ->meta ['memcached.server_key ' ] = $ args [0 ];
152152 }
153153 $ span ->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES ;
@@ -169,7 +169,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
169169 $ span ->metrics [Tag::DB_ROW_COUNT ] = isset ($ retval ) ? (is_array ($ retval ) ? count ($ retval ) : 1 ) : 0 ;
170170 }
171171 $ integration ->setServerTags ($ span , $ this );
172- $ span ->meta ['memcached.query ' ] = $ command . ' ' . Obfuscation:: toObfuscatedString ($ args [0 ], ', ' );
172+ $ span ->meta ['memcached.query ' ] = $ command . ' ' . $ integration -> obfuscateIfNeeded ($ args [0 ], ', ' );
173173 $ span ->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES ;
174174 $ integration ->markForTraceAnalytics ($ span , $ command );
175175 }
@@ -189,7 +189,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
189189 }
190190 $ span ->meta ['memcached.server_key ' ] = $ args [0 ];
191191 $ integration ->setServerTags ($ span , $ this );
192- $ query = "$ command " . Obfuscation:: toObfuscatedString ($ args [1 ], ', ' );
192+ $ query = "$ command " . $ integration -> obfuscateIfNeeded ($ args [1 ], ', ' );
193193 $ span ->meta ['memcached.query ' ] = $ query ;
194194 $ span ->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES ;
195195 $ integration ->markForTraceAnalytics ($ span , $ command );
@@ -263,4 +263,18 @@ public function markForTraceAnalytics(SpanData $span, $command)
263263 $ this ->addTraceAnalyticsIfEnabled ($ span );
264264 }
265265 }
266+
267+ /*
268+ * Return either the obfuscated params or the params themselves, depending on the env var.
269+ */
270+ public function obfuscateIfNeeded ($ params , $ glue = ' ' )
271+ {
272+ if (dd_trace_env_config ("DD_TRACE_MEMCACHED_OBFUSCATION " )) {
273+ return Obfuscation::toObfuscatedString ($ params , $ glue );
274+ } elseif (is_array ($ params )) {
275+ return implode ($ glue , $ params );
276+ } else {
277+ return $ params ;
278+ }
279+ }
266280}
0 commit comments