Skip to content

Commit dc70cec

Browse files
authored
[DX-2789] Observability stack updated (#2401)
* Observability stack: update Tempo version to latest, enable traces-to-profiles, run Pyroscope with bigger and higher resolution profiles
1 parent 6b6fcda commit dc70cec

16 files changed

Lines changed: 158 additions & 50 deletions

File tree

.github/workflows/framework-cli-tests.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,16 @@ jobs:
2121
- name: Configure AWS credentials using OIDC
2222
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
2323
with:
24-
role-to-assume: ${{ secrets.PUBLIC_AWS_ECR_ROLE }}
25-
aws-region: us-east-1
26-
- name: Authenticate to ECR Public
27-
id: login-ecr-public
24+
role-to-assume: ${{ secrets.AWS_CTF_READ_ACCESS_ROLE_ARN }}
25+
aws-region: us-west-2
26+
27+
- name: Login to Amazon ECR
28+
id: login-ecr-private
2829
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
2930
with:
30-
registry-type: public
31+
registries: ${{ format('{0},{1}', secrets.AWS_ACCOUNT_ID_SDLC, secrets.AWS_ACCOUNT_ID_PROD) }}
32+
env:
33+
AWS_REGION: us-west-2
3134
- name: Check for changes in Framework
3235
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
3336
id: changes

.github/workflows/framework-golden-tests-private.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ jobs:
1010
working-directory: framework/examples/myproject
1111
env:
1212
CTF_JD_IMAGE: "${{secrets.AWS_ACCOUNT_ID_PROD}}.dkr.ecr.us-west-2.amazonaws.com/job-distributor:0.22.1"
13+
# TODO: once a public image with support for field [Pyrscope] LinkTracesToProfiles is available, use it instead of the private image.
14+
CTF_CHAINLINK_IMAGE: "${{secrets.AWS_ACCOUNT_ID_SDLC}}.dkr.ecr.us-west-2.amazonaws.com/chainlink:manual-9b82dc2"
1315
runs-on: ubuntu-latest
1416
permissions:
1517
id-token: write
@@ -22,19 +24,35 @@ jobs:
2224
config: jd.toml
2325
count: 1
2426
timeout: 10m
25-
# TODO: sdlc auth
26-
# - name: TestDockerFakes
27-
# config: fake_docker.toml
28-
# count: 1
29-
# timeout: 10m
27+
- name: TestSmoke
28+
config: smoke.toml
29+
count: 1
30+
timeout: 10m
31+
# TODO: modify fake_docker.toml to use private registry, make sure that image is there.
32+
# - name: TestDockerFakes
33+
# config: fake_docker.toml
34+
# count: 1
35+
# timeout: 10m
36+
- name: TestFakes
37+
config: fake.toml
38+
count: 1
39+
timeout: 10m
40+
- name: TestPerformanceBaseline
41+
config: performance_baseline.toml
42+
count: 1
43+
timeout: 10m
44+
- name: TestScalability
45+
config: scalability.toml
46+
count: 1
47+
timeout: 10m
3048
name: ${{ matrix.test.name }}
3149
steps:
3250
- name: Checkout repo
3351
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
3452
- name: Configure AWS credentials using OIDC
3553
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
3654
with:
37-
role-to-assume: ${{ secrets.AWS_CTF_READ_ACCESS_ROLE_ARN }}
55+
role-to-assume: ${{ secrets.AWS_GHA_SMARTCONTRACTKIT_ROLE_ARN }}
3856
aws-region: us-west-2
3957
- name: Login to Amazon ECR
4058
id: login-ecr-private

.github/workflows/framework-golden-tests.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
test:
21-
- name: TestSmoke
22-
config: smoke.toml
23-
count: 1
24-
timeout: 10m
2521
- name: TestSmokeLimitedResources
2622
config: smoke_limited_resources.toml
2723
count: 1
@@ -60,31 +56,14 @@ jobs:
6056
# config: upgrade.toml
6157
# count: 1
6258
# timeout: 10m
63-
- name: TestPerformanceBaseline
64-
config: performance_baseline.toml
65-
count: 1
66-
timeout: 10m
6759
- name: TestChaos
6860
config: chaos.toml
6961
count: 1
7062
timeout: 10m
71-
- name: TestScalability
72-
config: scalability.toml
73-
count: 1
74-
timeout: 10m
7563
- name: TestLocalS3
7664
config: local_s3.toml
7765
count: 1
7866
timeout: 10m
79-
- name: TestFakes
80-
config: fake.toml
81-
count: 1
82-
timeout: 10m
83-
# TODO: sdlc auth (move to framework-golden-tests-private.yml, which has that auth set up)
84-
# - name: TestDockerFakes
85-
# config: fake_docker.toml
86-
# count: 1
87-
# timeout: 10m
8867
name: ${{ matrix.test.name }}
8968
steps:
9069
- name: Checkout repo

.github/workflows/test.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
test:
16-
- path: framework
17-
vm: ubuntu-latest
18-
regex: TestSmoke
1916
- path: framework
2017
vm: ubuntu-latest
2118
regex: TestPrometheus

framework/.changeset/v0.14.2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
- Expose P2P only in K8s
1+
- Expose P2P only in K8s

framework/.changeset/v0.15.5.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Observability stack: update Tempo version to latest, enable traces-to-profiles, run Pyroscope with bigger and higher resolution profiles

framework/components/blockchain/anvil.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func defaultAnvil(in *Input) {
3636
in.Port = "8545"
3737
}
3838
if in.ContainerName == "" {
39-
in.ContainerName = "anvil"
39+
in.ContainerName = "anvil-" + in.ChainID
4040
}
4141
}
4242

framework/components/clnode/clnode_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clnode_test
22

33
import (
4+
"os"
45
"testing"
56

67
"github.com/stretchr/testify/require"
@@ -39,7 +40,7 @@ func TestSmokeComponentDockerNodeWithSharedDB(t *testing.T) {
3940
VolumeName: "a",
4041
},
4142
Node: &clnode.NodeInput{
42-
Image: "public.ecr.aws/chainlink/chainlink:v2.17.0",
43+
Image: os.Getenv("CTF_CHAINLINK_IMAGE"),
4344
Name: "cl-node-1",
4445
},
4546
},
@@ -75,7 +76,7 @@ func TestSmokeComponentDockerNodeWithDB(t *testing.T) {
7576
VolumeName: "b",
7677
},
7778
Node: &clnode.NodeInput{
78-
Image: "public.ecr.aws/chainlink/chainlink:v2.17.0",
79+
Image: os.Getenv("CTF_CHAINLINK_IMAGE"),
7980
Name: "cl-node-2",
8081
},
8182
},

framework/components/clnode/default.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Level = 'debug'
2222
[Pyroscope]
2323
ServerAddress = 'http://host.docker.internal:4040'
2424
Environment = 'local'
25+
LinkTracesToProfiles = true
2526
2627
[WebServer]
2728
HTTPWriteTimeout = '30s'

framework/components/simple_node_set/nodeset_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package simple_node_set_test
22

33
import (
4+
"os"
45
"testing"
56

67
"github.com/stretchr/testify/require"
@@ -61,7 +62,7 @@ func TestSmokeComponentDockerNodeSetSharedDB(t *testing.T) {
6162
NodeSpecs: []*clnode.Input{
6263
{
6364
Node: &clnode.NodeInput{
64-
Image: "public.ecr.aws/chainlink/chainlink:v2.17.0",
65+
Image: os.Getenv("CTF_CHAINLINK_IMAGE"),
6566
Name: "cl-node-1",
6667
UserConfigOverrides: `
6768
[Log]
@@ -71,7 +72,7 @@ level = 'info'
7172
},
7273
{
7374
Node: &clnode.NodeInput{
74-
Image: "public.ecr.aws/chainlink/chainlink:v2.17.0",
75+
Image: os.Getenv("CTF_CHAINLINK_IMAGE"),
7576
Name: "cl-node-2",
7677
UserConfigOverrides: `
7778
[Log]

0 commit comments

Comments
 (0)