Skip to content

Commit

Permalink
Merge branch 'main' into e2e-otlp
Browse files Browse the repository at this point in the history
  • Loading branch information
chahatsagarmain authored Jan 23, 2025
2 parents 95712f2 + 07e4f57 commit 37b1105
Show file tree
Hide file tree
Showing 36 changed files with 646 additions and 451 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ ALL_SRC = $(shell find . -name '*.go' \
-not -name 'mocks*' \
-not -name '*.pb.go' \
-not -path './vendor/*' \
-not -path './idl/*' \
-not -path './internal/tools/*' \
-not -path './docker/debug/*' \
-not -path '*/mocks/*' \
Expand Down
2 changes: 1 addition & 1 deletion cmd/collector/app/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func (c *Collector) Start(options *flags.CollectorOptions) error {
var additionalProcessors []ProcessSpan
if c.samplingAggregator != nil {
additionalProcessors = append(additionalProcessors, func(span *model.Span, _ /* tenant */ string) {
c.samplingAggregator.HandleRootSpan(span, c.logger)
c.samplingAggregator.HandleRootSpan(span)
})
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/collector/app/collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (t *mockAggregator) RecordThroughput(string /* service */, string /* operat
t.callCount.Add(1)
}

func (t *mockAggregator) HandleRootSpan(*model.Span, *zap.Logger) {
func (t *mockAggregator) HandleRootSpan(*model.Span) {
t.callCount.Add(1)
}

Expand Down
26 changes: 26 additions & 0 deletions cmd/esmapping-generator/generator/esmapping_generator.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Copyright (c) 2025 The Jaeger Authors.
// SPDX-License-Identifier: Apache-2.0

package generator

import (
"fmt"

"github.com/jaegertracing/jaeger/cmd/esmapping-generator/app"
"github.com/jaegertracing/jaeger/cmd/esmapping-generator/app/renderer"
"github.com/jaegertracing/jaeger/pkg/es"
"github.com/jaegertracing/jaeger/plugin/storage/es/mappings"
)

func GenerateMappings(options app.Options) (string, error) {
if _, err := mappings.MappingTypeFromString(options.Mapping); err != nil {
return "", fmt.Errorf("invalid mapping type '%s': please pass either 'jaeger-service' or 'jaeger-span' as the mapping type %w", options.Mapping, err)
}

parsedMapping, err := renderer.GetMappingAsString(es.TextTemplateBuilder{}, &options)
if err != nil {
return "", fmt.Errorf("failed to render mapping to string: %w", err)
}

return parsedMapping, nil
}
87 changes: 87 additions & 0 deletions cmd/esmapping-generator/generator/esmapping_generator_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
// Copyright (c) 2025 The Jaeger Authors.
// SPDX-License-Identifier: Apache-2.0

package generator

import (
"encoding/json"
"testing"

"github.com/crossdock/crossdock-go/assert"
"github.com/crossdock/crossdock-go/require"

"github.com/jaegertracing/jaeger/cmd/esmapping-generator/app"
"github.com/jaegertracing/jaeger/pkg/testutils"
)

func TestGenerateMappings(t *testing.T) {
tests := []struct {
name string
options app.Options
expectErr bool
}{
{
name: "valid jaeger-span mapping",
options: app.Options{
Mapping: "jaeger-span",
EsVersion: 7,
Shards: 5,
Replicas: 1,
IndexPrefix: "jaeger-index",
UseILM: "false",
ILMPolicyName: "jaeger-ilm-policy",
},
expectErr: false,
},
{
name: "valid jaeger-service mapping",
options: app.Options{
Mapping: "jaeger-service",
EsVersion: 7,
Shards: 5,
Replicas: 1,
IndexPrefix: "jaeger-service-index",
UseILM: "true",
ILMPolicyName: "service-ilm-policy",
},
expectErr: false,
},
{
name: "invalid mapping type",
options: app.Options{
Mapping: "invalid-mapping",
},
expectErr: true,
},
{
name: "missing mapping flag",
options: app.Options{
Mapping: "",
},
expectErr: true,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result, err := GenerateMappings(tt.options)
if tt.expectErr {
require.Error(t, err, "Expected an error")
} else {
require.NoError(t, err, "Did not expect an error")

var parsed map[string]interface{}
err = json.Unmarshal([]byte(result), &parsed)
require.NoError(t, err, "Expected valid JSON output")

assert.NotEmpty(t, parsed["index_patterns"], "Expected index_patterns to be present")
assert.NotEmpty(t, parsed["mappings"], "Expected mappings to be present")
assert.NotEmpty(t, parsed["settings"], "Expected settings to be present")
}
})
}
}

func TestMain(m *testing.M) {
testutils.VerifyGoLeaks(m)
}
34 changes: 4 additions & 30 deletions cmd/esmapping-generator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,15 @@ import (
"fmt"
"os"

"github.com/spf13/cobra"
"go.uber.org/zap"

"github.com/jaegertracing/jaeger/cmd/esmapping-generator/app"
"github.com/jaegertracing/jaeger/cmd/esmapping-generator/app/renderer"
"github.com/jaegertracing/jaeger/pkg/es"
"github.com/jaegertracing/jaeger/internal/storage/elasticsearch/mapping"
"github.com/jaegertracing/jaeger/pkg/version"
"github.com/jaegertracing/jaeger/plugin/storage/es/mappings"
)

func main() {
logger, _ := zap.NewDevelopment()
options := app.Options{}
command := &cobra.Command{
Use: "jaeger-esmapping-generator",
Short: "Jaeger esmapping-generator prints rendered mappings as string",
Long: `Jaeger esmapping-generator renders passed templates with provided values and prints rendered output to stdout`,
Run: func(_ *cobra.Command, _ /* args */ []string) {
if _, err := mappings.MappingTypeFromString(options.Mapping); err != nil {
logger.Fatal("please pass either 'jaeger-service' or 'jaeger-span' as argument")
}

parsedMapping, err := renderer.GetMappingAsString(es.TextTemplateBuilder{}, &options)
if err != nil {
logger.Fatal(err.Error())
}
print(parsedMapping)
},
}

options.AddFlags(command)

command.AddCommand(version.Command())
esmappingsCmd := mapping.Command()
esmappingsCmd.AddCommand(version.Command())

if err := command.Execute(); err != nil {
if err := esmappingsCmd.Execute(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
Expand Down
4 changes: 4 additions & 0 deletions cmd/jaeger/config-elasticsearch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ extensions:
backends:
some_storage:
elasticsearch:
server_urls:
- http://localhost:9200
indices:
index_prefix: "jaeger-main"
spans:
Expand All @@ -56,6 +58,8 @@ extensions:
replicas: 1
another_storage:
elasticsearch:
server_urls:
- http://localhost:9200
indices:
index_prefix: "jaeger-archive"

Expand Down
4 changes: 4 additions & 0 deletions cmd/jaeger/config-opensearch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ extensions:
backends:
some_storage:
opensearch:
server_urls:
- http://localhost:9200
indices:
index_prefix: "jaeger-main"
spans:
Expand All @@ -56,6 +58,8 @@ extensions:
replicas: 1
another_storage:
opensearch:
server_urls:
- http://localhost:9200
indices:
index_prefix: "jaeger-archive"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func (tp *traceProcessor) processTraces(_ context.Context, td ptrace.Traces) (pt
if span.Process == nil {
span.Process = batch.Process
}
tp.aggregator.HandleRootSpan(span, tp.telset.Logger)
tp.aggregator.HandleRootSpan(span)
}
}
return td, nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ type notClosingAgg struct{}

func (*notClosingAgg) Close() error { return errors.New("not closing") }

func (*notClosingAgg) HandleRootSpan(*model.Span, *zap.Logger) {}
func (*notClosingAgg) HandleRootSpan(*model.Span) {}
func (*notClosingAgg) RecordThroughput(string, string, model.SamplerType, float64) {}
func (*notClosingAgg) Start() {}

Expand Down
2 changes: 2 additions & 0 deletions cmd/jaeger/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (

"github.com/jaegertracing/jaeger/cmd/internal/docs"
"github.com/jaegertracing/jaeger/cmd/jaeger/internal"
"github.com/jaegertracing/jaeger/internal/storage/elasticsearch/mapping"
"github.com/jaegertracing/jaeger/pkg/config"
"github.com/jaegertracing/jaeger/pkg/version"
)
Expand All @@ -19,6 +20,7 @@ func main() {
command := internal.Command()
command.AddCommand(version.Command())
command.AddCommand(docs.Command(v))
command.AddCommand(mapping.Command())
config.AddFlags(
v,
command,
Expand Down
2 changes: 1 addition & 1 deletion cmd/query/app/apiv3/grpc_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func (h *Handler) GetTrace(request *api_v3.GetTraceRequest, stream api_v3.QueryS
query := querysvc.GetTraceParams{
TraceIDs: []tracestore.GetTraceParams{
{
TraceID: traceID.ToOTELTraceID(),
TraceID: model.ToOTELTraceID(traceID),
Start: request.GetStartTime(),
End: request.GetEndTime(),
},
Expand Down
2 changes: 1 addition & 1 deletion cmd/query/app/apiv3/http_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ func (h *HTTPGateway) getTrace(w http.ResponseWriter, r *http.Request) {
request := querysvc.GetTraceParams{
TraceIDs: []tracestore.GetTraceParams{
{
TraceID: traceID.ToOTELTraceID(),
TraceID: model.ToOTELTraceID(traceID),
},
},
}
Expand Down
62 changes: 31 additions & 31 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require (
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
github.com/bsm/sarama-cluster v2.1.13+incompatible
github.com/crossdock/crossdock-go v0.0.0-20160816171116-049aabb0122b
github.com/dgraph-io/badger/v4 v4.5.0
github.com/dgraph-io/badger/v4 v4.5.1
github.com/elastic/go-elasticsearch/v8 v8.17.0
github.com/fsnotify/fsnotify v1.8.0
github.com/go-logr/zapr v1.3.0
Expand All @@ -23,17 +23,17 @@ require (
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.2.0
github.com/kr/pretty v0.3.1
github.com/olivere/elastic v6.2.37+incompatible
github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.117.0
github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.118.0
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0
github.com/prometheus/client_golang v1.20.5
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.62.0
Expand Down Expand Up @@ -98,20 +98,20 @@ require (
go.uber.org/zap v1.27.0
golang.org/x/net v0.34.0
golang.org/x/sys v0.29.0
google.golang.org/grpc v1.69.4
google.golang.org/grpc v1.70.0
google.golang.org/protobuf v1.36.3
gopkg.in/yaml.v3 v3.0.1
)

require go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect

require (
github.com/IBM/sarama v1.44.0 // indirect
github.com/IBM/sarama v1.45.0 // indirect
github.com/alecthomas/participle/v2 v2.1.1 // indirect
github.com/antchfx/xmlquery v1.4.3 // indirect
github.com/antchfx/xpath v1.3.3 // indirect
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 // indirect
github.com/aws/aws-sdk-go v1.55.5 // indirect
github.com/aws/aws-sdk-go v1.55.6 // indirect
github.com/aws/aws-sdk-go-v2 v1.19.0 // indirect
github.com/aws/aws-sdk-go-v2/config v1.18.28 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.13.27 // indirect
Expand All @@ -129,7 +129,7 @@ require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dgraph-io/ristretto/v2 v2.0.0 // indirect
github.com/dgraph-io/ristretto/v2 v2.1.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/eapache/go-resiliency v1.7.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
Expand All @@ -148,7 +148,7 @@ require (
github.com/goccy/go-json v0.10.4 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/flatbuffers v24.3.25+incompatible // indirect
github.com/google/flatbuffers v24.12.23+incompatible // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect
Expand Down Expand Up @@ -188,20 +188,20 @@ require (
github.com/mostynb/go-grpc-compression v1.2.3 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/onsi/ginkgo v1.16.5 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.117.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.118.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.118.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/openzipkin/zipkin-go v0.4.3 // indirect
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
Expand Down
Loading

0 comments on commit 37b1105

Please sign in to comment.