Skip to content

Commit 402d2a0

Browse files
committed
WIP
1 parent 1c8cf8b commit 402d2a0

File tree

3 files changed

+56
-2
lines changed

3 files changed

+56
-2
lines changed

.goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ builds:
1515
asmflags:
1616
- all=-trimpath={{.Env.GOPATH}}
1717
ldflags:
18-
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.telemetryReportPeriod=24h
18+
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.telemetryReportPeriod=15s
1919
main: ./cmd/gateway/
2020
binary: gateway
2121

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ NGINX_CONF_DIR = internal/mode/static/nginx/conf
88
NJS_DIR = internal/mode/static/nginx/modules/src
99
NGINX_DOCKER_BUILD_PLUS_ARGS = --secret id=nginx-repo.crt,src=nginx-repo.crt --secret id=nginx-repo.key,src=nginx-repo.key
1010
BUILD_AGENT=local
11-
TELEMETRY_REPORT_PERIOD = 24h # also configured in goreleaser.yml
11+
TELEMETRY_REPORT_PERIOD = 15s # also configured in goreleaser.yml
1212
GW_API_VERSION = 1.0.0
1313
INSTALL_WEBHOOK = false
1414

internal/mode/static/telemetry/collector_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"reflect"
88
"runtime"
9+
"strconv"
910

1011
. "github.com/onsi/ginkgo/v2"
1112
. "github.com/onsi/gomega"
@@ -273,6 +274,26 @@ var _ = Describe("Collector", Ordered, func() {
273274
},
274275
}
275276

277+
var boolFlag bool
278+
flagset.BoolVar(
279+
&boolFlag,
280+
"boolFlag",
281+
true,
282+
"boolean test flag",
283+
)
284+
intFlag := flagValue[int]{value: 8080}
285+
flagset.Var(
286+
&intFlag,
287+
"intFlag",
288+
"int test flag",
289+
)
290+
stringFlag := flagValue[string]{value: "string-flag"}
291+
flagset.Var(
292+
&stringFlag,
293+
"stringFlag",
294+
"string test flag",
295+
)
296+
276297
fakeGraphGetter.GetLatestGraphReturns(graph)
277298
fakeConfigurationGetter.GetLatestConfigurationReturns(config)
278299

@@ -285,6 +306,10 @@ var _ = Describe("Collector", Ordered, func() {
285306
Services: 3,
286307
Endpoints: 4,
287308
}
309+
expData.DeploymentFlagOptions = telemetry.DeploymentFlagOptions{
310+
FlagKeys: []string{"boolFlag", "intFlag", "stringFlag"},
311+
FlagValues: []string{"true", "default", "default"},
312+
}
288313

289314
data, err := dataCollector.Collect(ctx)
290315

@@ -673,3 +698,32 @@ var _ = Describe("Collector", Ordered, func() {
673698
})
674699
})
675700
})
701+
702+
// flagValue holds a generic value and implements the pflag.Value interface.
703+
type flagValue[T comparable] struct {
704+
value T
705+
}
706+
707+
func (v *flagValue[T]) String() string {
708+
switch val := any(v.value).(type) {
709+
case int:
710+
return strconv.Itoa(val)
711+
case string:
712+
return val
713+
}
714+
return ""
715+
}
716+
717+
func (v *flagValue[T]) Set(_ string) error {
718+
return nil
719+
}
720+
721+
func (v *flagValue[T]) Type() string {
722+
switch any(v.value).(type) {
723+
case int:
724+
return "int"
725+
case string:
726+
return "string"
727+
}
728+
return ""
729+
}

0 commit comments

Comments
 (0)