@@ -36,7 +36,6 @@ func (t *tracedDASubmitter) SubmitHeaders(ctx context.Context, headers []*types.
3636 attribute .Int ("header.count" , len (headers )),
3737 ),
3838 )
39- defer span .End ()
4039
4140 var totalBytes int
4241 for _ , h := range marshalledHeaders {
@@ -51,13 +50,30 @@ func (t *tracedDASubmitter) SubmitHeaders(ctx context.Context, headers []*types.
5150 )
5251 }
5352
54- err := t .inner .SubmitHeaders (ctx , headers , marshalledHeaders , cache , signer , onSubmitError )
53+ var wrappedOnError func (error )
54+ if onSubmitError != nil {
55+ wrappedOnError = func (err error ) {
56+ if err != nil {
57+ span .RecordError (err )
58+ span .SetStatus (codes .Error , err .Error ())
59+ }
60+ span .End ()
61+ onSubmitError (err )
62+ }
63+ }
64+
65+ err := t .inner .SubmitHeaders (ctx , headers , marshalledHeaders , cache , signer , wrappedOnError )
5566 if err != nil {
5667 span .RecordError (err )
5768 span .SetStatus (codes .Error , err .Error ())
69+ span .End ()
5870 return err
5971 }
6072
73+ if onSubmitError == nil {
74+ span .End ()
75+ }
76+
6177 return nil
6278}
6379
@@ -67,7 +83,6 @@ func (t *tracedDASubmitter) SubmitData(ctx context.Context, signedDataList []*ty
6783 attribute .Int ("data.count" , len (signedDataList )),
6884 ),
6985 )
70- defer span .End ()
7186
7287 var totalBytes int
7388 for _ , d := range marshalledData {
@@ -82,13 +97,30 @@ func (t *tracedDASubmitter) SubmitData(ctx context.Context, signedDataList []*ty
8297 )
8398 }
8499
85- err := t .inner .SubmitData (ctx , signedDataList , marshalledData , cache , signer , genesis , onSubmitError )
100+ var wrappedOnError func (error )
101+ if onSubmitError != nil {
102+ wrappedOnError = func (err error ) {
103+ if err != nil {
104+ span .RecordError (err )
105+ span .SetStatus (codes .Error , err .Error ())
106+ }
107+ span .End ()
108+ onSubmitError (err )
109+ }
110+ }
111+
112+ err := t .inner .SubmitData (ctx , signedDataList , marshalledData , cache , signer , genesis , wrappedOnError )
86113 if err != nil {
87114 span .RecordError (err )
88115 span .SetStatus (codes .Error , err .Error ())
116+ span .End ()
89117 return err
90118 }
91119
120+ if onSubmitError == nil {
121+ span .End ()
122+ }
123+
92124 return nil
93125}
94126
0 commit comments