diff --git a/pkg/navi/metrics.go b/pkg/navi/metrics.go index 229d456..c7c7857 100644 --- a/pkg/navi/metrics.go +++ b/pkg/navi/metrics.go @@ -31,6 +31,10 @@ type RoadTraceError struct { } func (v *RoadMetrics) AddTrace(trace RoadTrace) { + if viper.GetBool("performance.low_memory") { + return + } + v.TotalTraffic++ trace.Timestamp = time.Now() if _, ok := v.Traffic[trace.Region]; !ok { @@ -48,12 +52,12 @@ func (v *RoadMetrics) AddTrace(trace RoadTrace) { // Garbage recycle if len(v.Traffic) > viper.GetInt("performance.traces_limit") { - v.Traffic = make(map[string]int64) + clear(v.Traffic) } if len(v.TrafficFrom) > viper.GetInt("performance.traces_limit") { - v.TrafficFrom = make(map[string]int64) + clear(v.TrafficFrom) } if len(v.Traces) > viper.GetInt("performance.traces_limit") { - v.Traces = v.Traces[1:] + clear(v.Traces) } } diff --git a/settings.toml b/settings.toml index de5fcd5..680a771 100644 --- a/settings.toml +++ b/settings.toml @@ -29,6 +29,7 @@ request_logging = true capture_traces = true [performance] +low_memory = true traces_limit = 256 prefork = false diff --git a/test/data/.gitignore b/test/data/.gitignore index babd63c..e700ca2 100644 --- a/test/data/.gitignore +++ b/test/data/.gitignore @@ -1,2 +1,3 @@ +/spa /capital /static-files \ No newline at end of file diff --git a/test/roadsign-spa/config/example.toml b/test/roadsign-spa/config/example.toml index 5fedd0c..44bfd5a 100644 --- a/test/roadsign-spa/config/example.toml +++ b/test/roadsign-spa/config/example.toml @@ -1,9 +1,9 @@ -id = "example" +id = "static-files" [[locations]] -id = "example-location" -host = ["localhost:8000"] -path = ["/"] +id = "static-files-loc" +hosts = ["localhost:8000"] +paths = ["/"] [[locations.destinations]] -id = "example-destination" -uri = "files://../data/spa?fallback=index.html" \ No newline at end of file +id = "static-files-des" +uri = "files://../data/spa?fallback=index.html" diff --git a/test/roadsign-spa/settings.toml b/test/roadsign-spa/settings.toml index c6ccfb3..ddcc90b 100644 --- a/test/roadsign-spa/settings.toml +++ b/test/roadsign-spa/settings.toml @@ -1,18 +1,21 @@ +id = "central-dc" + [debug] -print_routes = true +print_routes = false + +[sideload] +ports = [":81"] +secured_ports = [] +trusted_proxies = ["localhost"] [hypertext] -sideload_ports = [":81"] -sideload_secured_ports = [] ports = [":8000"] secured_ports = [] +force_https = false -[hypertext.certificate] -redirect = false -sideload_key = "./cert.key" -sideload_pem = "./cert.pem" -key = "./cert.key" -pem = "./cert.pem" +# [[hypertext.certificate]] +# key = "./certs/privkey.pem" +# pem = "./certs/fullchain.pem" [hypertext.limitation] max_body_size = 549_755_813_888 # 512 GiB @@ -21,11 +24,13 @@ max_qps = -1 [paths] configs = "./config" -[performance] +[telemetry] request_logging = true -network_timeout = 3_000 +capture_traces = true + +[performance] +traces_limit = 256 prefork = false [security] -sideload_trusted_proxies = ["localhost"] credential = "e81f43f32d934271af6322e5376f5f59" diff --git a/test/roadsign/config/static-files.toml b/test/roadsign/config/static-files.toml new file mode 100755 index 0000000..5927820 --- /dev/null +++ b/test/roadsign/config/static-files.toml @@ -0,0 +1,9 @@ +id = "static-files-num2" + +[[locations]] +id = "static-files-loc-num2" +hosts = ["127.0.0.1:8000"] +paths = ["/"] +[[locations.destinations]] +id = "static-files-des-num2" +uri = "files://../data/static-files"