Skip to content

Commit 9349165

Browse files
authored
Merge branch 'main' into test/smoke-9.0
2 parents a76901c + 3e3ab1b commit 9349165

File tree

8 files changed

+87
-62
lines changed

8 files changed

+87
-62
lines changed

systemtest/benchtest/clients.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727

2828
"go.opentelemetry.io/otel/exporters/otlp/otlptrace"
2929
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
30+
"go.uber.org/zap"
3031
"golang.org/x/time/rate"
3132
"google.golang.org/grpc"
3233
"google.golang.org/grpc/credentials"
@@ -105,6 +106,8 @@ func NewOTLPExporter(tb testing.TB) *otlptrace.Exporter {
105106
func NewEventHandler(tb testing.TB, p string, l *rate.Limiter) *eventhandler.Handler {
106107
serverCfg := loadgencfg.Config
107108
h, err := loadgen.NewEventHandler(loadgen.EventHandlerParams{
109+
Logger: zap.NewNop(),
110+
Protocol: "apm/http",
108111
Path: p,
109112
URL: serverCfg.ServerURL.String(),
110113
Token: serverCfg.SecretToken,
@@ -124,6 +127,8 @@ func NewEventHandler(tb testing.TB, p string, l *rate.Limiter) *eventhandler.Han
124127
func NewFSEventHandler(tb testing.TB, p string, l *rate.Limiter, fs fs.FS) *eventhandler.Handler {
125128
serverCfg := loadgencfg.Config
126129
h, err := newFSEventHandler(loadgen.EventHandlerParams{
130+
Logger: zap.NewNop(),
131+
Protocol: "apm/http",
127132
Path: p,
128133
URL: serverCfg.ServerURL.String(),
129134
Token: serverCfg.SecretToken,
@@ -143,7 +148,7 @@ func newFSEventHandler(p loadgen.EventHandlerParams, fs fs.FS) (*eventhandler.Ha
143148
if err != nil {
144149
return nil, err
145150
}
146-
transp := eventhandler.NewTransport(t.Client, p.URL, p.Token, p.APIKey, p.Headers)
151+
transp := eventhandler.NewAPMTransport(p.Logger, t.Client, p.URL, p.Token, p.APIKey, p.Headers)
147152
cfg := eventhandler.Config{
148153
Path: filepath.Join("events", p.Path),
149154
Transport: transp,
@@ -159,5 +164,5 @@ func newFSEventHandler(p loadgen.EventHandlerParams, fs fs.FS) (*eventhandler.Ha
159164
RewriteTransactionTypes: p.RewriteTransactionTypes,
160165
RewriteTimestamps: p.RewriteTimestamps,
161166
}
162-
return eventhandler.New(cfg)
167+
return eventhandler.NewAPM(p.Logger, cfg)
163168
}

systemtest/benchtest/main.go

+7-4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"time"
3636

3737
"go.elastic.co/apm/v2/stacktrace"
38+
"go.uber.org/zap"
3839
"go.uber.org/zap/zaptest"
3940
"golang.org/x/time/rate"
4041

@@ -257,10 +258,12 @@ func Run(allBenchmarks ...BenchmarkFunc) error {
257258
func warmup(agents int, duration time.Duration, url, token string) error {
258259
rl := loadgen.GetNewLimiter(loadgencfg.Config.EventRate.Burst, loadgencfg.Config.EventRate.Interval)
259260
h, err := loadgen.NewEventHandler(loadgen.EventHandlerParams{
260-
Path: `*.ndjson`,
261-
URL: url,
262-
Token: token,
263-
Limiter: rl,
261+
Logger: zap.NewNop(),
262+
Protocol: "apm/http",
263+
Path: `apm-*.ndjson`,
264+
URL: url,
265+
Token: token,
266+
Limiter: rl,
264267
})
265268
if err != nil {
266269
return fmt.Errorf("unable to create warm-up handler: %w", err)

systemtest/cmd/apmbench/main.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,23 @@ func BenchmarkOTLPTraces(b *testing.B, l *rate.Limiter) {
8080
// Even though files are loaded alphabetically and the events sent sequentially
8181
// there is inherent randomness in the order the events are sent to APM Sever.
8282
func BenchmarkAgentAll(b *testing.B, l *rate.Limiter) {
83-
benchmarkAgent(b, l, `*.ndjson`)
83+
benchmarkAgent(b, l, `apm-*.ndjson`)
8484
}
8585

8686
func BenchmarkAgentGo(b *testing.B, l *rate.Limiter) {
87-
benchmarkAgent(b, l, `go*.ndjson`)
87+
benchmarkAgent(b, l, `apm-go*.ndjson`)
8888
}
8989

9090
func BenchmarkAgentNodeJS(b *testing.B, l *rate.Limiter) {
91-
benchmarkAgent(b, l, `nodejs*.ndjson`)
91+
benchmarkAgent(b, l, `apm-nodejs*.ndjson`)
9292
}
9393

9494
func BenchmarkAgentPython(b *testing.B, l *rate.Limiter) {
95-
benchmarkAgent(b, l, `python*.ndjson`)
95+
benchmarkAgent(b, l, `apm-python*.ndjson`)
9696
}
9797

9898
func BenchmarkAgentRuby(b *testing.B, l *rate.Limiter) {
99-
benchmarkAgent(b, l, `ruby*.ndjson`)
99+
benchmarkAgent(b, l, `apm-ruby*.ndjson`)
100100
}
101101

102102
func benchmarkAgent(b *testing.B, l *rate.Limiter, expr string) {

systemtest/go.mod

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.23.6
55
require (
66
github.com/docker/docker v27.5.1+incompatible
77
github.com/docker/go-connections v0.5.0
8-
github.com/elastic/apm-perf v0.0.0-20230608162138-29920c01cfd6
8+
github.com/elastic/apm-perf v0.0.0-20250207152505-1dbeb202ff22
99
github.com/elastic/apm-tools v0.0.0-20240607105915-a4f490dc6959
1010
github.com/elastic/go-elasticsearch/v8 v8.17.0
1111
github.com/elastic/go-lumber v0.1.1
@@ -17,8 +17,8 @@ require (
1717
github.com/tidwall/gjson v1.18.0
1818
go.elastic.co/apm/v2 v2.6.3
1919
go.elastic.co/fastjson v1.4.0
20-
go.opentelemetry.io/collector/pdata v1.24.0
21-
go.opentelemetry.io/collector/semconv v0.118.0
20+
go.opentelemetry.io/collector/pdata v1.25.0
21+
go.opentelemetry.io/collector/semconv v0.119.0
2222
go.opentelemetry.io/otel v1.34.0
2323
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0
2424
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0
@@ -30,9 +30,9 @@ require (
3030
go.opentelemetry.io/otel/sdk/metric v1.34.0
3131
go.opentelemetry.io/otel/trace v1.34.0
3232
go.uber.org/zap v1.27.0
33-
golang.org/x/sync v0.10.0
33+
golang.org/x/sync v0.11.0
3434
golang.org/x/sys v0.29.0
35-
golang.org/x/time v0.9.0
35+
golang.org/x/time v0.10.0
3636
google.golang.org/grpc v1.70.0
3737
gopkg.in/yaml.v3 v3.0.1
3838
)
@@ -98,6 +98,6 @@ require (
9898
golang.org/x/text v0.21.0 // indirect
9999
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect
100100
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
101-
google.golang.org/protobuf v1.36.3 // indirect
101+
google.golang.org/protobuf v1.36.4 // indirect
102102
howett.net/plist v1.0.0 // indirect
103103
)

systemtest/go.sum

+12-12
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj
3333
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
3434
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
3535
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
36-
github.com/elastic/apm-perf v0.0.0-20230608162138-29920c01cfd6 h1:xT0z9yPjU0Csoq9B3BZls8CCtEeU3HMFhuSK8vu9YAo=
37-
github.com/elastic/apm-perf v0.0.0-20230608162138-29920c01cfd6/go.mod h1:zK9WN3ehaqmWNgGCDtLpJ3ensSTsZ+N+T4TD11fQPx0=
36+
github.com/elastic/apm-perf v0.0.0-20250207152505-1dbeb202ff22 h1:br+XeQOcxNFSv+HzO3jC0bjIBgG6FJeBn7oXQFQvKtM=
37+
github.com/elastic/apm-perf v0.0.0-20250207152505-1dbeb202ff22/go.mod h1:gE+FV7xXv0/nBenviCvpvnvTpUkjJXtuOWs2UT+ZRtw=
3838
github.com/elastic/apm-tools v0.0.0-20240607105915-a4f490dc6959 h1:N76IIqinReb57QDdQ9we7tPzuZx56BH5P6309u/ALec=
3939
github.com/elastic/apm-tools v0.0.0-20240607105915-a4f490dc6959/go.mod h1:kHvCTEbLhFbP0g2k4R8BMLIANRWzqHA7e84AQ84TQLc=
4040
github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA=
@@ -177,10 +177,10 @@ go.elastic.co/fastjson v1.4.0 h1:a4BXUKXZHAzjVOPrqtEx2FDsIRBCMek01vCnrtyutWs=
177177
go.elastic.co/fastjson v1.4.0/go.mod h1:ZD5um63l0/8TIdddZbL2znD83FAr2IckYa3KR7VcdNA=
178178
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
179179
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
180-
go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg=
181-
go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc=
182-
go.opentelemetry.io/collector/semconv v0.118.0 h1:V4vlMIK7TIaemrrn2VawvQPwruIKpj7Xgw9P5+BL56w=
183-
go.opentelemetry.io/collector/semconv v0.118.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI=
180+
go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg=
181+
go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8=
182+
go.opentelemetry.io/collector/semconv v0.119.0 h1:xo+V3a7hnK0I6fxAWCXT8BIT1PCBYd4emolhoKSDUlI=
183+
go.opentelemetry.io/collector/semconv v0.119.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI=
184184
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
185185
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
186186
go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
@@ -227,8 +227,8 @@ golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
227227
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
228228
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
229229
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
230-
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
231-
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
230+
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
231+
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
232232
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
233233
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
234234
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -249,8 +249,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
249249
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
250250
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
251251
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
252-
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
253-
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
252+
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
253+
golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
254254
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
255255
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
256256
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -265,8 +265,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:
265265
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50=
266266
google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ=
267267
google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw=
268-
google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU=
269-
google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
268+
google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM=
269+
google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
270270
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
271271
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
272272
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

testing/benchmark/main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ module "standalone_apm_server" {
153153
source = "../infra/terraform/modules/standalone_apm_server"
154154

155155
vpc_id = module.vpc.vpc_id
156-
aws_os = "amzn2-ami-hvm-*-x86_64-ebs"
156+
aws_os = "al2023-ami-2023"
157157
apm_instance_type = var.standalone_apm_server_instance_size
158158
apm_volume_type = var.standalone_apm_server_volume_type
159159
apm_volume_size = var.apm_server_tail_sampling ? coalesce(var.standalone_apm_server_volume_size, 60) : var.standalone_apm_server_volume_size

tools/go.mod

+11-11
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/elastic/apm-server/tools
33
go 1.23.6
44

55
require (
6-
github.com/elastic/apm-perf v0.0.0-20240925232339-499ba2a27fd4
6+
github.com/elastic/apm-perf v0.0.0-20250207152505-1dbeb202ff22
77
github.com/elastic/apm-tools v0.0.0-20230828065051-3f799314cc8b
88
github.com/elastic/go-licenser v0.4.2
99
github.com/elastic/gobench v0.0.0-20220608141032-f30bc57e329c
@@ -107,11 +107,11 @@ require (
107107
github.com/spf13/afero v1.11.0 // indirect
108108
github.com/spf13/cast v1.7.0 // indirect
109109
github.com/spf13/cobra v1.8.1 // indirect
110-
github.com/spf13/pflag v1.0.5 // indirect
110+
github.com/spf13/pflag v1.0.6 // indirect
111111
github.com/spf13/viper v1.19.0 // indirect
112112
github.com/subosito/gotenv v1.6.0 // indirect
113113
github.com/terraform-docs/terraform-config-inspect v0.0.0-20210728164355-9c1f178932fa // indirect
114-
github.com/tidwall/gjson v1.17.3 // indirect
114+
github.com/tidwall/gjson v1.18.0 // indirect
115115
github.com/tidwall/match v1.1.1 // indirect
116116
github.com/tidwall/pretty v1.2.1 // indirect
117117
github.com/tidwall/sjson v1.2.5 // indirect
@@ -122,20 +122,20 @@ require (
122122
gitlab.com/digitalxero/go-conventional-commit v1.0.7 // indirect
123123
go.uber.org/multierr v1.11.0 // indirect
124124
go.uber.org/zap v1.27.0 // indirect
125-
golang.org/x/crypto v0.31.0 // indirect
125+
golang.org/x/crypto v0.32.0 // indirect
126126
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
127127
golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678 // indirect
128128
golang.org/x/mod v0.21.0 // indirect
129-
golang.org/x/net v0.33.0 // indirect
130-
golang.org/x/sync v0.10.0 // indirect
131-
golang.org/x/sys v0.28.0 // indirect
132-
golang.org/x/term v0.27.0 // indirect
129+
golang.org/x/net v0.34.0 // indirect
130+
golang.org/x/sync v0.11.0 // indirect
131+
golang.org/x/sys v0.29.0 // indirect
132+
golang.org/x/term v0.28.0 // indirect
133133
golang.org/x/text v0.21.0 // indirect
134134
golang.org/x/tools v0.25.0 // indirect
135135
golang.org/x/tools/go/vcs v0.1.0-deprecated // indirect
136-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
137-
google.golang.org/grpc v1.67.0 // indirect
138-
google.golang.org/protobuf v1.34.2 // indirect
136+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
137+
google.golang.org/grpc v1.70.0 // indirect
138+
google.golang.org/protobuf v1.36.4 // indirect
139139
gopkg.in/ini.v1 v1.67.0 // indirect
140140
gopkg.in/warnings.v0 v0.1.2 // indirect
141141
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)