Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
131 lines (118 loc) · 4.39 KB
/
Copy pathMakefile
File metadata and controls
131 lines (118 loc) · 4.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
MIN_WATCH_FREE_KB ?= 5242880
RUN_NOFILE ?= 65535
build:
cargo build 2>&1
run:
@cur=$$(ulimit -n); \
if [ "$$cur" -lt "$(RUN_NOFILE)" ]; then \
ulimit -n $(RUN_NOFILE) >/dev/null 2>&1 || true; \
fi; \
eff=$$(ulimit -n); \
echo "Starting runtime with RLIMIT_NOFILE=$$eff"; \
EDGE_RUNTIME_POOL_MAX_ISOLATES=64 \
EDGE_RUNTIME_POOL_GLOBAL_MAX_ISOLATES=128 \
EDGE_RUNTIME_POOL_MIN_FREE_MEMORY_MIB=0 \
EDGE_RUNTIME_CONTEXT_POOL_MAX_CONTEXTS=512 \
EDGE_RUNTIME_MAX_CONTEXTS_PER_ISOLATE=32 \
EDGE_RUNTIME_MAX_ACTIVE_REQUESTS_PER_CONTEXT=100 \
EDGE_RUNTIME_POOL_CAPACITY_WAIT_TIMEOUT_MS=500 \
EDGE_RUNTIME_POOL_CAPACITY_MAX_WAITERS=100000 \
cargo run start 2>&1
run-profile:
@cur=$$(ulimit -n); \
if [ "$$cur" -lt "$(RUN_NOFILE)" ]; then \
ulimit -n $(RUN_NOFILE) >/dev/null 2>&1 || true; \
fi; \
eff=$$(ulimit -n); \
echo "Starting runtime with RLIMIT_NOFILE=$$eff"; \
EDGE_RUNTIME_POOL_MAX_ISOLATES=64 \
EDGE_RUNTIME_POOL_GLOBAL_MAX_ISOLATES=128 \
EDGE_RUNTIME_POOL_MIN_FREE_MEMORY_MIB=0 \
EDGE_RUNTIME_CONTEXT_POOL_MAX_CONTEXTS=512 \
EDGE_RUNTIME_MAX_CONTEXTS_PER_ISOLATE=16 \
EDGE_RUNTIME_MAX_ACTIVE_REQUESTS_PER_CONTEXT=16 \
EDGE_RUNTIME_POOL_CAPACITY_WAIT_TIMEOUT_MS=500 \
EDGE_RUNTIME_POOL_CAPACITY_MAX_WAITERS=100000 \
cargo run start 2>&1
run-latency:
@cur=$$(ulimit -n); \
if [ "$$cur" -lt "$(RUN_NOFILE)" ]; then \
ulimit -n $(RUN_NOFILE) >/dev/null 2>&1 || true; \
fi; \
eff=$$(ulimit -n); \
echo "Starting runtime (latency profile) RLIMIT_NOFILE=$$eff"; \
EDGE_RUNTIME_POOL_MIN_ISOLATES=1 \
EDGE_RUNTIME_POOL_MAX_ISOLATES=64 \
EDGE_RUNTIME_POOL_GLOBAL_MAX_ISOLATES=128 \
EDGE_RUNTIME_POOL_MIN_FREE_MEMORY_MIB=0 \
EDGE_RUNTIME_CONTEXT_POOL_MAX_CONTEXTS=256 \
EDGE_RUNTIME_MAX_CONTEXTS_PER_ISOLATE=12 \
EDGE_RUNTIME_MAX_ACTIVE_REQUESTS_PER_CONTEXT=8 \
EDGE_RUNTIME_POOL_CAPACITY_WAIT_TIMEOUT_MS=100 \
EDGE_RUNTIME_POOL_CAPACITY_MAX_WAITERS=10000 \
cargo run start 2>&1
run-throughput:
@cur=$$(ulimit -n); \
if [ "$$cur" -lt "$(RUN_NOFILE)" ]; then \
ulimit -n $(RUN_NOFILE) >/dev/null 2>&1 || true; \
fi; \
eff=$$(ulimit -n); \
echo "Starting runtime (throughput profile) RLIMIT_NOFILE=$$eff"; \
EDGE_RUNTIME_POOL_MIN_ISOLATES=1 \
EDGE_RUNTIME_POOL_MAX_ISOLATES=64 \
EDGE_RUNTIME_POOL_GLOBAL_MAX_ISOLATES=128 \
EDGE_RUNTIME_POOL_MIN_FREE_MEMORY_MIB=0 \
EDGE_RUNTIME_CONTEXT_POOL_MAX_CONTEXTS=512 \
EDGE_RUNTIME_MAX_CONTEXTS_PER_ISOLATE=16 \
EDGE_RUNTIME_MAX_ACTIVE_REQUESTS_PER_CONTEXT=16 \
EDGE_RUNTIME_POOL_CAPACITY_WAIT_TIMEOUT_MS=500 \
EDGE_RUNTIME_POOL_CAPACITY_MAX_WAITERS=100000 \
cargo run start 2>&1
run-throughput-1k:
@cur=$$(ulimit -n); \
if [ "$$cur" -lt "$(RUN_NOFILE)" ]; then \
ulimit -n $(RUN_NOFILE) >/dev/null 2>&1 || true; \
fi; \
eff=$$(ulimit -n); \
echo "Starting runtime (throughput 1k profile) RLIMIT_NOFILE=$$eff"; \
EDGE_RUNTIME_POOL_MIN_ISOLATES=1 \
EDGE_RUNTIME_POOL_MAX_ISOLATES=1024 \
EDGE_RUNTIME_POOL_GLOBAL_MAX_ISOLATES=1024 \
EDGE_RUNTIME_POOL_MIN_FREE_MEMORY_MIB=0 \
EDGE_RUNTIME_CONTEXT_POOL_MAX_CONTEXTS=5024 \
EDGE_RUNTIME_MAX_CONTEXTS_PER_ISOLATE=12 \
EDGE_RUNTIME_MAX_ACTIVE_REQUESTS_PER_CONTEXT=6 \
EDGE_RUNTIME_POOL_CAPACITY_WAIT_TIMEOUT_MS=500 \
EDGE_RUNTIME_POOL_CAPACITY_MAX_WAITERS=100000 \
cargo run start 2>&1
check-watch-disk:
@free_kb=$$(df -Pk . | awk 'NR==2 {print $$4}'); \
if [ "$${free_kb}" -lt "$(MIN_WATCH_FREE_KB)" ]; then \
echo "Error: low disk space for watch build ($${free_kb}KB free)."; \
echo "Hint: run 'cargo clean' or remove old target artifacts before 'make watch'."; \
exit 1; \
fi
watch: check-watch-disk
cargo run watch --path ./examples/hello/hello.ts --format snapshot --inspect 9229
test-js:
cargo run -- test --path "./tests/js/**/*.ts" --ignore "./tests/js/lib/**" 2>&1
test-rust-fast:
cargo test-dev
test-rust-full:
cargo test-full
cargo test -p edge-server --lib -- --ignored
test:
cargo test-dev
cargo run -- test --path "./tests/js/**/*.ts" --ignore "./tests/js/lib/**" 2>&1
test-full:
$(MAKE) test-rust-full
cargo run -- test --path "./tests/js/**/*.ts" --ignore "./tests/js/lib/**" 2>&1
audit:
test "$$(date -u +%Y%m%d)" -le 20270917 || { echo "temporary advisory exceptions expired on 2027-09-17"; exit 1; }
cargo audit --ignore RUSTSEC-2023-0071 --ignore RUSTSEC-2026-0118 --ignore RUSTSEC-2026-0119 --ignore RUSTSEC-2026-0285
cargo deny check advisories
release:
cargo build --release 2>&1
cp target/release/thunder ./thunder
install: release
cp target/release/thunder /usr/local/bin/thunder