Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8bc72a4
feat(stats): refactor stats handling to include caller IP and improve…
ruslanti Jul 31, 2026
43607a1
feat(stats): revert app_name parameter to new_stats_row
ruslanti Aug 21, 2026
dff3ef5
feat(stats): add cached read tracking to ReadStats and MeteredStore
ruslanti Aug 24, 2026
5e9ff8e
Add bounded retry with backoff for Redis read operations
ruslanti Sep 1, 2026
9e2d593
Merge pull request #579 from G-Core/ref/optimise-clickhouse-stats
ruslanti Sep 1, 2026
9b1356e
Merge pull request #611 from G-Core/feat/kv-read-cached-count
ruslanti Sep 1, 2026
43c7376
refactor: improve Redis scan_index function to use AsyncIter and enha…
ruslanti Sep 2, 2026
f5cd13c
Merge pull request #615 from G-Core/feat/redis-read-retry-backoff
ruslanti Sep 2, 2026
3edca81
refactor(metrics): extract Prometheus backend from fastedge-lib into …
ruslanti Sep 4, 2026
852772d
refactor(metrics): improve error labeling logic and ensure peak >= li…
ruslanti Sep 4, 2026
5fb9116
Add KV read cache, retry and latency metrics
ruslanti Sep 7, 2026
1a8f1a8
fix(http-service): preserve error chain so wasi-http timeouts return 532
ruslanti Sep 9, 2026
eb9a605
feat(metrics): consolidate app call metrics into unified `fastedge_ca…
ruslanti Sep 9, 2026
aed4ecc
fix(wasi-http): improve error handling for response tasks and logging
ruslanti Sep 9, 2026
7f5af1b
Merge pull request #629 from G-Core/fix/wasi-http-timeout-status
ruslanti Sep 10, 2026
90f2402
Merge pull request #630 from G-Core/EPX-298-proxywasm-accept-backlog-…
ruslanti Sep 10, 2026
e46db5a
feat(proxywasm): add cache support with new host functions and cache …
ruslanti Sep 14, 2026
d80dd4f
feat(metrics): add value cache metrics and improve lifecycle management
ruslanti Sep 15, 2026
6d86fa6
feat(kv-cache): enhance cache identity management with distinct store…
ruslanti Sep 15, 2026
1417f18
feat(kv-store): improve error handling and retry logic for Redis oper…
ruslanti Sep 16, 2026
2e55949
feat(runtime): reduce default cache TTL to 60 seconds
ruslanti Sep 16, 2026
924e823
feat(runtime): introduce epoch grace mechanism for improved timeout h…
ruslanti Sep 18, 2026
79dda4e
feat(runtime): refine app-call error classification with init-phase s…
ruslanti Sep 18, 2026
5ab352e
feat(runtime): add rebase mechanism for improved stall grace handling
ruslanti Sep 28, 2026
f16d69f
refactor(runtime): remove `epoch_grace` module and associated metrics
ruslanti Sep 29, 2026
20a2562
feat(access-log): per-request access log shipped via log sender
ruslanti Sep 22, 2026
970efc1
feat(runtime): upgrade Wasmtime to 48.0.0 and refactor HTTP hooks
ruslanti Sep 22, 2026
d136779
feat(runtime): add epoch refund for precise HTTP wait time accounting
ruslanti Sep 22, 2026
e0ed9ab
chore(deps): update Cargo.lock and workflows for dependency consisten…
ruslanti Sep 28, 2026
83e8c24
chore(runtime): upgrade Wasmtime to 48.0.2 and update dependency mana…
ruslanti Oct 1, 2026
af910ca
feat(stats): add support for excluding requests from specific User-Ag…
ruslanti Oct 5, 2026
26932d4
Merge pull request #639 from G-Core/ref/wasmtime-48
ruslanti Oct 6, 2026
dc6dd45
feat(wasi-nn): implement process-wide graph caching and preload mecha…
ruslanti Oct 2, 2026
ef3eca6
feat(runtime): enhance graph caching with process-wide registry and c…
ruslanti Oct 9, 2026
dbc35a6
feat(wasi-nn): detect in-place model updates and log graph loads
ruslanti Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ cargo run --bin fastedge-run -- http --port 8080 --wasm ./my_app.wasm
## Repository setup gotchas

- **WIT is vendored via git subtree.** `crates/reactor/wit/` contains the `FastEdge-wit` sources directly, so no `git submodule update` step is required after clone or branch switches. To sync it with upstream, run `git subtree pull --prefix=crates/reactor/wit https://github.com/G-Core/FastEdge-wit.git main --squash`.
- **Custom Wasmtime fork.** All `wasmtime-*` deps point at `github.com/G-Core/wasmtime.git#release-36.0.0`. `.cargo/config.toml` contains a commented-out `[patch]` block that redirects those to a local sibling `../wasmtime` checkout — uncomment when developing against a local Wasmtime tree.
- **Custom Wasmtime fork.** All `wasmtime-*` deps point at `github.com/G-Core/wasmtime.git#release-48.0.0`. The repo-root `.cargo/config.toml` carries a `[patch]` block redirecting `wasmtime`, `wasmtime-wasi`, `wasmtime-wasi-nn` and `wasmtime-wasi-http` to a local sibling `../wasmtime` checkout; `wasmtime-wasi-io` and `wasmtime-environ` are not patched, so a local tree must stay in sync with the pushed branch.
- **Wasm components vs core modules.** `componentize_if_necessary` (in `crates/runtime/src/lib.rs`) auto-wraps core modules using the bundled Preview1 adapter (`crates/runtime/src/adapters/wasi_snapshot_preview1.reactor.wasm`). Don't replace that adapter casually — it's pinned to the Wasmtime fork.

## Architecture
Expand Down Expand Up @@ -71,7 +71,7 @@ Every Wasmtime `Store` holds a `Data<T>` (in `crates/runtime/src/lib.rs`). It bu

## Crate features worth knowing

- `runtime`: `metrics` opts into Prometheus + lazy_static and propagates through `http-service/metrics`.
- `runtime`: no metrics backend is compiled in. App-call outcomes are reported through the `runtime::util::metrics` sink (`set_sink`), and live-instance counts through the plain atomics in `runtime::instances` (`live` / `flush_peak`); embedders (e.g. the FastEdge server) export them however they like. With no sink installed, reporting is a no-op.
- `key-value-store`: `redis` enables the Redis-backed implementation. `runtime` already turns this on; if you depend on `key-value-store` from elsewhere, opt in explicitly.
- `cache`: no features yet — backend choice is at runtime via the `Arc<dyn CacheBackend>` injected into `Data<T>`.

Expand Down
Loading
Loading