@@ -188,7 +188,7 @@ func (e *Exporter) attachConfig(ctx context.Context, cfg config.Config) error {
188188 newModuleSpan .End ()
189189
190190 if len (cfg .Kaddrs ) > 0 {
191- err = e .passKaddrs (module , cfg )
191+ err = e .passKaddrs (ctx , module , cfg )
192192 if err != nil {
193193 return fmt .Errorf ("error passing kaddrs to config %q: %v" , cfg .Name , err )
194194 }
@@ -238,22 +238,40 @@ func (e *Exporter) MissedAttachments() []string {
238238 return missed
239239}
240240
241- func (e * Exporter ) passKaddrs (module * libbpfgo.Module , cfg config.Config ) error {
241+ func (e * Exporter ) passKaddrs (ctx context.Context , module * libbpfgo.Module , cfg config.Config ) error {
242+ tracer := e .tracingProvider .Tracer ("" )
243+
244+ passKaddrsCtx , passKaddrsSpan := tracer .Start (ctx , "pass_kaddrs" )
245+ defer passKaddrsSpan .End ()
246+
242247 if len (e .kaddrs ) == 0 {
248+ _ , populateKaddrsSpan := tracer .Start (passKaddrsCtx , "populate_kaddrs" )
249+
243250 if err := e .populateKaddrs (); err != nil {
244- return fmt .Errorf ("error populating kaddrs: %v" , err )
251+ err = fmt .Errorf ("error populating kaddrs: %v" , err )
252+ populateKaddrsSpan .SetStatus (codes .Error , err .Error ())
253+ populateKaddrsSpan .End ()
254+ return err
245255 }
256+
257+ populateKaddrsSpan .End ()
246258 }
247259
248260 for _ , kaddr := range cfg .Kaddrs {
261+ passKaddrsSpan .AddEvent ("kaddr" , trace .WithAttributes (attribute .String ("symbol" , kaddr )))
262+
249263 addr , ok := e .kaddrs [kaddr ]
250264 if ! ok {
251- return fmt .Errorf ("error finding kaddr for %q" , kaddr )
265+ err := fmt .Errorf ("error finding kaddr for %q" , kaddr )
266+ passKaddrsSpan .SetStatus (codes .Error , err .Error ())
267+ return err
252268 }
253269
254270 name := "kaddr_" + kaddr
255271 if err := module .InitGlobalVariable (name , addr ); err != nil {
256- return fmt .Errorf ("error setting kaddr value for %q (const volatile %q) to 0x%x: %v" , kaddr , name , addr , err )
272+ err = fmt .Errorf ("error setting kaddr value for %q (const volatile %q) to 0x%x: %v" , kaddr , name , addr , err )
273+ passKaddrsSpan .SetStatus (codes .Error , err .Error ())
274+ return err
257275 }
258276 }
259277
0 commit comments