enhance: free CString in InitTraceConfig (#30055)

`C.CString` result needs to be freed after usage

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
congqixia 2024-01-17 15:15:03 +08:00 committed by GitHub
parent 9a3837212c
commit 10acdbbe8e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -45,12 +45,21 @@ func InitLocalChunkManager(path string) {
} }
func InitTraceConfig(params *paramtable.ComponentParam) { func InitTraceConfig(params *paramtable.ComponentParam) {
sampleFraction := C.float(params.TraceCfg.SampleFraction.GetAsFloat())
nodeID := C.int(paramtable.GetNodeID())
exporter := C.CString(params.TraceCfg.Exporter.GetValue())
jaegerURL := C.CString(params.TraceCfg.JaegerURL.GetValue())
endpoint := C.CString(params.TraceCfg.OtlpEndpoint.GetValue())
defer C.free(unsafe.Pointer(exporter))
defer C.free(unsafe.Pointer(jaegerURL))
defer C.free(unsafe.Pointer(endpoint))
config := C.CTraceConfig{ config := C.CTraceConfig{
exporter: C.CString(params.TraceCfg.Exporter.GetValue()), exporter: exporter,
sampleFraction: C.float(params.TraceCfg.SampleFraction.GetAsFloat()), sampleFraction: sampleFraction,
jaegerURL: C.CString(params.TraceCfg.JaegerURL.GetValue()), jaegerURL: jaegerURL,
otlpEndpoint: C.CString(params.TraceCfg.OtlpEndpoint.GetValue()), otlpEndpoint: endpoint,
nodeID: C.int(paramtable.GetNodeID()), nodeID: nodeID,
} }
C.InitTrace(&config) C.InitTrace(&config)
} }