Skip to content

Commit 8e2b1b9

Browse files
Extract obfuscation behavior to function
1 parent 3095be3 commit 8e2b1b9

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

src/DDTrace/Integrations/Memcached/MemcachedIntegration.php

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
125125
}
126126
if (!is_array($args[0])) {
127127
$integration->setServerTags($span, $this);
128-
$queryParams = dd_trace_env_config("DD_TRACE_MEMCACHED_OBFUSCATION") ?
129-
Obfuscation::toObfuscatedString($args[0]) : $args[0];
130-
$span->meta['memcached.query'] = $command . ' ' . $queryParams;
128+
$span->meta['memcached.query'] = $command . ' ' . $integration->obfuscateIfNeeded($args[0]);
131129
}
132130
$span->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES;
133131

@@ -149,9 +147,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
149147
}
150148
if (!is_array($args[0])) {
151149
$integration->setServerTags($span, $this);
152-
$queryParams = dd_trace_env_config("DD_TRACE_MEMCACHED_OBFUSCATION") ?
153-
Obfuscation::toObfuscatedString($args[0]) : $args[0];
154-
$span->meta['memcached.query'] = $command . ' ' . $queryParams;
150+
$span->meta['memcached.query'] = $command . ' ' . $integration->obfuscateIfNeeded($args[0]);
155151
$span->meta['memcached.server_key'] = $args[0];
156152
}
157153
$span->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES;
@@ -173,9 +169,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
173169
$span->metrics[Tag::DB_ROW_COUNT] = isset($retval) ? (is_array($retval) ? count($retval) : 1) : 0;
174170
}
175171
$integration->setServerTags($span, $this);
176-
$queryParams = dd_trace_env_config("DD_TRACE_MEMCACHED_OBFUSCATION") ?
177-
Obfuscation::toObfuscatedString($args[0], ',') : implode(',', $args[0]);
178-
$span->meta['memcached.query'] = $command . ' ' . $queryParams;
172+
$span->meta['memcached.query'] = $command . ' ' . $integration->obfuscateIfNeeded($args[0], ',');
179173
$span->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES;
180174
$integration->markForTraceAnalytics($span, $command);
181175
}
@@ -195,9 +189,7 @@ function (SpanData $span, $args, $retval) use ($integration, $command) {
195189
}
196190
$span->meta['memcached.server_key'] = $args[0];
197191
$integration->setServerTags($span, $this);
198-
$queryParams = dd_trace_env_config("DD_TRACE_MEMCACHED_OBFUSCATION") ?
199-
Obfuscation::toObfuscatedString($args[1], ',') : implode(',', $args[1]);
200-
$query = "$command " . $queryParams;
192+
$query = "$command " . $integration->obfuscateIfNeeded($args[1], ',');
201193
$span->meta['memcached.query'] = $query;
202194
$span->peerServiceSources = DatabaseIntegrationHelper::PEER_SERVICE_SOURCES;
203195
$integration->markForTraceAnalytics($span, $command);
@@ -271,4 +263,18 @@ public function markForTraceAnalytics(SpanData $span, $command)
271263
$this->addTraceAnalyticsIfEnabled($span);
272264
}
273265
}
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+
}
274280
}

0 commit comments

Comments
 (0)