Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a2cb996
refactor(metrics): extract Prometheus backend from fastedge-lib into …
ruslanti Sep 4, 2026
2b1213b
refactor(metrics): improve error labeling logic and ensure peak >= li…
ruslanti Sep 4, 2026
8713004
Add KV read cache, retry and latency metrics
ruslanti Sep 7, 2026
f8376a5
fix(http-service): preserve error chain so wasi-http timeouts return 532
ruslanti Sep 9, 2026
72817c7
fix(wasi-http): improve error handling for response tasks and logging
ruslanti Sep 9, 2026
a0b0ab2
feat(metrics): consolidate app call metrics into unified `fastedge_ca…
ruslanti Sep 9, 2026
f458c5e
feat(proxywasm): add cache support with new host functions and cache …
ruslanti Sep 14, 2026
20520c7
feat(metrics): add value cache metrics and improve lifecycle management
ruslanti Sep 15, 2026
4bb22f3
feat(kv-cache): enhance cache identity management with distinct store…
ruslanti Sep 15, 2026
c8d6342
feat(kv-store): improve error handling and retry logic for Redis oper…
ruslanti Sep 16, 2026
04e81d7
feat(runtime): reduce default cache TTL to 60 seconds
ruslanti Sep 16, 2026
40e85f8
feat(runtime): introduce epoch grace mechanism for improved timeout h…
ruslanti Sep 18, 2026
0ae34c5
feat(runtime): refine app-call error classification with init-phase s…
ruslanti Sep 18, 2026
3b8224f
feat(runtime): add rebase mechanism for improved stall grace handling
ruslanti Sep 28, 2026
7fd5b41
refactor(runtime): remove `epoch_grace` module and associated metrics
ruslanti Sep 29, 2026
e17a0fe
feat(access-log): per-request access log shipped via log sender
ruslanti Sep 22, 2026
31a6214
feat(stats): add support for excluding requests from specific User-Ag…
ruslanti Oct 5, 2026
8c68c18
feat(runtime): upgrade Wasmtime to 48.0.0 and refactor HTTP hooks
ruslanti Sep 22, 2026
33b6033
feat(runtime): add epoch refund for precise HTTP wait time accounting
ruslanti Sep 22, 2026
693b2df
chore(runtime): upgrade Wasmtime to 48.0.2 and update dependency mana…
ruslanti Oct 1, 2026
0634673
chore(dependencies): update multiple crate versions in Cargo.lock
ruslanti Oct 9, 2026
fdae7ab
fix(runtime): consolidate timeout condition checks in error handling
ruslanti Oct 12, 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