Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
8cd79b8
emit runtime events
raphael-proust Oct 13, 2025
300bfe0
demoing stall detector
raphael-proust Oct 13, 2025
f462038
stall detection demo: fix bugs, simplify things
raphael-proust Oct 13, 2025
8c66f74
stall detection: demo of attaching to existing lwt program
raphael-proust Oct 14, 2025
6011e30
events: cosmetics and tweaks
raphael-proust Oct 14, 2025
db63fda
stall detection: tweak
raphael-proust Oct 14, 2025
6e724a4
stall-detection: README and improved script
raphael-proust Oct 14, 2025
1409b9d
strip mutli-domain feature
raphael-proust Oct 14, 2025
5359f7c
ocaml.5.4 in CI workflow
raphael-proust Oct 14, 2025
2cda79e
relax ocaml version constraint to 5.1.0
raphael-proust Oct 14, 2025
2947b44
remove some leftover domain-related stuff
raphael-proust Oct 14, 2025
30e4f4d
stall-detector: tweaks and improvements
raphael-proust Oct 15, 2025
8985a41
runtime-events as optional dep (to be compatible with 4.14)
raphael-proust Oct 15, 2025
0924154
ppx: introduce runtime events on bind, plus tracing demo
raphael-proust Oct 16, 2025
91eb8eb
tail tracing demo: emit fuchsia trace
raphael-proust Oct 17, 2025
874ddd6
tracing: more principled simpler approach
raphael-proust Oct 18, 2025
de6715b
more tracing, use local store key for trace nameing
raphael-proust Oct 18, 2025
6c65bbe
add new lwt_runtime_events lib to workflow
raphael-proust Oct 20, 2025
dbf13b5
tracing: improvement, switch demo to json format
raphael-proust Oct 21, 2025
8a2a718
tracing: remove counters
raphael-proust Oct 21, 2025
1d851ff
tracing demo: remove unusued dependency
raphael-proust Oct 21, 2025
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
26 changes: 19 additions & 7 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,22 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- "4.14"
- "5.0"
- "5.1"
- "5.2"
- "5.3"
- "5.4"
libev:
- true
- false
include:
- os: ubuntu-24.04-arm
ocaml-compiler: "5.3"
ocaml-compiler: "5.4"
libev: false
- os: macos-latest
ocaml-compiler: "5.3"
ocaml-compiler: "5.4"
libev: false
- os: windows-latest
ocaml-compiler: "5.3"
ocaml-compiler: "5.4"
libev: false

runs-on: ${{ matrix.os }}
Expand All @@ -47,7 +46,7 @@ jobs:
"4.14"|"5.0")
:
;;
"5.1"|"5.2"|"5.3")
"5.1"|"5.2"|"5.3"|"5.4")
opampkgs="${opampkgs} ./lwt_ppx__ppx_let_tests.opam"
dunepkgs="${dunepkgs},lwt_ppx__ppx_let_tests"
;;
Expand All @@ -60,7 +59,7 @@ jobs:
"4.14")
:
;;
"5.0"|"5.1"|"5.2"|"5.3")
"5.0"|"5.1"|"5.2"|"5.3"|"5.4")
opampkgs="${opampkgs} ./lwt_direct.opam"
dunepkgs="${dunepkgs},lwt_direct"
;;
Expand All @@ -69,6 +68,19 @@ jobs:
exit 1
;;
esac
case ${{ matrix.ocaml-compiler }} in
"4.14"|"5.0"|"5.1"|"5.2"|"5.3")
:
;;
"5.4")
opampkgs="${opampkgs} ./lwt_runtime_events.opam"
dunepkgs="${dunepkgs},lwt_runtime_events"
;;
*)
printf "unrecognised version %s\n" "${{ matrix.ocaml-compiler }}";
exit 1
;;
esac
echo "opampkgs=${opampkgs}"
echo "opampkgs=${opampkgs}" >> "$GITHUB_OUTPUT"
echo "dunepkgs=${dunepkgs}"
Expand Down
12 changes: 10 additions & 2 deletions dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@
base-unix
(lwt (>= 6))))

(package
(name lwt_runtime_events)
(version 6.0.0~beta00)
(synopsis "Emit runtime events to trace the execution of Lwt programs")
(authors "Raphaël Proust")
(depends
(ocaml (>= 5.1))
))

(package
(name lwt)
(version 6.0.0~beta00)
Expand All @@ -77,10 +86,9 @@ synchronization primitives. Code can be run in parallel on an opt-in basis.
")
(depends
(ocaml (>= 4.14))
domain_shims
(cppo (and :build (>= 1.1)))
(ocamlfind (and :dev (>= 1.7.3-1)))
(odoc (and :with-doc (>= 2.3)))
dune-configurator
ocplib-endian)
(depopts base-threads base-unix conf-libev))
(depopts base-threads base-unix conf-libev lwt_runtime_events))
3 changes: 1 addition & 2 deletions lwt.opam
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,13 @@ bug-reports: "https://github.com/ocsigen/lwt/issues"
depends: [
"dune" {>= "3.15"}
"ocaml" {>= "4.14"}
"domain_shims"
"cppo" {build & >= "1.1"}
"ocamlfind" {dev & >= "1.7.3-1"}
"odoc" {with-doc & >= "2.3"}
"dune-configurator"
"ocplib-endian"
]
depopts: ["base-threads" "base-unix" "conf-libev"]
depopts: ["base-threads" "base-unix" "conf-libev" "lwt_runtime_events"]
dev-repo: "git+https://github.com/ocsigen/lwt.git"
build: [
["dune" "subst"] {dev}
Expand Down
32 changes: 32 additions & 0 deletions lwt_runtime_events.opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
version: "6.0.0~beta00"
synopsis: "Emit runtime events to trace the execution of Lwt programs"
maintainer: [
"Raphaël Proust <[email protected]>" "Anton Bachin <[email protected]>"
]
authors: ["Raphaël Proust"]
license: "MIT"
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"
depends: [
"dune" {>= "3.15"}
"ocaml" {>= "5.1"}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"
57 changes: 0 additions & 57 deletions src/core/domain_map.ml

This file was deleted.

38 changes: 0 additions & 38 deletions src/core/domain_map.mli

This file was deleted.

5 changes: 4 additions & 1 deletion src/core/dune
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
(public_name lwt)
(synopsis "Monadic promises and concurrent I/O")
(wrapped false)
(libraries domain_shims))
(libraries
(select lwt_rte.ml from
(lwt_runtime_events -> lwt_rte.with.ml)
(-> lwt_rte.without.ml))))

(documentation
(package lwt))
Loading
Loading