diff --git a/.chloggen/sqlserver-memory-leak.yaml b/.chloggen/sqlserver-memory-leak.yaml new file mode 100644 index 0000000000000..17bae56303064 --- /dev/null +++ b/.chloggen/sqlserver-memory-leak.yaml @@ -0,0 +1,7 @@ +change_type: bug_fix +component: sqlserverreceiver +note: Fix memory leak from top queries and query samples features +issues: [42302] +subtext: | + The issue was caused by the misuse of the obfuscate library. +change_logs: [user] \ No newline at end of file diff --git a/receiver/sqlserverreceiver/obfuscate.go b/receiver/sqlserverreceiver/obfuscate.go index f7648701d0a6a..e7e7c00b0353f 100644 --- a/receiver/sqlserverreceiver/obfuscate.go +++ b/receiver/sqlserverreceiver/obfuscate.go @@ -12,24 +12,25 @@ import ( "github.com/DataDog/datadog-agent/pkg/obfuscate" ) -var ( - xmlPlanObfuscationAttrs = []string{ - "StatementText", - "ConstValue", - "ScalarString", - "ParameterCompiledValue", - } - obfuscateSQLConfig = obfuscate.SQLConfig{DBMS: "mssql"} -) +var xmlPlanObfuscationAttrs = []string{ + "StatementText", + "ConstValue", + "ScalarString", + "ParameterCompiledValue", +} type obfuscator obfuscate.Obfuscator func newObfuscator() *obfuscator { - return (*obfuscator)(obfuscate.NewObfuscator(obfuscate.Config{})) + return (*obfuscator)(obfuscate.NewObfuscator(obfuscate.Config{ + SQL: obfuscate.SQLConfig{ + DBMS: "mssql", + }, + })) } func (o *obfuscator) obfuscateSQLString(sql string) (string, error) { - obfuscatedQuery, err := (*obfuscate.Obfuscator)(o).ObfuscateSQLStringWithOptions(sql, &obfuscateSQLConfig, "") + obfuscatedQuery, err := (*obfuscate.Obfuscator)(o).ObfuscateSQLString(sql) if err != nil { return "", err }