Skip to content

Commit 2ebed5e

Browse files
authored
Merge pull request #64 from middleware-labs/SYN-12
SYN-12 updated synthetic-agent for preview monitor
2 parents 287a6de + eeb40a5 commit 2ebed5e

17 files changed

+224
-135
lines changed

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module github.com/middleware-labs/synthetics-agent
33
go 1.23
44

55
require (
6-
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.0
76
github.com/adakailabs/go-traceroute v0.0.0-20210727014431-97524352ab91
87
github.com/cenkalti/backoff v2.2.1+incompatible
98
github.com/gorilla/websocket v1.5.0
@@ -16,12 +15,13 @@ require (
1615
)
1716

1817
require (
19-
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 // indirect
20-
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
2118
github.com/bufbuild/protocompile v0.14.1 // indirect
2219
github.com/gogo/protobuf v1.3.2 // indirect
20+
github.com/kr/pretty v0.3.1 // indirect
2321
github.com/likexian/gokit v0.25.15 // indirect
22+
github.com/rogpeppe/go-internal v1.12.0 // indirect
2423
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
24+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
2525
)
2626

2727
require (
@@ -34,7 +34,7 @@ require (
3434
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3535
github.com/modern-go/reflect2 v1.0.2 // indirect
3636
github.com/pmezard/go-difflib v1.0.0 // indirect
37-
go.uber.org/atomic v1.10.0 // indirect
37+
go.uber.org/atomic v1.10.0
3838
go.uber.org/multierr v1.9.0 // indirect
3939
golang.org/x/net v0.34.0 // indirect
4040
golang.org/x/sys v0.29.0 // indirect

go.sum

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,15 @@
1-
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 h1:g0EZJwz7xkXQiZAI5xi9f3WWFYBlX1CPTrR+NDToRkQ=
2-
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0/go.mod h1:XCW7KnZet0Opnr7HccfUw1PLc4CjHqpcaxW8DHklNkQ=
3-
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g=
4-
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI=
5-
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY=
6-
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY=
7-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0 h1:PiSrjRPpkQNjrM8H0WwKMnZUdu1RGMtd/LdGKUrOo+c=
8-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc=
9-
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.0 h1:UXT0o77lXQrikd1kgwIPQOUect7EoR/+sbP4wQKdzxM=
10-
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.0/go.mod h1:cTvi54pg19DoT07ekoeMgE/taAwNtCShVeZqA+Iv2xI=
11-
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 h1:kYRSnvJju5gYVyhkij+RTJ/VR6QIUaCfWeaFm2ycsjQ=
12-
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
131
github.com/adakailabs/go-traceroute v0.0.0-20210727014431-97524352ab91 h1:9d55wDeAS8L+TIlP1lDG4YcslmHv/J8j5semIi52ZBs=
142
github.com/adakailabs/go-traceroute v0.0.0-20210727014431-97524352ab91/go.mod h1:vo+oaEco9ORaCSCcSpITTRIkJ4n/CNWJ1YxjnY+HpcU=
153
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
164
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
175
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
186
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
7+
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
198
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
209
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
2110
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2211
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
2312
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
24-
github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
25-
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
2613
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
2714
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
2815
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
@@ -38,12 +25,13 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
3825
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
3926
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
4027
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
28+
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
4129
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
4230
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
31+
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
32+
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
4333
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
4434
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
45-
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
46-
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
4735
github.com/likexian/gokit v0.25.15 h1:QjospM1eXhdMMHwZRpMKKAHY/Wig9wgcREmLtf9NslY=
4836
github.com/likexian/gokit v0.25.15/go.mod h1:S2QisdsxLEHWeD/XI0QMVeggp+jbxYqUxMvSBil7MRg=
4937
github.com/likexian/whois v1.15.5 h1:gpPxyCTJtLtJDmakHCo//0ZjK/ocI01GCAd/WBJ2oH8=
@@ -55,12 +43,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
5543
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
5644
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
5745
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
58-
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
59-
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
46+
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
6047
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
6148
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
6249
github.com/prometheus-community/pro-bing v0.1.0 h1:zjzLGhfNPP0bP1OlzGB+SJcguOViw7df12LPg2vUJh8=
6350
github.com/prometheus-community/pro-bing v0.1.0/go.mod h1:BpWlHurD9flHtzq8wrh8QGWYz9ka9z9ZJAyOel8ej58=
51+
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
6452
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
6553
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
6654
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -78,8 +66,6 @@ go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTV
7866
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
7967
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
8068
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
81-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
82-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
8369
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
8470
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
8571
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=

pkg/worker/check.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,8 @@ func (cs *CheckState) fire(logs *[]string) error {
286286
}
287287
testStatus := protocolChecker.check()
288288
*logs = append(*logs, fmt.Sprintf("%s fire() started 9", time.Now().String()))
289-
isTestReq := c.CheckTestRequest.URL != ""
290-
if isTestReq {
289+
290+
if c.IsPreviewRequest {
291291
*logs = append(*logs, fmt.Sprintf("%s fire() started 10", time.Now().String()))
292292
cs.finishTestRequest(protocolChecker.getTestResponseBody())
293293

@@ -390,7 +390,7 @@ func (cs *CheckState) update() {
390390
slog.String("fireIn", fireIn.String()))
391391

392392
logs := make([]string, 0)
393-
if c.CheckTestRequest.URL != "" {
393+
if c.IsPreviewRequest {
394394
err := cs.fire(&logs)
395395
if err != nil {
396396
slog.Error("error firing", slog.String("error", err.Error()))

pkg/worker/check_dns.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,8 +383,7 @@ func (checker *dnsChecker) processDNSResponse(testStatus *testStatus, ips []net.
383383
c := checker.c
384384
ctx := context.Background()
385385

386-
isTestReq := checker.c.CheckTestRequest.URL != ""
387-
if !isTestReq {
386+
if !checker.c.IsPreviewRequest {
388387
tStatus := checker.fillAssertions(ips)
389388
testStatus.status = tStatus.status
390389
testStatus.msg = tStatus.msg

pkg/worker/check_icmp.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (checker *icmpChecker) processICMPResponse(testStatus testStatus) {
139139
}
140140
}
141141

142-
if c.CheckTestRequest.URL != "" {
142+
if checker.c.IsPreviewRequest {
143143
checker.testBody["assertions"] = []map[string]interface{}{
144144
{
145145
"type": assertTypeICMPLatency,
@@ -253,8 +253,7 @@ func (checker *icmpChecker) check() testStatus {
253253
checker.timers["packet_loss"] = stats.PacketLoss
254254
checker.timers["packet_recv"] = float64(stats.PacketsRecv)
255255

256-
isTestReq := c.CheckTestRequest.URL != ""
257-
if isTestReq {
256+
if checker.c.IsPreviewRequest {
258257
checker.testBody["rcmp_status"] = "SUCCESSFUL"
259258
checker.testBody["packet"] = fmt.Sprintf("%d packets sent, %d packets received, %f%% packet loss",
260259
stats.PacketsSent, stats.PacketsRecv, stats.PacketLoss)

pkg/worker/check_icmp_test.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -395,13 +395,6 @@ func TestICMPCheck(t *testing.T) {
395395
name: "icmp check with multiple assertions with test request",
396396
c: SyntheticCheck{
397397
SyntheticsModel: SyntheticsModel{
398-
CheckTestRequest: CheckTestRequest{
399-
URL: "http://example.com",
400-
Headers: map[string]string{
401-
402-
"Content-Type": "application/json",
403-
},
404-
},
405398

406399
Request: SyntheticsRequestOptions{
407400

@@ -487,7 +480,7 @@ func TestICMPCheck(t *testing.T) {
487480
}
488481

489482
// Test request
490-
if test.c.CheckTestRequest.URL != "" {
483+
if test.c.IsPreviewRequest {
491484
testBody := icmpChecker.getTestResponseBody()
492485
if testBody["rcmp_status"] != "SUCCESSFUL" {
493486
t.Fatalf("%s: expected test status to be SUCCESSFUL, but got %s",

pkg/worker/check_ssl.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (checker *sslChecker) processSSLResponse(testStatus testStatus) {
9292
}
9393
}
9494

95-
if c.CheckTestRequest.URL == "" {
95+
if !checker.c.IsPreviewRequest {
9696
// finishCheckRequest(c, testStatus, checker.timers, checker.attrs)
9797
return
9898
}

pkg/worker/check_tcp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ var (
153153
func (checker *tcpChecker) processTCPResponse(testStatus testStatus) {
154154
c := checker.c
155155

156-
if c.CheckTestRequest.URL == "" {
156+
if !c.IsPreviewRequest {
157157
resultStr, _ := json.Marshal(checker.assertions)
158158
checker.attrs.PutStr("assertions", string(resultStr))
159159
} else {

pkg/worker/check_udp.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ func (checker *udpChecker) processUDPResponse(testStatus *testStatus, received [
5959
udpStatus = udpStatusFailed
6060
}
6161

62-
isTestReq := c.CheckTestRequest.URL != ""
63-
if !isTestReq {
62+
if !checker.c.IsPreviewRequest {
6463
testStatusMsg := make([]string, 0)
6564
for _, assert := range c.Request.Assertions.UDP.Cases {
6665
// do not process assertions if status of any (previous)

pkg/worker/check_udp_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,13 +272,13 @@ func TestUDPProcessUDPResponse(t *testing.T) {
272272

273273
tookMs := testBody["tookMs"].(string)
274274
actualTookMs := fmt.Sprintf("%.2f ms", udpChecker.timers["duration"])
275-
if udpChecker.c.CheckTestRequest.URL != "" &&
275+
if udpChecker.c.IsPreviewRequest &&
276276
tookMs != actualTookMs {
277277
t.Fatalf("%s: expected tookMs %v, but got %v", tt.name,
278278
tookMs, actualTookMs)
279279
}
280280
udpStatus := testBody["udp_status"].(string)
281-
if udpChecker.c.CheckTestRequest.URL != "" &&
281+
if udpChecker.c.IsPreviewRequest &&
282282
udpStatus != tt.expectedStatus {
283283
t.Fatalf("%s: expected udp_status %v, but got %v", tt.name,
284284
tt.expectedStatus, udpStatus)

0 commit comments

Comments
 (0)