Skip to content

Commit 74f7c28

Browse files
committed
fix Pyroscope, pin all observability components versions, add obs restart
1 parent 8c671b8 commit 74f7c28

File tree

9 files changed

+58
-14
lines changed

9 files changed

+58
-14
lines changed

book/src/framework/observability/observability_stack.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,11 @@ Read more about how to check [logs](logs.md) and [profiles](profiling.md)
2020
- [Prometheus](http://localhost:3000/explore?panes=%7B%22qZw%22:%7B%22datasource%22:%22PBFA97CFB590B2093%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%22,%22range%22:true,%22datasource%22:%7B%22type%22:%22prometheus%22,%22uid%22:%22PBFA97CFB590B2093%22%7D%7D%5D,%22range%22:%7B%22from%22:%22now-6h%22,%22to%22:%22now%22%7D%7D%7D&schemaVersion=1&orgId=1)
2121
- [PostgreSQL](http://localhost:3000/d/000000039/postgresql-database?orgId=1&refresh=10s&var-DS_PROMETHEUS=PBFA97CFB590B2093&var-interval=$__auto_interval_interval&var-namespace=&var-release=&var-instance=postgres_exporter_0:9187&var-datname=All&var-mode=All&from=now-5m&to=now)
2222
- [Pyroscope](http://localhost:4040)
23+
24+
## Developing
25+
26+
Change compose files under `framework/cmd/observability` and restart the stack (removing volumes too)
27+
```
28+
just reload-cli && ctf obs r
29+
```
30+

framework/cmd/main.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,18 @@ func main() {
9595
Description: "Removes local observability stack",
9696
Action: func(c *cli.Context) error { return observabilityDown() },
9797
},
98+
{
99+
Name: "restart",
100+
Usage: "ctf obs r",
101+
Aliases: []string{"r"},
102+
Description: "Restart a local observability stack",
103+
Action: func(c *cli.Context) error {
104+
if err := observabilityDown(); err != nil {
105+
return err
106+
}
107+
return observabilityUp()
108+
},
109+
},
98110
{
99111
Name: "load",
100112
Usage: "ctf obs l",

framework/cmd/observability/compose/docker-compose.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ services:
4040
privileged: true
4141

4242
prometheus:
43-
image: prom/prometheus:latest
43+
image: prom/prometheus:v3.4.1
4444
user: '0:0'
4545
volumes:
4646
- /var/run/docker.sock:/var/run/docker.sock
@@ -84,14 +84,14 @@ services:
8484
- tempo
8585

8686
pyroscope:
87-
image: 'pyroscope/pyroscope:latest'
87+
image: 'grafana/pyroscope:1.13.4'
8888
ports:
8989
- '4040:4040'
9090
command:
9191
- 'server'
9292

9393
postgres_exporter_0:
94-
image: prometheuscommunity/postgres-exporter:latest
94+
image: prometheuscommunity/postgres-exporter:v0.17.1
9595
container_name: postgres_exporter_0
9696
environment:
9797
- DATA_SOURCE_NAME=postgresql://chainlink:thispasswordislongenough@host.docker.internal:13000/db_0?sslmode=disable
@@ -100,7 +100,7 @@ services:
100100
restart: unless-stopped
101101

102102
postgres_exporter_1:
103-
image: prometheuscommunity/postgres-exporter:latest
103+
image: prometheuscommunity/postgres-exporter:v0.17.1
104104
container_name: postgres_exporter_1
105105
environment:
106106
- DATA_SOURCE_NAME=postgresql://chainlink:thispasswordislongenough@host.docker.internal:13000/db_1?sslmode=disable
@@ -109,7 +109,7 @@ services:
109109
restart: unless-stopped
110110

111111
postgres_exporter_2:
112-
image: prometheuscommunity/postgres-exporter:latest
112+
image: prometheuscommunity/postgres-exporter:v0.17.1
113113
container_name: postgres_exporter_2
114114
environment:
115115
- DATA_SOURCE_NAME=postgresql://chainlink:thispasswordislongenough@host.docker.internal:13000/db_2?sslmode=disable
@@ -118,7 +118,7 @@ services:
118118
restart: unless-stopped
119119

120120
postgres_exporter_3:
121-
image: prometheuscommunity/postgres-exporter:latest
121+
image: prometheuscommunity/postgres-exporter:v0.17.1
122122
container_name: postgres_exporter_3
123123
environment:
124124
- DATA_SOURCE_NAME=postgresql://chainlink:thispasswordislongenough@host.docker.internal:13000/db_3?sslmode=disable
@@ -127,7 +127,7 @@ services:
127127
restart: unless-stopped
128128

129129
postgres_exporter_4:
130-
image: prometheuscommunity/postgres-exporter:latest
130+
image: prometheuscommunity/postgres-exporter:v0.17.1
131131
container_name: postgres_exporter_4
132132
environment:
133133
- DATA_SOURCE_NAME=postgresql://chainlink:thispasswordislongenough@host.docker.internal:13000/db_4?sslmode=disable

framework/examples/myproject/example_components/mock-tester.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func NewDockerFakeTester(url string) error {
2121
Cmd: []string{"curl", "-v", url},
2222
Labels: framework.DefaultTCLabels(),
2323
WaitingFor: wait.ForExit(),
24-
Networks: []string{framework.DefaultNetworkName, "default_compose"},
24+
Networks: []string{framework.DefaultNetworkName, "default_compose"},
2525
}
2626
curlContainer, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{
2727
ContainerRequest: req,

framework/examples/myproject/go.mod

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/blocto/solana-go-sdk v1.30.0
1414
github.com/ethereum/go-ethereum v1.15.0
1515
github.com/go-resty/resty/v2 v2.16.3
16-
github.com/smartcontractkit/chainlink-testing-framework/framework v0.7.4
16+
github.com/smartcontractkit/chainlink-testing-framework/framework v0.8.9
1717
github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2
1818
github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.10
1919
github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2
@@ -23,16 +23,26 @@ require (
2323
)
2424

2525
require (
26+
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
27+
github.com/cloudflare/circl v1.1.0 // indirect
28+
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
2629
github.com/danieljoos/wincred v1.2.1 // indirect
2730
github.com/go-ini/ini v1.67.0 // indirect
31+
github.com/google/go-github/v50 v50.2.0 // indirect
32+
github.com/google/go-querystring v1.1.0 // indirect
2833
github.com/minio/crc64nvme v1.0.0 // indirect
2934
github.com/minio/md5-simd v1.1.2 // indirect
3035
github.com/minio/minio-go/v7 v7.0.86 // indirect
3136
github.com/oasisprotocol/curve25519-voi v0.0.0-20220328075252-7dd334e3daae // indirect
37+
github.com/pelletier/go-toml v1.9.5 // indirect
3238
github.com/rs/xid v1.6.0 // indirect
39+
github.com/russross/blackfriday/v2 v2.1.0 // indirect
3340
github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 // indirect
41+
github.com/smartcontractkit/chainlink-testing-framework v1.50.12 // indirect
3442
github.com/tjhop/slog-gokit v0.1.3 // indirect
3543
github.com/urfave/cli v1.22.16 // indirect
44+
github.com/urfave/cli/v2 v2.27.5 // indirect
45+
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
3646
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect
3747
)
3848

framework/examples/myproject/go.sum

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ github.com/NethermindEth/juno v0.3.1 h1:AW72LiAm9gqUeCVJWvepnZcTnpU4Vkl0KzPMxS+4
7777
github.com/NethermindEth/juno v0.3.1/go.mod h1:SGbTpgGaCsxhFsKOid7Ylnz//WZ8swtILk+NbHGsk/Q=
7878
github.com/NethermindEth/starknet.go v0.7.1-0.20240401080518-34a506f3cfdb h1:Mv8SscePPyw2ju4igIJAjFgcq5zCQfjgbz53DwYu5mc=
7979
github.com/NethermindEth/starknet.go v0.7.1-0.20240401080518-34a506f3cfdb/go.mod h1:gQkhWpAs9/QR6reZU2xoi1UIYlMS64FLTlh9CrgHH/Y=
80+
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA=
81+
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
8082
github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI=
8183
github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI=
8284
github.com/Workiva/go-datastructures v1.1.5 h1:5YfhQ4ry7bZc2Mc7R0YZyYwpf5c6t1cEFvdAhd6Mkf4=
@@ -181,6 +183,7 @@ github.com/buger/goterm v0.0.0-20200322175922-2f3e71b85129 h1:gfAMKE626QEuKG3si0
181183
github.com/buger/goterm v0.0.0-20200322175922-2f3e71b85129/go.mod h1:u9UyCz2eTrSGy6fbupqJ54eY5c4IC8gREQ1053dK12U=
182184
github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
183185
github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
186+
github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
184187
github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA=
185188
github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM=
186189
github.com/bytecodealliance/wasmtime-go/v23 v23.0.0 h1:NJvU4S8KEk1GnF6+FvlnzMD/8wXTj/mYJSG6Q4yu3Pw=
@@ -209,6 +212,8 @@ github.com/chaos-mesh/chaos-mesh/api v0.0.0-20240821051457-da69c6d9617a/go.mod h
209212
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
210213
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
211214
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
215+
github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY=
216+
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
212217
github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
213218
github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
214219
github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
@@ -522,12 +527,15 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a
522527
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
523528
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
524529
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
530+
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
525531
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
526532
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
527533
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
528534
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
529535
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
530536
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
537+
github.com/google/go-github/v50 v50.2.0 h1:j2FyongEHlO9nxXLc+LP3wuBSVU9mVxfpdYUexMpIfk=
538+
github.com/google/go-github/v50 v50.2.0/go.mod h1:VBY8FB6yPIjrtKhozXv4FQupxKLS6H4m6xFZlT43q8Q=
531539
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
532540
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
533541
github.com/google/go-tpm v0.9.0 h1:sQF6YqWMi+SCXpsmS3fd21oPy/vSddwZry4JnmltHVk=
@@ -1069,6 +1077,8 @@ github.com/smartcontractkit/chainlink-solana v1.1.1-0.20250121160515-90cd5f22a13
10691077
github.com/smartcontractkit/chainlink-solana v1.1.1-0.20250121160515-90cd5f22a133/go.mod h1:uHVnYLMgJ1rTcNoVxhBpy38t69gXq0j+LN3TkcIVE3U=
10701078
github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20250117224137-afdcdd75070d h1:hf1Ust1ub9r3+PgRgiry3065QXCXmw6P7YImnue1NEw=
10711079
github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20250117224137-afdcdd75070d/go.mod h1:lgG9JT2P19KnYuBheKIis5ZeCO+AaSta+RfzvwDQS2Y=
1080+
github.com/smartcontractkit/chainlink-testing-framework v1.50.12 h1:lGepfY6dlhJa6oxb/fWPdC+34Tzt0Gti7caD1KSGp34=
1081+
github.com/smartcontractkit/chainlink-testing-framework v1.50.12/go.mod h1:6TAe9H86MpNze5TU/57Dnb4M8jRse5EJCK88tNTu78U=
10721082
github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg=
10731083
github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM=
10741084
github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.10 h1:Yf+n3T/fnUWcYyfe7bsygV4sWAkNo0QhN58APJFIKIc=
@@ -1306,6 +1316,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
13061316
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
13071317
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
13081318
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1319+
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
13091320
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
13101321
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
13111322
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1376,9 +1387,11 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w
13761387
golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13771388
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13781389
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1390+
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13791391
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13801392
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13811393
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1394+
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13821395
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13831396
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13841397
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

justfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,8 @@ actionlint:
154154

155155
# Serve MDBook locally
156156
book:
157-
cd book && mdbook serve -p 9999
157+
cd book && mdbook serve -p 9999
158+
159+
# Reload framework CLI for local development
160+
reload-cli:
161+
cd framework/cmd && go get github.com/smartcontractkit/chainlink-testing-framework/framework/cmd && go install github.com/smartcontractkit/chainlink-testing-framework/framework/cmd && mv ~/go/bin/cmd ~/go/bin/ctf

wasp/examples/profiles/gun.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (m *ExampleGun) Call(l *wasp.Generator) *wasp.Response {
2727
SetResult(&result).
2828
Get(m.target)
2929
if err != nil {
30-
return &wasp.Response{Data: result, Error: err.Error()}
30+
return &wasp.Response{Data: result, Error: err.Error(), Failed: true}
3131
}
3232
if r.Status() != "200 OK" {
3333
return &wasp.Response{Data: result, Error: "not 200", Failed: true}

wasp/examples/simple_rps/main_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ func TestGun(t *testing.T) {
1212
srv := wasp.NewHTTPMockServer(nil)
1313
srv.Run()
1414

15-
//branch := os.Getenv("BRANCH")
16-
//commit := os.Getenv("COMMIT")
17-
1815
// define labels for differentiate one run from another
1916
labels := map[string]string{
2017
// check variables in dashboard/dashboard.go

0 commit comments

Comments
 (0)