mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
## What changed?
<!-- Describe what has changed in this PR -->
Remove license header from every file. Because it is really hard to
follow in this PR here is the summary:
1. License header is removed from all `.go` and `.proto` files
:fireworks::fireworks:🎆.
2. `LICENSE` file in the root directory has only Temporal and Uber
copyrights.
3. 5 other `LICENSE` files added to the packages which have copyrights
different from Temporal and Uber: Datadog, Xargin, "Mat Ryer, Tyler
Bunnell and contributors".
4. `license_file` flag is removed from all code generation tools.
5. `copyright_file` flag is removed from `go:generate mockgen`
directive.
6. All copyright related targets are removed from `Makefile`.
7. Updated Temporal copyright year to 2025 everywhere.
## Why?
<!-- Tell your future self why have you made these changes -->
I double checked with legal department that it is not needed to have
license header in every file. One file per repo is enough. I put all
copyrights to the root `LICENSE` file and removed header from all other
files. Also updated tools and `Makefile`.
68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
package otellogger
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net"
|
|
"sync"
|
|
"testing"
|
|
|
|
ctrace "go.opentelemetry.io/proto/otlp/collector/trace/v1"
|
|
trace "go.opentelemetry.io/proto/otlp/trace/v1"
|
|
"go.temporal.io/server/common/testing/freeport"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
type OTELLogger struct {
|
|
ctrace.UnimplementedTraceServiceServer
|
|
addr string
|
|
spansLock sync.RWMutex
|
|
spans []*trace.ResourceSpans
|
|
}
|
|
|
|
func Start(tb testing.TB) (*OTELLogger, error) {
|
|
grpcServer := grpc.NewServer()
|
|
l := &OTELLogger{
|
|
addr: fmt.Sprintf("localhost:%d", freeport.MustGetFreePort()),
|
|
}
|
|
ctrace.RegisterTraceServiceServer(grpcServer, l)
|
|
|
|
listener, err := net.Listen("tcp", l.addr)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
go func() {
|
|
if err := grpcServer.Serve(listener); err != nil {
|
|
tb.Errorf("OTEL logger failed to start: %v", err)
|
|
}
|
|
}()
|
|
|
|
go func() {
|
|
<-tb.Context().Done()
|
|
grpcServer.Stop()
|
|
}()
|
|
|
|
return l, nil
|
|
}
|
|
|
|
func (l *OTELLogger) Addr() string {
|
|
return "http://" + l.addr
|
|
}
|
|
|
|
func (l *OTELLogger) Spans() []*trace.ResourceSpans {
|
|
l.spansLock.RLock()
|
|
defer l.spansLock.RUnlock()
|
|
return l.spans
|
|
}
|
|
|
|
func (l *OTELLogger) Export(
|
|
ctx context.Context,
|
|
request *ctrace.ExportTraceServiceRequest,
|
|
) (*ctrace.ExportTraceServiceResponse, error) {
|
|
l.spansLock.Lock()
|
|
defer l.spansLock.Unlock()
|
|
l.spans = append(l.spans, request.ResourceSpans...)
|
|
return &ctrace.ExportTraceServiceResponse{}, nil
|
|
}
|