@@ -35,19 +35,21 @@ type testSpanData struct {
3535
3636// GoTestTracer handles parsing Go test JSON output and creating OpenTelemetry spans
3737type GoTestTracer struct {
38- tracer trace.Tracer
39- parentCtx context.Context
38+ tracer trace.Tracer
39+ parentCtx context.Context
40+ leewayPkgName string
4041
4142 mu sync.Mutex
4243 spans map [string ]* testSpanData // key: "package/testname" or just "package" for package-level
4344}
4445
4546// NewGoTestTracer creates a new GoTestTracer that will create spans as children of the given context
46- func NewGoTestTracer (tracer trace.Tracer , parentCtx context.Context ) * GoTestTracer {
47+ func NewGoTestTracer (tracer trace.Tracer , parentCtx context.Context , leewayPkgName string ) * GoTestTracer {
4748 return & GoTestTracer {
48- tracer : tracer ,
49- parentCtx : parentCtx ,
50- spans : make (map [string ]* testSpanData ),
49+ tracer : tracer ,
50+ parentCtx : parentCtx ,
51+ leewayPkgName : leewayPkgName ,
52+ spans : make (map [string ]* testSpanData ),
5153 }
5254}
5355
@@ -163,6 +165,7 @@ func (t *GoTestTracer) handleRun(event *goTestEvent) {
163165 )
164166
165167 span .SetAttributes (
168+ attribute .String ("leeway.package.name" , t .leewayPkgName ),
166169 attribute .String ("test.name" , event .Test ),
167170 attribute .String ("test.package" , event .Package ),
168171 attribute .String ("test.framework" , "go" ),
@@ -193,6 +196,7 @@ func (t *GoTestTracer) handlePackageStart(event *goTestEvent) {
193196 )
194197
195198 span .SetAttributes (
199+ attribute .String ("leeway.package.name" , t .leewayPkgName ),
196200 attribute .String ("test.package" , event .Package ),
197201 attribute .String ("test.framework" , "go" ),
198202 attribute .String ("test.scope" , "package" ),
0 commit comments