Skip to content

Commit 95f69fd

Browse files
authored
Generate spans containing attributes with array values (#19)
* Update to go 1.21.x * Send content type and accept header for HTTP requests This is useful to generate attributes with array values * The template example now sends attributes with array values * Use local rand.Rand instance instead of package global rand.Seed() * Update dependencies
1 parent 599b8ec commit 95f69fd

File tree

9 files changed

+359
-185
lines changed

9 files changed

+359
-185
lines changed

.github/workflows/lint-test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
- name: Set-up Go
1313
uses: actions/setup-go@v3
1414
with:
15-
go-version: ^1.19
15+
go-version: ^1.21
1616
cache: true
1717

1818
- name: Lint
1919
uses: golangci/golangci-lint-action@v3
2020
with:
21-
version: v1.50.1
21+
version: v1.55.2
2222
args: --config ./golangci.yml
2323

2424
- name: Test

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.19-alpine AS xk6-client-tracing-build
1+
FROM golang:1.21-alpine AS xk6-client-tracing-build
22

33
RUN apk add --no-cache \
44
build-base \

examples/template/template.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const traceTemplates = [
3535
},
3636
{
3737
defaults: {
38+
attributes: {"numbers": ["one", "two", "three"]},
3839
attributeSemantics: tracing.SEMANTICS_HTTP,
3940
},
4041
spans: [
@@ -54,7 +55,7 @@ const traceTemplates = [
5455
defaults: traceDefaults,
5556
spans: [
5657
{service: "shop-backend", attributes: {"http.status_code": 403}},
57-
{service: "shop-backend", name: "authenticate"},
58+
{service: "shop-backend", name: "authenticate", attributes: {"http.request.header.accept": ["application/json"]}},
5859
{service: "auth-service", name: "authenticate", attributes: {"http.status_code": 403}},
5960
]
6061
},

go.mod

+77-43
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,107 @@
11
module github.com/grafana/xk6-client-tracing
22

3-
go 1.18
3+
go 1.21
44

55
require (
6-
github.com/dop251/goja v0.0.0-20221025165401-cb5011b539fe
7-
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter v0.62.0
6+
github.com/dop251/goja v0.0.0-20231027120936-b396bb4c349d
7+
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter v0.85.0
88
github.com/pkg/errors v0.9.1
9-
github.com/stretchr/testify v1.8.1
10-
go.k6.io/k6 v0.40.0
11-
go.opentelemetry.io/collector v0.62.1
12-
go.opentelemetry.io/collector/pdata v0.62.1
13-
go.opentelemetry.io/otel/metric v0.32.1
14-
go.opentelemetry.io/otel/trace v1.11.1
15-
go.uber.org/zap v1.23.0
9+
github.com/stretchr/testify v1.8.4
10+
go.k6.io/k6 v0.48.0
11+
go.opentelemetry.io/collector/component v0.90.1
12+
go.opentelemetry.io/collector/config/configgrpc v0.90.1
13+
go.opentelemetry.io/collector/config/confighttp v0.90.1
14+
go.opentelemetry.io/collector/config/configopaque v0.90.0
15+
go.opentelemetry.io/collector/config/configtls v0.90.1
16+
go.opentelemetry.io/collector/exporter v0.90.0
17+
go.opentelemetry.io/collector/exporter/otlpexporter v0.90.1
18+
go.opentelemetry.io/collector/exporter/otlphttpexporter v0.90.1
19+
go.opentelemetry.io/collector/pdata v1.0.0
20+
go.opentelemetry.io/otel/metric v1.21.0
21+
go.opentelemetry.io/otel/trace v1.21.0
22+
go.uber.org/zap v1.26.0
1623
)
1724

1825
require (
19-
github.com/apache/thrift v0.17.0 // indirect
20-
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
26+
cloud.google.com/go/compute/metadata v0.2.4-0.20230617002413-005d2dfb6b68 // indirect
27+
github.com/apache/thrift v0.19.0 // indirect
28+
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
2129
github.com/davecgh/go-spew v1.1.1 // indirect
22-
github.com/dlclark/regexp2 v1.7.0 // indirect
23-
github.com/fatih/color v1.13.0 // indirect
24-
github.com/felixge/httpsnoop v1.0.3 // indirect
25-
github.com/go-logr/logr v1.2.3 // indirect
30+
github.com/dlclark/regexp2 v1.9.0 // indirect
31+
github.com/fatih/color v1.15.0 // indirect
32+
github.com/felixge/httpsnoop v1.0.4 // indirect
33+
github.com/fsnotify/fsnotify v1.7.0 // indirect
34+
github.com/go-logr/logr v1.3.0 // indirect
2635
github.com/go-logr/stdr v1.2.2 // indirect
2736
github.com/go-sourcemap/sourcemap v2.1.4-0.20211119122758-180fcef48034+incompatible // indirect
2837
github.com/gogo/googleapis v1.4.1 // indirect
2938
github.com/gogo/protobuf v1.3.2 // indirect
30-
github.com/golang/protobuf v1.5.2 // indirect
39+
github.com/golang/protobuf v1.5.3 // indirect
3140
github.com/golang/snappy v0.0.4 // indirect
32-
github.com/jaegertracing/jaeger v1.38.1 // indirect
41+
github.com/google/pprof v0.0.0-20230728192033-2ba5b33183c6 // indirect
42+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
43+
github.com/hashicorp/go-version v1.6.0 // indirect
44+
github.com/jaegertracing/jaeger v1.41.0 // indirect
45+
github.com/josharian/intern v1.0.0 // indirect
3346
github.com/json-iterator/go v1.1.12 // indirect
34-
github.com/klauspost/compress v1.15.11 // indirect
35-
github.com/knadh/koanf v1.4.3 // indirect
47+
github.com/klauspost/compress v1.17.3 // indirect
48+
github.com/knadh/koanf v1.5.0 // indirect
49+
github.com/knadh/koanf/v2 v2.0.1 // indirect
3650
github.com/mailru/easyjson v0.7.7 // indirect
37-
github.com/mattn/go-colorable v0.1.12 // indirect
38-
github.com/mattn/go-isatty v0.0.14 // indirect
51+
github.com/mattn/go-colorable v0.1.13 // indirect
52+
github.com/mattn/go-isatty v0.0.19 // indirect
3953
github.com/mitchellh/copystructure v1.2.0 // indirect
40-
github.com/mitchellh/mapstructure v1.5.0 // indirect
54+
github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect
4155
github.com/mitchellh/reflectwalk v1.0.2 // indirect
4256
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4357
github.com/modern-go/reflect2 v1.0.2 // indirect
44-
github.com/mostynb/go-grpc-compression v1.1.17 // indirect
58+
github.com/mostynb/go-grpc-compression v1.2.2 // indirect
59+
github.com/mstoykov/atlas v0.0.0-20220811071828-388f114305dd // indirect
4560
github.com/nxadm/tail v1.4.8 // indirect
46-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.62.0 // indirect
47-
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.62.0 // indirect
61+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.85.0 // indirect
62+
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.85.0 // indirect
4863
github.com/opentracing/opentracing-go v1.2.0 // indirect
49-
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c // indirect
5064
github.com/pmezard/go-difflib v1.0.0 // indirect
51-
github.com/rs/cors v1.8.2 // indirect
65+
github.com/rs/cors v1.10.1 // indirect
5266
github.com/serenize/snaker v0.0.0-20201027110005-a7ad2135616e // indirect
53-
github.com/sirupsen/logrus v1.9.0 // indirect
54-
github.com/spf13/afero v1.8.2 // indirect
67+
github.com/sirupsen/logrus v1.9.3 // indirect
68+
github.com/spf13/afero v1.9.2 // indirect
5569
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
5670
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
57-
go.opencensus.io v0.23.0 // indirect
58-
go.opentelemetry.io/collector/semconv v0.62.1 // indirect
59-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.1 // indirect
60-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.36.1 // indirect
61-
go.opentelemetry.io/otel v1.11.1 // indirect
71+
go.opencensus.io v0.24.0 // indirect
72+
go.opentelemetry.io/collector v0.90.0 // indirect
73+
go.opentelemetry.io/collector/config/configauth v0.90.0 // indirect
74+
go.opentelemetry.io/collector/config/configcompression v0.90.0 // indirect
75+
go.opentelemetry.io/collector/config/confignet v0.90.0 // indirect
76+
go.opentelemetry.io/collector/config/configtelemetry v0.90.0 // indirect
77+
go.opentelemetry.io/collector/config/internal v0.90.0 // indirect
78+
go.opentelemetry.io/collector/confmap v0.90.0 // indirect
79+
go.opentelemetry.io/collector/consumer v0.90.0 // indirect
80+
go.opentelemetry.io/collector/extension v0.90.0 // indirect
81+
go.opentelemetry.io/collector/extension/auth v0.90.0 // indirect
82+
go.opentelemetry.io/collector/featuregate v1.0.0 // indirect
83+
go.opentelemetry.io/collector/semconv v0.85.0 // indirect
84+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 // indirect
85+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect
86+
go.opentelemetry.io/otel v1.21.0 // indirect
87+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
88+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect
89+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
90+
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
91+
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
6292
go.uber.org/atomic v1.10.0 // indirect
63-
go.uber.org/multierr v1.8.0 // indirect
64-
golang.org/x/net v0.0.0-20220926192436-02166a98028e // indirect
65-
golang.org/x/sys v0.0.0-20220808155132-1c4a2a72c664 // indirect
66-
golang.org/x/text v0.3.7 // indirect
67-
golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect
68-
google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc // indirect
69-
google.golang.org/grpc v1.50.0 // indirect
70-
google.golang.org/protobuf v1.28.1 // indirect
93+
go.uber.org/multierr v1.11.0 // indirect
94+
golang.org/x/net v0.18.0 // indirect
95+
golang.org/x/oauth2 v0.13.0 // indirect
96+
golang.org/x/sys v0.14.0 // indirect
97+
golang.org/x/text v0.14.0 // indirect
98+
golang.org/x/time v0.3.0 // indirect
99+
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 // indirect
100+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect
101+
google.golang.org/grpc v1.59.0 // indirect
102+
google.golang.org/protobuf v1.31.0 // indirect
71103
gopkg.in/guregu/null.v3 v3.3.0 // indirect
72104
gopkg.in/yaml.v3 v3.0.1 // indirect
73105
)
106+
107+
replace cloud.google.com/go/compute/metadata => cloud.google.com/go/compute/metadata v0.2.3

0 commit comments

Comments
 (0)